
2つの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
最初はうまくいっていると思ったのですが、
vagrant ssh アルファ
その後
192.168.50.10にpingする
または
192.168.50.10 のSSH接続
どちらもうまくいきます。しかし、実際にはのみこれら 2 つの操作は機能します。ベータ版をポート 3000 で listen させて接続しようとすると、次の操作は実行できません。
$ ssh -p3000 192.168.50.10
ssh: connect to host 192.168.50.10 port 3000: No route to host
どうすればそれができるのか全て2 つの VM 間でトラフィックを通過できますか?
プロバイダーとしてVirtualBox 4.2.18、Vagrant 1.3.3を使用しています。
編集:さらに実験してみると、CentOS on VirtualBoxだけでこれを再現でき、ベースボックスをUbuntuのものに変更すると、ないこの問題が発生しています (Vagrantfile に他の変更はありません)。これは、VirtualBox 上の CentOS でのネットワークの問題ですか?
答え1
結局、これはベース ボックスの iptables が邪魔をしているだけだったことがわかりました。これをオフにすると (service iptables stop
ファイアウォールを一時的に無効にするため)、2 台のマシン間でルーティングできるようになりました。