「沒有到主機的路由」:了解 Vagrant VM 之間的網絡

「沒有到主機的路由」:了解 Vagrant VM 之間的網絡

我想要一對虛擬機,它們之間有網路。我製作了以下 Vagrantfile

VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.define :alpha do |alpha|
    alpha.vm.box = "centos-6.4"
    alpha.vm.network :private_network, ip: "192.168.50.2"

    alpha.vm.provision "shell", inline: "yum install -y nc"
  end

  config.vm.define :beta do |beta|
    beta.vm.box = "centos-6.4"
    beta.vm.network :private_network, ip: "192.168.50.10"
    beta.vm.provision "shell", inline: "yum install -y nc"
  end
end

起初,我以為一切正常,因為我可以做

流浪者 ssh 阿爾法

進而

平 192.168.50.10

或者

SSH 192.168.50.10

這些都有效。但看起來確實如此僅有的這兩個操作有效。如果我有 beta 監聽連接埠 3000 並嘗試連接到它,我不能:

$ ssh -p3000 192.168.50.10
ssh: connect to host 192.168.50.10 port 3000: No route to host

我怎樣才能得到它全部流量可以在兩台虛擬機器之間傳遞嗎?

我有 VirtualBox 4.2.18 作為提供者和 Vagrant 1.3.3

編輯:經過更多實驗後,我可以僅在 VirtualBox 上使用 CentOS 重現這一點,如果我將基礎盒更改為 Ubuntu 的,我會這樣做不是遇到這個問題(沒有對 Vagrantfile 進行其他更改)。這是 VirtualBox 上 CentOS 的網路問題嗎?

答案1

事實證明,這只是基礎盒子上的 iptables 絆倒了我。關閉此功能(service iptables stop暫時停用防火牆)允許我在兩台機器之間路由。

相關內容