O Hyper-V Ubuntu não pode se conectar à Internet via adaptador de rede externo se ele também tiver um adaptador de rede interno

2

Eu tenho um servidor Ubuntu 14.04 em execução como uma VM do Hyper-V. Tem um adaptador virtual externo e um adaptador virtual interno conectado a ele.

O adaptador externo eth0 obtém um ip de 192.168.1.x dinamicamente atribuído enquanto seu adaptador interno eth1 recebe um ip estático de 192.168.1.109 atribuído.

    eth0      Link encap:Ethernet  HWaddr 00:15:5d:01:17:30
      inet addr:192.168.1.254  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::215:5dff:fe01:1730/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:31 errors:0 dropped:0 overruns:0 frame:0
      TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:11926 (11.9 KB)  TX bytes:1332 (1.3 KB)

    eth1      Link encap:Ethernet  HWaddr 00:15:5d:01:17:29
      inet addr:192.168.1.109  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::215:5dff:fe01:1729/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:14 errors:0 dropped:0 overruns:0 frame:0
      TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:1359 (1.3 KB)  TX bytes:2286 (2.8 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:33 errors:0 dropped:0 overruns:0 frame:0
      TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:2888 (2.8 KB)  TX bytes:2888 (2.8 KB)

Como este é um laptop, geralmente o levo a lugares sem roteador para se conectar. Sem roteador, o adaptador externo não funciona. O propósito para o adaptador interno é para que eu possa mapear em meus hosts um ip consistente (192.168.1.109) para um domínio (ubuntu.local) que existe no Ubuntu VM. Dessa forma, eu sempre posso me conectar ao ubuntu.local através do mesmo ip, independentemente de eu ter ou não um roteador para me conectar.

A solução de adaptador interno funciona muito bem. O problema (eu acho) é que quando o Ubuntu VM tem o adaptador interno conectado, ele tenta usá-lo para se conectar à internet ao invés do adaptador externo. Como uma nota: Eu só realmente preciso de acesso à internet para atualizar o ubuntu e adicionar pacotes.

sudo apt-get update falha e não consigo pingar google.com ou qualquer outro site:

    ping google.com
    ping: unknown host google.com

Eu tentei compartilhar a conexão do adaptador virtual externo com o adaptador virtual interno, mas não funcionou. Eu tentei mudar o adaptador interno para ser eth0 e o externo para ser eth1 em / etc / network / interfaces sem sorte. Eu tentei uma solução equivocada envolvendo um roteador virtualizado Hyper-V (baseado em DD-WRT) em 192.168.2.1 que atribuiu o Ubuntu VM um ip estático de 192.168.2.109. Tudo funcionou, mas ainda não resolveu este problema em particular - não foi possível pingar nenhum endereço e não conseguiu atualizar.

Eu acho que o que precisa acontecer é que eu preciso mudar a prioridade que a VM do Ubuntu usa seus adaptadores de rede, mas não consigo descobrir como fazer isso.

Alguém tem algum insight sobre esse problema? Eu gostaria de pelo menos saber se estou indo na direção certa com a depuração deste problema.

    
por Steve Karwacki 09.04.2016 / 12:38

2 respostas

0

Isso deve funcionar em um Windows, não sei sobre o Ubuntu.

Basta remover o endereço IP do gateway padrão da placa de rede interna, isso fará com que o sistema operacional saiba que essa placa de rede não é roteável.

    
por 21.04.2016 / 11:57
0

O problema é que você usou a mesma sub-rede para a rede externa e a rede interna. A máquina pode então presumir corretamente que os dois adaptadores estão realmente conectados à mesma rede e usar um deles para chegar ao gateway.

Como esse não é o caso, e as redes são diferentes, elas devem usar endereços IP em sub-redes diferentes.

A solução é renumerar uma ou ambas as redes virtuais.

    
por 21.04.2016 / 18:55