“无主机路由”:了解Vagrant虚拟机之间的联网


5

我想要一对在它们之间有网络的虚拟机。我制作了以下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 alpha

然后

ping 192.168.50.10

要么

ssh 192.168.50.10

这些都有效。但看起来实际上只有那两个操作才有效。如果我在端口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

编辑:经过更多的实验,我可以单独使用CentOS上的CentOS重现这一点,如果我将基本框更改为Ubuntu,我没有这个问题(没有对Vagrantfile进行其他更改)。这是与VirtualBox上的CentOS联网的问题吗?

Answers:


5

原来这只是基盒上的iptables绊倒了我。关闭它(service iptables stop暂时禁用防火墙)允许我在两台机器之间进行路由。


1
对于较新的版本,请尝试systemctl stop firewalld.service
TheFiddlerWins
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.