是的,他们会说话。
您需要一个连接到这两个网络的路由器(第三个节点)。
路由器充当(迷你)互联网:
A=[192.168.1.3] <=> [*.*.1.1]=router=[*.*.2.1] <=> [192.168.2.3]=B
详情
最简单的方法是将路由器角色分配给物理主机,因为它在这两个网络上都有 IP 地址(我猜在您的示例中它们是 192.168.1.1 和 192.168.2.1)。否则,它们只是数字,如果 Vagrant 没有抱怨,网络也将使用公共范围的 IP 地址运行(请注意断开物理网络以进行干净测试)。
注意:从技术上讲,由于网络使用私有 IP 地址,它们在 Internet 上不可路由(AFAIK,真正的 Internet 路由器丢弃具有这些私有 IP 地址的数据包,而家庭路由器对它们进行 NAT)。
工作Vagrant 文件
使用libvirt 提供程序的测试示例。
请注意,VM 连接到两个不同的网络。
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provider "libvirt"
config.vm.define "rhel7_minion" do |rhel7_minion|
rhel7_minion.vm.box = "uvsmtid/centos-7.1-1503-gnome"
rhel7_minion.vm.synced_folder '.', '/vagrant', disabled: true
rhel7_minion.vm.network 'private_network',
:libvirt__network_name => 'primary_vagrant_private_net',
ip: '192.168.1.2',
:libvirt__netmask => '255.255.255.0',
:libvirt__forward_mode => 'route',
:libvirt__dhcp_enabled => true
end
config.vm.define "rhel5_minion" do |rhel5_minion|
rhel5_minion.vm.box = "uvsmtid/centos-5.5-minimal"
rhel5_minion.vm.synced_folder '.', '/vagrant', disabled: true
rhel5_minion.vm.network 'private_network',
:libvirt__network_name => 'secondary_vagrant_private_net',
ip: '192.168.2.3',
:libvirt__netmask => '255.255.255.0',
:libvirt__forward_mode => 'route',
:libvirt__dhcp_enabled => true
end
end