Adaptador Virtualbox NAT + solo host

Adaptador Virtualbox NAT + solo host

Mi host es Ubuntu 12.04 y el invitado es Debian squeeze (servidor LAMP). Quiero permitir que el anfitrión conecte al invitado. y permitir que el huésped se conecte a Internet. El huésped no debe ser habilitado desde el exterior. Esa es la razón por la que no uso el puente de red. Quiero configurar una IP estática para el host. Seguíeste tutorial.

Así que seguí estos pasos pero no puedo conectarme sshdel anfitrión al invitado. No puedo llamar al servidor a través del navegador. pingfunciona sin embargo!

Creé un adaptador de red virtual solo para host ( vboxnet0) con la siguiente configuración:

IPv4-Adress: 192.168.56.1
IPv4-Netmask: 255.255.255.0

ifconfigen Ubuntu host muestra esto:

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)

En el invitado de Debian squeeze, /etc/network/interfacesse ve así:

 # 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

Ya intenté cambiar eth1a eth0sin resultado.

En la configuración de VirtualBox, el modo promiscuo permite que las máquinas virtuales y el host se conecten.

He llegado al límite de mis conocimientos.

la salida de:

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

no es nada.

la salida de:

sudo iptables -L INPUT -nv

es:

 Chain INPUT (policy ACCEPT 166 packets, 30786 bytes)
  pkts bytes target     prot opt in     out     source               destination 

Respuesta1

No debe utilizar la misma dirección IP en su invitado (como la de la interfaz del host). Si configura vboxnet0 en el host con la dirección IP 192.168.56.1, entonces en su invitado debería usar 192.168.56.2, por ejemplo. La puerta de enlace para su invitado debe ser la IP del anfitrión (en su caso 192.168.56.1).

Esto debería hacer la conexión de host<->invitado. Si desea que su invitado también tenga Internet, debe enmascarar su IP (o la red) en su anfitrión.

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

Es posible que deba configurar la política predeterminada para reenviar o habilitar su red enmascarada específicamente:

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

nota: Puede ejecutar estas líneas con root para permitir el acceso a Internet a su invitado. Pero estas líneas probablemente deberían ir a la configuración del firewall de su host. (es decir, ufw). El archivo de configuración sysctl es: /etc/sysctl.conf, puede configurar ip_forward allí, si lo desea siempre habilitado.

información relacionada