Vagrant 让两个流浪的虚拟机通信

Vagrant 让两个流浪的虚拟机通信,vagrant,Vagrant,我环顾四周,寻找一个似乎很简单的问题的解决方案,但还没有找到答案 我有一个Vagrant文件,它定义了两个VM: Vagrant.configure("2") do |config| config.vm.define :box1 do |config| config.vm.box = "hashicorp/precise32" config.vm.hostname = "box1" config.vm.network "private_network", ip: "1

我环顾四周,寻找一个似乎很简单的问题的解决方案,但还没有找到答案

我有一个Vagrant文件,它定义了两个VM:

Vagrant.configure("2") do |config|
  config.vm.define :box1 do |config|
    config.vm.box = "hashicorp/precise32"
    config.vm.hostname = "box1"
    config.vm.network "private_network", ip: "192.168.0.21"
    config.vm.provision :hosts
  end

  config.vm.define :box2 do |config|
    config.vm.box = "hashicorp/precise32"
    config.vm.hostname = "box2"
    config.vm.network "private_network", ip: "192.168.0.22"
    config.vm.provision :hosts
  end
end
因此,我对这一点的理解是,我将为每个框提供自己的IP地址,然后运行
hosts
provisioner(由提供)。从流浪汉医生那里,我只需要做这些

然而:

$ vagrant ssh box1 -c 'ping 192.128.0.22'
PING 192.168.0.22 (192.168.0.22) 56(84) bytes of data.
From 192.168.0.21 icmp_seq=1 Destination Host Unreachable
From 192.168.0.21 icmp_seq=2 Destination Host Unreachable
From 192.168.0.21 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.0.22 ping statistics ---
6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5031ms
pipe 3
Connection to 127.0.0.1 closed.

就我而言,我不知道如何让两个虚拟机相互通信。我缺少什么?

默认情况下,Vagrant对来宾VM实例使用NAT网络

您需要更改VM配置以将其更改为桥接网络(最简单的),或者创建虚拟网络交换机以允许您正在使用的任何虚拟机监控程序提供程序的VM间通信(或类似的通信)。这因提供者而异,流浪汉似乎不直接支持这一点

事实上,官方的Vagrant文档似乎并不表示支持桥接网络,而是允许您配置公共网络。这些可能比你需要/想要的要多,但值得的是: