Force vm vagrant para ter interface única em ponte

0

Parece haver muitos problemas semelhantes aos meus, mas nenhuma solução funcionou até agora.

Eu tenho um ubuntu-xenial executando meu aplicativo ouvindo na porta 3333. E eu gostaria que essa VM fosse acessível do mundo externo. Para fazer isso, eu criei uma rede pública no meu arquivo vagrant. Aqui está o meu arquivo vagabundo.

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 na VM se parece com isso

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)

Agora, aqui está o meu problema, eu tenho 2 interfaces de rede ethernet enp0s3 e enp0s8 com ips diferentes. O enp0s3 é criado por padrão, portanto, mesmo que eu não crie minha rede pública, o enp0s3 ainda existe.

Eu consigo acessar meu vm com o ip 192.168.0.17 (enp0s8) totalmente bem, mas não consigo acessar meu vm com 10.0.2.15 (enp0s3). Como a interface de rede enp0s3 é inútil para mim, como faço para retirá-la?

Quando eu tento a solução aqui ( Como forçar o Vagrant a ter uma única interface de rede em ponte , não consigo fazer o ssh na vm.

A razão pela qual eu precisei da interface de rede enp0s3 foi que eu tenho outro programa em execução no meu host que varre a rede e retorna todos os ips do dispositivo na rede. Ele sempre retorna 10.0.2.15 para a máquina virtual. Quando eu realmente quero 192.168.0.17

    
por SomeGuyFortune 13.03.2018 / 18:59

0 respostas