私と同じような問題がたくさんあるようですが、これまでのところ解決策はありません。
私は自分のアプリケーションを実行しているポート3333でリスニングしているubuntu-xenialを持っています。そして私はこのVMが外の世界からアクセス可能であることを望みます。これを行うには、私は私のvagrantファイルにパブリックネットワークを作成しました。これが私のvagrantファイルです。
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id,'--memory', '2048']
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
config.vm.network "public_network", ip:"192.168.0.17", bridge: "en0: Wi-Fi (AirPort)"
config.ssh.forward_agent = true
end
VMのifconfigはこのように見えます
enp0s3 Link encap:Ethernet HWaddr 02:f4:1f:34:da:68
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::f4:1fff:fe34:da68/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1461 errors:0 dropped:0 overruns:0 frame:0
TX packets:914 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:374409 (374.4 KB) TX bytes:114458 (114.4 KB)
enp0s8 Link encap:Ethernet HWaddr 08:00:27:e5:7f:3d
inet addr:192.168.0.17 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fee5:7f3d/64 Scope:Link
inet6 addr: fd44:dcec:a817:0:a00:27ff:fee5:7f3d/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2440 (2.4 KB) TX bytes:1602 (1.6 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:112 (112.0 B) TX bytes:112 (112.0 B)
今、ここに私の問題は、私は異なるIPアドレスを持つ2つのイーサネットネットワークインターフェースenp0s3とenp0s8を持っています。 enp0s3はデフォルトで作成されるので、たとえ私が私のパブリックネットワークを作成しなくても、enp0s3はまだ存在します。
ip 192.168.0.17(enp0s8)で私のvmにアクセスできますが、10.0.2.15(enp0s3)ではvmにアクセスできません。 enp0s3ネットワークインターフェースは私には役に立たないので、どうやって取り出すのですか?
私がここで解決策を試すとき Vagrantに単一のブリッジされたネットワークインターフェースを持たせる方法 )、私はVMにsshすることができません。
私が行ったenp0s3ネットワークインターフェースが必要な理由は、私はネットワークをスキャンしてネットワーク上のすべてのデバイスIPアドレスを返す別のプログラムが私のホスト上で走っているということです。仮想マシンに対しては常に10.0.2.15が返されます。私は本当に192.168.0.17が欲しいとき