Al crear una máquina virtual (VM), tiene muchas opciones con respecto a la creación de redes. Puede configurar su VM para que actúe como una computadora más en su red, asegurarla detrás de un enrutador interno y un firewall, o incluso simular una red del mundo real completamente personalizada.
Esta guía cubrirá específicamente las opciones de red que se encuentran en VirtualBox, pero los mismos conceptos también se aplicarán a otros programas de virtualización.
Traducción de direcciones de red (NAT)
Este tipo de red es el predeterminado para las nuevas instancias de VirtualBox y es bastante simple de entender. Simplemente permite que el sistema operativo invitado acceda a Internet, de la misma manera que su computadora accede a través del enrutador de su hogar.
Por ejemplo, su computadora puede tener la dirección IP
192.168.1.5
en su red doméstica. Su enrutador tendrá una IP asignada por su ISP, como
73.45.123.123 Cuando se conecta a un servicio externo, su enrutador traduce su dirección IP interna a la IP externa pública que utiliza para comunicarse con. (Técnicamente, utiliza una extensión de NAT, llamada traducción de dirección de puerto, pero el concepto es el mismo).

En cierto modo, esto es exactamente como poner sus máquinas virtuales detrás de un enrutador adicional. Los paquetes enviados desde las VM pasarán por dos traducciones: primero, para traducir la dirección IP privada de la VM a la dirección IP privada del host, y luego para traducir la dirección privada de los hosts a la dirección pública de su puerta de enlace. Al final, esto habilita la conectividad a Internet para la máquina virtual. Por lo que la máquina virtual sabe, es exactamente como un dispositivo en una red doméstica.
El modo NAT no le da acceso al host (ni a ninguna otra máquina local) a los servicios que se ejecutan en una VM, de la misma manera que un servicio que se ejecuta en su red local no es accesible públicamente desde Internet abierta. Si desea que se pueda acceder a una aplicación, debe redirigir los puertos en los que se ejecuta y vincularlos a los puertos locales del host. Esto es tanto bueno como malo: por un lado, es mucho más seguro de esta manera, ya que incluso los dispositivos locales no pueden acceder a los servicios de la máquina virtual, pero abrir los puertos manualmente puede no ser lo que desea. Si esto parece ser un problema, el modo puenteado es una posible solución. También puede exponer los servicios de invitados a openinternet mediante el reenvío de puertos de su enrutador para reenviar un puerto a la máquina host, que reenviará la conexión al invitado.
Si bien todas las demás direcciones de comunicación son posibles, el modo NAT no brinda acceso de invitado a host.
Debe elegir NAT si necesita acceso básico a Internet, pero desea mantener la VM separada de otras máquinas en su red.
Red NAT
En modo NAT, el enrutador interno se configura para cada máquina virtual. Una VM no puede acceder a los servicios que se ejecutan en otra máquina virtual. De hecho, cada máquina puede tener exactamente la misma dirección IP privada, porque al final todo se traduce.
El modo de red NAT sigue el mismo principio de NAT, pero en lugar de separar lógicamente cada máquina virtual en su propia red, la red NAT usa una red para todas las máquinas virtuales configuradas en la misma red NAT (aunque nada le impide tener varias máquinas virtuales separadas). redes).
Esto permite el acceso de invitado a invitado a través de un conmutador virtual, de forma muy similar a cómo una computadora conectada al primer conector Ethernet de su enrutador puede acceder a una máquina conectada al segundo conector. De lo contrario, este modo funciona exactamente igual que NAT; el acceso de host a invitado solo se puede lograr a través del reenvío de puertos (aunque, esta vez, tendrá que elegir a qué máquina virtual reenviar).

