«Нет маршрута к хосту»: понимание сетевого взаимодействия между виртуальными машинами Vagrant

«Нет маршрута к хосту»: понимание сетевого взаимодействия между виртуальными машинами Vagrant

Я хотел бы иметь пару виртуальных машин с сетью между ними. Я сделал следующий 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

или

сш 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

Редактировать:После дополнительных экспериментов я могу воспроизвести это с CentOS только на VirtualBox, а если я изменю базовую версию на Ubuntu, то янетесть эта проблема (без других изменений в Vagrantfile). Это проблема с сетью с CentOS на VirtualBox?

решение1

Оказалось, что это просто iptables на базовой коробке сбили меня с толку. Отключение этого ( service iptables stopдля временного отключения брандмауэра) позволило мне маршрутизировать между двумя машинами.

Связанный контент