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.
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.
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.
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.