Redirección de puertos para acceder a máquinas virtuales en VirtualBox

Cuando creamos una máquina virtual en VirtualBox, por defecto se le asigna una red de tipo NAT. La dirección IP de esta máquina será privada y asignada por el propio VirtualBox que actúa como servidor DHCP.

El problema viene cuando tenemos que acceder a determinados servicios internos de esa máquina desde nuestro ordenador (host). Puede ser el caso por ejemplo de un servidor SSH, servidor web Apache, Nginx, un Jboss, etc…

Muchas veces lo que se hace es simplemente cambiar el tipo de red de la máquina a Adaptador Puente (Bridged Adapted) para que la máquina adquina coja una IP de nuestra red y acceder sin problemas.

Sin embargo, también podemos dejar la red en tipo NAT y realizar una redirección de puertos. Para ello en la misma imagen que he puesto anteriormente puedes ver el icono Port Forwarding. Pinchamos y especificamos la siguiente regla, teniendo en cuenta que mi IP es 192.168.2.134 y la IP de la máquina virtual es 10.2.0.15 con el puerto de escucha SSH por defecto 22:

Una vez realizado esto, vamos a conectar por SSH con la máquina desde nuestra terminal:

ssh -p 2222 192.168.2.134

Tal y como hemos especificado el puerto 2222 de 192.168.2.134 redirijirá al 22 en 10.2.0.15, como podéis ver:

Podríamos crear las reglas que consideráramos necesarias. Por ejemplo para Apache y Jboss:

Esto aplica tanto a VirtualBox como a cualquier otra plataforma que permita realizar redirección de puertos a la red interna de la máquina.