设置多个虚拟机,它们可以相互通信,也可以与其他物理主机通信
Setting up multiple virtual machines, that can all talk to each other, as well as other physical hosts
我正在尝试如下设置服务器环境:
- 物理主机:(192.168.0.106)
- 笔记本电脑:(192.168.0.130)
在主机上,我正在尝试使用 vagrant 设置 2 个虚拟机
- 虚拟机 1 (VM_IP_1)。 Vagrant 设置为端口转发 5555:8080。这台机器将 运行 在端口 8080
上连接某种网络服务器
- 虚拟机 2 (VM_IP_2)。
我正在努力完成以下任务:
- 我希望能够从物理主机打开网络浏览器,导航到 VM_IP_1:5555,然后连接到网络服务器,显示一些网页
- 我希望能够从笔记本电脑打开网络浏览器,导航到 VM_IP_1:5555,然后连接到网络服务器,显示一些网页(与 1 相同)
- 从虚拟机 2,我希望能够打开网络浏览器,导航到 VM_IP_1:5555,然后连接到网络服务器,显示一些网页(与 1 相同)。
这可能吗?我花了过去 2 天时间进行修补,尝试使其自动化,但没有成功。
基本上,我想模拟一个由 Web 服务器、负载平衡器、数据库等组成的重要网络架构。我希望能够像我的单个强大服务器模拟网络一样进行测试(即它将 运行 4 个虚拟机)但也具有我的流浪自动化的灵活性和可重用性,能够部署到生产环境中(2 个强大的服务器,每个 运行 宁 2 个虚拟机,总共 4 个)
每个人都应该能够与每个人通信(假设我正确转发了端口 - 路由表)
这是我一直在玩的 VagrantFiles。尝试使用 private_network 但我认为那不对。有 Host Only
,但我也不认为那是对的我在想也许我需要从 VM 2 进行某种反向 port_forwarding
。但这听起来不对。
VagrantFile VM 1
config.vm.network 'public_network', ip: '192.168.0.140'
config.vm.network 'forwarded_port', guest: 8080, host: 5555
VagrantFile VM 2
config.vm.network 'public_network', ip: '192.168.0.150'
编辑:正如我发现的那样,似乎 forwarded_port
在使用 'public_network'
时几乎毫无用处。我不确定我是否 100% 理解为什么,但是如果我从端口 5555 更改为 8080
,我可以按照上面概述的方式执行所有操作
我通常与 private network
一起工作来实现这一点,我不确定你为什么这么说。
This 是一个带有负载均衡器和 2 个应用程序服务器(运行 节点)的 3 VM 设置的快速示例,因此您可以理解。
专用网络只是一个 virtualbox internal network 比桥接网络(即 vagrant public 网络)更安全的网络
无论如何使用静态 IP 都是您的选择,我很高兴您认为使用静态 IP 时不需要转发端口(我已经 too 等等)
我正在尝试如下设置服务器环境:
- 物理主机:(192.168.0.106)
- 笔记本电脑:(192.168.0.130)
在主机上,我正在尝试使用 vagrant 设置 2 个虚拟机
- 虚拟机 1 (VM_IP_1)。 Vagrant 设置为端口转发 5555:8080。这台机器将 运行 在端口 8080 上连接某种网络服务器
- 虚拟机 2 (VM_IP_2)。
我正在努力完成以下任务:
- 我希望能够从物理主机打开网络浏览器,导航到 VM_IP_1:5555,然后连接到网络服务器,显示一些网页
- 我希望能够从笔记本电脑打开网络浏览器,导航到 VM_IP_1:5555,然后连接到网络服务器,显示一些网页(与 1 相同)
- 从虚拟机 2,我希望能够打开网络浏览器,导航到 VM_IP_1:5555,然后连接到网络服务器,显示一些网页(与 1 相同)。
这可能吗?我花了过去 2 天时间进行修补,尝试使其自动化,但没有成功。
基本上,我想模拟一个由 Web 服务器、负载平衡器、数据库等组成的重要网络架构。我希望能够像我的单个强大服务器模拟网络一样进行测试(即它将 运行 4 个虚拟机)但也具有我的流浪自动化的灵活性和可重用性,能够部署到生产环境中(2 个强大的服务器,每个 运行 宁 2 个虚拟机,总共 4 个)
每个人都应该能够与每个人通信(假设我正确转发了端口 - 路由表)
这是我一直在玩的 VagrantFiles。尝试使用 private_network 但我认为那不对。有 Host Only
,但我也不认为那是对的我在想也许我需要从 VM 2 进行某种反向 port_forwarding
。但这听起来不对。
VagrantFile VM 1
config.vm.network 'public_network', ip: '192.168.0.140'
config.vm.network 'forwarded_port', guest: 8080, host: 5555
VagrantFile VM 2
config.vm.network 'public_network', ip: '192.168.0.150'
编辑:正如我发现的那样,似乎 forwarded_port
在使用 'public_network'
时几乎毫无用处。我不确定我是否 100% 理解为什么,但是如果我从端口 5555 更改为 8080
我通常与 private network
一起工作来实现这一点,我不确定你为什么这么说。
This 是一个带有负载均衡器和 2 个应用程序服务器(运行 节点)的 3 VM 设置的快速示例,因此您可以理解。
专用网络只是一个 virtualbox internal network 比桥接网络(即 vagrant public 网络)更安全的网络
无论如何使用静态 IP 都是您的选择,我很高兴您认为使用静态 IP 时不需要转发端口(我已经