Sem acesso à Internet em VMs na rede NAT no VirtualBox

10

Eu criei uma rede NAT no VirtulBox 5 no Ubuntu 14.04 LTS com as seguintes configurações

Nome de Natework: NatNetwrok1
Rede CIDR: 10.0.2.0/24
Suporte DHCP: ativado
Suporte IPv6: desativado
sem nenhum encaminhamento de porta

Além disso, tenho duas VMs (ambos os clones do Xubuntu), defini as configurações de rede para habilitar duas NICs em cada VM com as seguintes configurações em todos os quatro adaptadores:

Anexado a: “Rede NAT”
Nome: "NatNetwrok1"

Quando executo as duas VMs, posso ver as seguintes configurações na execução do comando ifconfig

resultados ifconfig no Xubuntu1

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 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:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

ifconfig resulta em Xubutracentu2

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 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:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

Ping entre esses 4 IPs funciona bem | Mas não consigo acessar a Internet em nenhuma dessas VMs
Enquanto se mudar de "Rede NAT" para "NAT", posso acessar a rede, mas parece que se tornou parte de uma rede virtual diferente, e eu não consigo fazer o ping deles uns dos outros. Alguém pode me ajudar a identificar e corrigir problemas?

Alguém também pode explicar a diferença entre NAT e NAT Network

    
por ehsan 11.08.2015 / 19:16

4 respostas

6

Eu corri para isso usando o VirtualBox 5.0.40 do repositório padrão do apt. Para contornar isso, configurei cada VM para usar duas interfaces de rede.

  • Adaptador 1: Bridge Addapter (para seu nic real)
  • Adaptador 2: Rede NAT (de sua escolha)

Sob o sistema operacional guets (Ubuntu 16.04), você precisará ajustar /etc/network/interfaces para que a segunda interface apareça. No meu caso, eu precisava de VMs para usar IPs estáticos dentro da rede NAT, então é isso que eu consegui.

## Bridge to Internet
auto enp0s3
iface enp0s3 inet dhcp

## NAT Network among VMs
## Static is optional
## DHCP if you don't need it
auto enp0s8
iface enp0s8 inet static
  address 10.10.11.100
  netmask 255.255.255.0

Isso, obviamente, pressupõe que minha rede NAT use a sub-rede 10.10.11.0/24 . Adapte os números ao seu cenário ou simplesmente deixe-os em dhcp, como desejar.

NOTA: Uma coisa importante a observar na configuração estática é que, para este cenário em particular, você NÃO PODE atribuí-lo a um gateway padrão. Dar enp0s8 a padrão (como 10.10.11.1) fará com que o sistema operacional crie uma rota para esse gateway e essa rota também pode estragar seu acesso à Internet. Você só precisa fazer isso quando essa interface específica precisar de rotas para outras redes, além daquelas configuradas para ela.

Para descobrir nomes de interface atribuídos pelo Ubuntu para o seu ambiente, você pode dmesg | grep eth .

    
por JulioHM 13.06.2017 / 20:01
5

Por que não está funcionando?

Em 16.04 (e provavelmente 14.04) o recurso NAT Network da versão principal empacotada do VirtualBox (5.0.36) é bugado .

Verifique!

Você mesmo pode verificar: se o executável ls /usr/lib/virtualbox/VBoxNetNAT estiver presente, você poderá ter outro tipo de problema.

Corrigir!

Este bug é corrigido em versões mais recentes. Então você deve instalar uma nova versão:

Remover versão antiga

Por exemplo, se você instalou usando apt , pode executar:

sudo apt remove virtualbox --auto-remove

Instalar nova versão

A correção está disponível para versões mais recentes (Ubuntu yakkety +). Para versões mais antigas:

  • Visite o site virtualbox.org e faça o download da versão mais recente manualmente
  • OU
  • Use o seguinte script:

    # add the official repository
    wget -q -O - https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo apt-key add -
    echo deb http://download.virtualbox.org/virtualbox/debian 'lsb_release -cs' non-free contrib | sudo tee /etc/apt/sources.list.d/virtualbox.org.list
    # install the newer version
    sudo apt install virtualbox-5.1
    
por MrMeszaros 20.04.2017 / 14:57
3

De acordo com o manual do VirtualBox, estas são as possibilidades de rede para suas VMs:

  • NAT: Rede interna entre a VM e o host. Além disso, você pode acessar a Internet. Duas ou mais VMs no modo NAT não possuem conectividade entre elas, apenas com o host e a Internet.

  • Interno: Todas as VMs com essa configuração terão conectividade entre elas, mas não com o host nem com a Internet.

  • Somente host: Será criada uma rede virtual entre o host e todas as VMs com essa configuração, mas você não terá acesso à Internet.

  • Rede NAT: Você pode acessar todas as VMs na mesma rede NAT predefinida e no host, mas não poderá se conectar à Internet.

  • Bridged: Sua VM estará na mesma rede que seu host como se fosse outro computador / servidor nessa rede e, portanto, terá acesso à Internet se seu host tiver .

  • Genérico: configuração avançada e mais específica raramente usada.

Portanto, se você deseja criar uma rede interna com conectividade com o host, escolha NAT Network, mas observe que não terá acesso à Internet. O NAT é definido apenas quando você quer apenas o acesso à Internet da sua VM e nada mais.

No entanto, nenhuma dessas configurações é aceitável se você deseja ter conectividade entre as duas VMs e a Internet. Até onde eu sei, sua única escolha é configurar ambas as VMs no modo de ponte, para que elas sejam computadores 'diferentes' na rede do seu host e você conseguirá executar o ping de todos eles e da Internet de qualquer um deles.

Por outro lado, parece que você clonou uma VM da outra porque ambas as máquinas têm o mesmo endereço MAC ( HWaddr nas informações do comando ifconfig), esteja ciente de que você deve marcar a caixa de seleção lê " Reinicialize o endereço MAC de todas as placas de rede " ao clonar. Dois dispositivos com o mesmo endereço MAC sempre criam problemas.

Eu não sou especialista em VirtualBox, então talvez outros usuários possam lhe dizer outras configurações possíveis para conseguir o que você quer. Espero que você ache esta informação útil.

Para mais informações, leia este .

    
por Pablo288 12.09.2016 / 13:21
2

Isso pode ser um bug no VirtualBox. Eu experimentei o mesmo (Ubuntu 16.04.2 LTS, VirtualBox 5.0.32_Ubuntu r112930): Configure uma rede NAT, configurada para duas VMs Ubuntu. Cada VM poderia fazer ping / SSH para o outro, e através de encaminhamentos de porta eu poderia SSH do host em cada VM. Mas sem acesso à Internet de dentro das VMs. Um colega tentou o mesmo com um host do Windows, o VirtualBox (versão desconhecida) e as mesmas VMs, e funcionou.

Como solução alternativa, configurei uma segunda placa de rede para cada VM: a primeira usando NAT para acessar a Internet, a segunda usando "Rede NAT" para acessar os outros convidados. Eu tive que configurar o encaminhamento de porta SSH na primeira placa (NAT) e configurar uma porta SSH diferente em uma VM (ou seja, 2222 - > 22 na VM1, 2223 - > 23 na VM2).

Com base na documentação , as redes NAT e NAT devem poder acessar a Internet. A diferença é que o primeiro segregou as conexões host ↔ guest, de modo que os convidados não podem acessar um ao outro, apenas o host. O último agrupa todos os hóspedes em uma única rede (e fornece serviços como o DHCP), para que possam acessar uns aos outros.

    
por Ingo Karkat 22.03.2017 / 20:52