La única gran diferencia es que debido a que hay varias VM en una red, cada VM debe tener una dirección diferente. Esto requiere que el host ejecute un servidor DHCP (nuevamente, muy parecido al que encontraría en su enrutador doméstico), que asigna dinámicamente direcciones IP internas a cada VM en la red. Esto se puede desactivar y configurar manualmente si lo desea.
Debe elegir NAT Network en lugar de NAT básico si necesita acceso de invitado a invitado.
Puente
El modo puenteado es único entre los modos de red, ya que es el único modo que no aísla las máquinas virtuales de alguna manera. En modo puente, su VM se comunica con servicios externos directamente, utilizando la interfaz de red del host.
Esto significa que las VM aparecerán en su enrutador como direcciones IP completamente separadas, aunque enrutadas a la misma máquina. Esto le permite alojar servicios en las máquinas virtuales y acceder a ellos en su red local mediante una dirección y un número de puerto, lo que hace que las redes en puente sean muy flexibles.
Este modo de red lo utilizan muchos proveedores de VPS, como AWS, ya que les permite dividir un servidor grande y potente en varios servidores más pequeños que se pueden vender a los clientes. Cada máquina tendrá su propia dirección IP única en la red. Sin embargo, para servicios como AWS, se implementan muchas protecciones y sistemas adicionales para evitar que acceda a las máquinas virtuales de otros clientes, y sus órdenes de magnitud son más complicados que esto.

Si bien el host se usa para enrutar los paquetes de regreso al servidor, no interfiere con ellos de ninguna manera, lo que hace que el sistema operativo invitado parezca una computadora más en su red. Sin embargo, debido a que no hay nada que aísle a la VM de la red externa, no hay un firewall o protección inherente que no sea el firewall de su puerta de enlace y cualquier firewall configurado manualmente en el sistema operativo invitado.
La mayoría de los servidores vendrán con muchos puertos ethernet y múltiples interfaces físicas. Debido a que el modo puenteado simplemente une una de estas interfaces físicas, se puede usar para ejecutar máquinas virtuales en redes completamente separadas, según el cableado del mundo real.
Debe elegir la red en puente si desea un acceso completo sin obstáculos. También es útil si solo desea ejecutar varios servidores "virtuales" con el mismo hardware, como lo haría un proveedor de VPS.
Adaptador de solo host
En modo Host-Only, las máquinas virtuales no tienen forma de acceder a Internet. Sin embargo, la comunicación de anfitrión a invitado y de invitado a anfitrión sigue siendo posible y es la razón principal para utilizar este modo.

En este modo, generalmente se ejecuta un servidor DHCP para dar direcciones IP a los invitados, y la comunicación entre invitados también es fácil usando la red de Internet.
Debe elegir el modo Solo anfitrión si necesita mucha comunicación bidireccional entre el anfitrión y el invitado, pero no quiere acceso a Internet en el anfitrión. Si necesita comunicación bidireccional pero necesita acceso externo, puede lograr el mismo efecto con el modo en puente, que permite el acceso completo.
Red interna (simulada)
La red interna se utiliza para modelar redes reales. Fuera de la caja, está completamente separado del mundo exterior; varios invitados implementados en la misma red pueden acceder entre sí, pero no al host, a Internet o viceversa. Esto es útil por derecho propio al poder simular redes que están completamente desconectadas del mundo, pero la red interna se puede configurar para dar acceso a Internet a las máquinas privadas.
Al crear una nueva máquina virtual y configurarla como un enrutador (como con
iptables), puede decirle a todas las demás máquinas en la red virtual que usen la nueva máquina virtual del enrutador como su puerta de enlace predeterminada. Para acceder realmente a redes externas, deberá crear una interfaz de red separada utilizando un modo conectado a Internet (NAT, Bridged, etc.) y conectarla al enrutador. Técnicamente, la red interna por sí sola no es lo que brinda acceso a Internet, pero VM1 y VM2 en este ejemplo no tendrán ninguna interfaz de red que permita el acceso directo a Internet.

En cierto modo, esta configuración no es muy diferente del modo de red NAT, pero todo se maneja manualmente.
Debe elegir Red interna si busca simular o modelar una red virtual, o si solo necesita la flexibilidad de configurarlo todo usted mismo. La red interna es muy útil para fines de capacitación, ya que permite que cualquier persona configure su propia red sin tener que ir a Radioshack para comprar el hardware que necesita.