Похоже, что у меня много подобных проблем, но пока что ни одно из них не помогло.
У меня есть ubuntu-xenial, на котором мое приложение прослушивает порт 3333. И я хотел бы, чтобы эта виртуальная машина была доступна из внешнего мира. Для этого я создал общедоступную сеть в моем бродячем файле. Вот мой бродячий файл.
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
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)
Теперь, вот моя проблема, у меня есть 2 сетевых интерфейса Ethernet enp0s3 и enp0s8 с разными ips. enp0s3 создается по умолчанию, поэтому даже если я не создаю свою публичную сеть, enp0s3 все еще существует.
Я могу получить доступ к своему виртуальному компьютеру с ip 192.168.0.17 (enp0s8) совершенно нормально, но я не могу получить доступ к своему виртуальному компьютеру с 10.0.2.15 (enp0s3). Поскольку сетевой интерфейс enp0s3 для меня бесполезен, как мне его убрать?
Когда я пытаюсь найти решение здесь (Как заставить Vagrant иметь единый мостовой сетевой интерфейс), я не могу войти в виртуальную машину ssh.
Причина, по которой мне нужен сетевой интерфейс enp0s3, заключается в том, что на моем хосте запущена другая программа, которая сканирует сеть и возвращает все ips устройства в сети. Он всегда возвращает 10.0.2.15 для виртуальной машины. Когда я действительно хочу 192.168.0.17