VirtualBox, Configuración de Red para Servidor de Desarrollo

From Wiki de Caballero
Jump to navigation Jump to search

Al usar VirtualBox, para desarrollar (o desplegar) alguna aplicación web, jugar con una máquina virtual en red o cualquier aplicación que requiera que la máquina virtual esté conectada.

Objetivo

Usar una máquina virtual sirve para:

  • Hacer pruebas.
  • Desarrollar en un ambiente restringido
  • Desarrollar en un ambiente fácilmente replicable (donde se puede traspasar una máquina virtual entre diferentes hosts).
  • Crear un ambiente de producción.
  • Entre otros.

Lo más probable es que para que este ambiente sea de utilidad la máquina tiene que tener conectividad a internet y también al computador host. La siguiente explicación muestra como lograr esto.

Algunas notas

  • VirtualBox tiene la posibilidad de configurar 4 interfaces de red.
  • Cada una de las interfaces puede tener su propia configuración como si fueran tarjetas conectadas a la máquina y a su vez conectadas de cierta forma en el mundo físico (es lo que va a "pensar" la máquina virtual, que está en el mundo físico aunque todo sea desde adentro de un computador host).

Configuración

Existen varias posibilidades para configurar la máquina virtual que logran diferentes resultados que pueden ser deseados o no.

La mejor forma es Máquina virtual con internet y conectividad al host, detallada más abajo.

Máquina Virtual en la misma red que el Host

Se puede lograr que la máquina haga parte de la misma red que el host, esto significa que la máquina virtual funciona como si estuviera conectada directamente al mismo wifi o red cableada del host.

Esto permite:

  • Que la máquina virtual se conecte a internet (asumiendo que la red donde está el host permite conexión a internet).
  • Que la máquina virtual y el host se comuniquen (asumiendo que la red lo permita).

Para esto, se usa una de las interfaces de VirtualBox que debe estar activa y conectada a "Bridged Adapter". Eso es todo. La máquina virtual se conecta como lo haría cualquier computador ingresando a la red (por ejemplo usando DHCP).

La desventaja de este método es que si no hay una red externa el host no se conectará. Además si hay problemas con el DHCP o el DHCP cambia la IP del host y la máquina virtual la conexión entre ambos puede ser difícil.

Máquina Virtual sin conexión hacia internet

Se puede conectar la máquina virtual solamente internamente (sin salir del host). Esto hace que exista una red pero no tiene acceso al mundo exterior.

Para esto, una de las interfaces de VirtualBox se activa y se selecciona "Host-Only Network".

Máquina virtual con Nat

El comportamiento por defecto que puede servir para un uso sencillo, pero que no permite la comunicación entre host y máquina virtual es Nat. Con esta configuración la máquina virtual puede ver internet (si el host tiene acceso).

Para esto, una de las interfaces de VirtualBox se activa y se selecciona "NAT".

Máquina virtual con internet y conectividad al host

La mejor forma para permitir la conexión entre host y máquina virtual, pero también conexión a internet es usando dos interfaces.

Se activan dos interfaces:

  • La primera usa NAT para permitirle conectarse a internet.
  • La segunda usa "Host-Only Network" para permitir la comunicación entre el host y la máquina virtual.

Para que esto funcione en VirtualBox (no en la máquina virtual), debe existir una red "Host-Only Network". Esto se crea en las preferencias de VirtualBox, no de la máquina virtual. Se configura similar a un router casero. Por ejemplo las siguientes configuraciones pueden resultar:

  • Adapter:
    • IPv4 Address: 192.168.56.1, ojo que no haya colisión con las IP de la red.
    • Network mask: 255.255.255.0 .
    • No tomamos en cuenta la configuración IPv6.
  • Se activa el DHCP Server:
    • Server Address: 192.168.56.1 .
    • Server Mask: 255.255.255.0 .
    • Lower Address Bound: 192.168.56.2 .
    • Upper Address Bound: 192.168.56.100 .

Ahora la máquina virtual se va a conectar a la red interna, como queremos poder conectarnos desde el host a la máquina virtual es una buena idea setear en la máquina virtual una IP fija. Para esto depende de cada sistema operativo cómo se hace la configuración, revisar las configuraciones necesarias.

Más información

https://www.virtualbox.org/manual/ch06.html#networkingmodes