Adaptador somente para host NAT + Virtualbox

2

Meu host é o Ubuntu 12.04 e guest é um squeeze Debian (servidor LAMP). Eu quero permitir que o host conecte o convidado. e permitir que o convidado conecte a internet. O convidado não deve ser ativado de fora. Essa é a razão pela qual eu não uso bridge de rede. Eu quero configurar um IP estático para o host. Eu segui este tutorial .

Então, executei estas etapas, mas não consigo me conectar por meio de ssh do host ao convidado. Não consigo chamar o servidor via navegador. ping funciona no entanto!

Eu criei um adaptador de rede virtual somente para host ( vboxnet0 ) com as seguintes configurações:

IPv4-Adress: 192.168.56.1
IPv4-Netmask: 255.255.255.0

ifconfig no host do Ubuntu mostra isso:

eth0      Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX  
          inet Adresse:192.168.2.100  Bcast:192.168.2.255  Maske:255.255.255.0
          inet6-Adresse: XXXX:XXX:XXXX:XXXX:X:X/XX Gültigkeitsbereich:Global


vboxnet0  Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX  
          inet Adresse:192.168.56.1  Bcast:192.168.56.255  Maske:255.255.255.0
          inet6-Adresse: XXXX:XXX:XXXX:XXXX:X:X/XX Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10069 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX-Bytes:0 (0.0 B)  TX-Bytes:1539501 (1.5 MB)

No guest do squeeze, o /etc/network/interfaces tem esta aparência:

 # The host-only network interface
   auto eth1
   iface eth1 inet static
   address 192.168.56.1
   netmask 255.255.255.0
   network 192.168.56.0
   broadcast 192.168.56.255

Já tentei alterar eth1 para eth0 sem resultado.

Nas configurações do VirtualBox, o modo promíscuo permite que VMs e Host se conectem.

Eu alcancei os limites do meu conhecimento.

a saída de:

netstat --inet --inet6 -ln | grep :22

não é nada.

a saída de:

sudo iptables -L INPUT -nv

é:

 Chain INPUT (policy ACCEPT 166 packets, 30786 bytes)
  pkts bytes target     prot opt in     out     source               destination 
    
por user2354329 04.05.2013 / 00:49

1 resposta

1

Você não deve usar o mesmo endereço IP em seu convidado (como o da interface do host). Se você configurar vboxnet0 no host para o endereço IP 192.168.56.1, então no seu convidado você deve usar 192.168.56.2 por exemplo. O gateway para seu convidado deve ser o IP do host (no seu caso 192.168.56.1).

Isso deve fazer a conexão de host host < - > Se você quer que seu convidado tenha internet também, então você deve mascarar seu IP (ou a rede) em seu host.

iptables -t nat -I POSTROUTING -s 192.168.56.0/24 -j MASQUERADE
sysctl net.ipv4.ip_forward=1

pode ser necessário definir a política padrão para encaminhar ou ativar especificamente sua rede mascarada:

iptables -P FORWARD ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

nota: Você pode executar essas linhas com o root, para permitir o acesso à internet ao seu convidado. Mas, essas linhas provavelmente devem ir para a configuração do firewall do seu host. (isto é, ufw). O arquivo de configuração sysctl é: /etc/sysctl.conf, você pode definir o ip_forward lá, se você quer que ele esteja sempre ativado.

    
por 20.09.2013 / 15:21