VirtualBox: duas interfaces de rede (NAT e somente host) em um convidado Debian no Ubuntu

43

Eu criei uma máquina virtual Debian no VirtualBox com duas interfaces: uma NAT (para acessar a internet) e uma somente para host. No entanto, não sei como fazer as duas interfaces funcionarem ao mesmo tempo. Se eu definir o host somente como o adaptador 1, posso acessar minha VM do host, mas não da internet; se eu definir o NAT como adaptador 1, posso acessar a internet, mas não consigo acessar meu guest Debian.

Então, como eu poderia fazer as duas interfaces funcionarem juntas?

Observação : Eu ainda estou tentando mapear alguma porta do meu host para a porta SSH do meu convidado SO, então não há necessidade de sugerir que eu faça isso:)

EDIT : Esta é a saída de ifconfig quando o primeiro adaptador é o somente host :

eth0      Link encap:Ethernet  HWaddr 08:00:27:f6:b2:45  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef6:b245/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:495 errors:0 dropped:0 overruns:0 frame:0
          TX packets:206 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:48187 (47.0 KiB)  TX bytes:38222 (37.3 KiB)

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:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

Esta é a saída de netstat -nr quando o primeiro adaptador é o somente host :

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.56.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0

Esta é a saída de ifconfig quando o primeiro adaptador é o NAT :

eth0      Link encap:Ethernet  HWaddr 08:00:27:f6:b2:45  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef6:b245/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:53 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6076 (5.9 KiB)  TX bytes:5526 (5.3 KiB)

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:16436  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1664 (1.6 KiB)  TX bytes:1664 (1.6 KiB)

Esta é a saída de netstat -nr quando o primeiro adaptador é o NAT :

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         10.0.2.2        0.0.0.0         UG        0 0          0 eth0
    
por brandizzi 23.04.2012 / 16:43

4 respostas

43

A solução era bem simples: eu tinha que adicionar as seguintes linhas no arquivo /etc/network/interfaces do máquina virtual :

allow-hotplug eth1
iface eth1 inet dhcp

A segunda linha instrui a interface para obter um IP via DHCP. A primeira linha carrega a interface no momento da inicialização.

Para aplicar as alterações a um sistema em execução, invoque:

ifup eth1

O nome da interface eth1 pode variar, use ifconfig -a para listar todas as interfaces disponíveis.

EDITAR : total /etc/network/interfaces :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp
    
por 24.04.2012 / 20:58
10

Eu estava enfrentando problemas semelhantes com minha VM Ubuntu 14.04, e a solução sugerida por @brandizzi para o Debian funcionou com poucas mudanças.

EDIT: file /etc/network/interfaces:


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

Para UBUNTU 16.04

Executar comando

ifconfig -a

Procure uma nova interface, como no meu caso, é 'enp0s8'

EDIT file /etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp

auto enp0s8
iface enp0s8 inet dhcp  
    
por 07.03.2017 / 19:08
3

O adaptador deve ser configurado no Debian

Parece que em ambos os casos você tem apenas um adaptador configurado, daí o seu problema.

Crie 2 adaptadores na configuração do VirtualBox da sua VM e, em seguida, inicie-a. Se você ver apenas um adaptador configurado ao usar ifconfig (uma única eth0, não eth1 também), então você deve usar a ferramenta de configuração de rede para o Debian (Network Manager, ifupdown, etc.) para configurar ambas as interfaces no DHCP. Então você deve ter eth0 e eth1 no DHCP.

    
por 24.04.2012 / 15:54
0

Verifique se você está usando sub-redes de espaços de endereços particulares separadas para cada interface.

Então, por exemplo, para a interface que é NAT, você poderia usar um endereço no espaço 192.168.0.0/16.

A interface que é 'somente host' pode estar no espaço 10.0.0.0/24.

    
por 23.04.2012 / 17:04