forumtecnico.com Curso: FT433 - Introducción a la virtualización con VirtualBox Configuración de red Uno de los aspectos de la virtualización con más número de opciones es la configuración de red. Recordemos que los protocolos de red tradicionalmente estaban creados basándose en la idea de que cada interfaz de red (una tarjeta Ethernet, generalmente) está físicamente conectada a un equipo y hace uso de una única dirección que la identifica. Cuando entramos en el mundo de la virtualización, las interfaces físicas del sistema anfitrión podrán dar servicio a varias máquinas al mismo tiempo y, probablemente, con varias direcciones de red simultáneamente. Vamos a estudiar de qué maneras nos permite VirtualBox manejar el acceso a la red de las máquinas virtuales. Hardware virtual Cuando configuramos la red de nuestra máquina virtual, lo primero a elegir es qué tipo de tarjeta de red vamos a emular. Como siempre en VirtualBox, la idea es que el sistema huésped no tenga que estar preparado para funcionar sobre el sistema virtualizado, y no tenga que tener nada distinto de una máquina real. Podemos engañarlo emulando una tarjeta de red física. Por tanto, VirtualBox nos provee de una serie de modelos de tarjeta que podemos emular, escogidos entre los modelos de uso más común entre el hardware real. Así se aseguran de que casi cualquier sistema huésped va a tener controladores al menos para uno de ellos. Por defecto, según los casos se usa la tarjeta AMD PCNet FAST III o Intel PRO/1000 MT Desktop que son una buena elección en la mayoría de los casos.
Red paravirtualizada En las versiones recientes, VirtualBox permite también utilizar un controlador de red paravirtualizado, es decir, software de red específico para el sistema de virtualización en lugar de ser una simple emulación. Concretamente, se puede elegir como interfaz de red el controlador Virtio-Net, que es un software libre del proyecto KVM. En la página de KVM se pueden obtener controladores para Linux y para Windows. La mayoría de distribuciones de Linux también proveen estos controladores por sí mismas. La ventaja teórica de este tipo de controlador es que se simplifica el trabajo extra que VirtualBox hace para emular el hardware, dado que Virtio está pensado específicamente para usarse en sistemas virtualizados y no corresponde a ningún hardware real. En lugar de engañar al controlador de red, nos aliamos con él. Modos de red Lo principal para manejar la configuración de red de VirtualBox es entender lo que se denominan modos de red. En las versiones recientes tenemos cinco modos disponibles en el desplegable Conectado a del diálogo de configuración de red: No conectado: Indica que nuestra máquina no accederá a la red. NAT: El modo por defecto. El sistema huésped accederá a la red a través de la misma dirección IP del anfitrión, utilizando la técnica conocida como Network Address Translation (traducción de direcciones de red). Ver sección más adelante. Adaptador puente: VirtualBox accederá directamente al hardware de la interfaz de red del anfitrión, creando una dirección de red propia para la máquina virtual. Esto es especialmente indicado cuando el huésped va a usarse para dar servicios de red (servidor web o similar). También lo explicamos con detalle más adelante. Red interna: El huésped se conectará con una red virtual creada por VirtualBox para interconectar las diferentes máquinas virtuales que funcionen a la vez. Esta red no accederá al exterior ni al sistema anfitrión. Es indicada para realizar pruebas de conectividad entre sistemas. Adaptador sólo anfitrión: En este modo, VirtualBox registra en el sistema operativo anfitrión una interfaz de red virtual, aparte de la interfaz física, que se utilizará para acceder a (y desde) la máquina virtual. Es muy similar al modo de red interna, pero con la participación del anfitrión. Tampoco da acceso al exterior. Los dos modos más comunes para la mayoría de usos son el NAT y el Adaptador puente. A continuación explicamos más sobre ellos.
Usando el modo NAT Network Address Translation (NAT) es una técnica propia de los routers IP para interconectar equipos que no tienen direcciones IP conectables directamente entre sí. Generalmente, los equipos a un lado del router utilizan direcciones públicas (válidas para conectar a Internet), mientras que los del otro lado utilizan direcciones privadas (que sólo pueden usarse dentro de una red local). El router traduce automáticamente las direcciones de los paquetes a medida que pasan de un lado a otro y viceversa. Casi todos los routers caseros que usamos para conectarnos a Internet utilizan esta técnica, y por eso podemos acceder simultáneamente con varios equipos a pesar de que nuestro proveedor de Internet nos da sólo una dirección IP pública. VirtualBox hace que el software anfitrión funcione de manera similar a un router, dando acceso a una o varias máquinas virtuales a través de la propia dirección IP del anfitrión. El sistema NAT de VirtualBox incluye un servicio de DHCP (Protocolo de Configuración Dinámica), idéntico al que usaría un router real, que asignará a cada máquina su dirección IP privada, generalmente de la forma 10.0.1.0 y similares. Este rango de direcciones IP están reservados por los organismos de control de Internet para que nunca se usen fuera de las redes locales, y por tanto nunca van a coincidir con la de ningún equipo de Internet. Dado que los sistemas operativos suelen usar por defecto DHCP para obtener las direcciones, no es necesario realizar ninguna configuración especial en los huéspedes para que haga uso de este sistema. Como vemos, a pesar de que el NAT es un modo complejo internamente, es el más fácil de usar, dado que no requiere configurar nada especial ni en los huéspedes ni en el anfitrión. Un inconveniente (o ventaja, según se mire) del NAT es que, de la misma manera que en los routers reales, no permite las conexiones entrantes que puedan provenir del exterior de la interfaz anfitrión. Esto es consecuencia del propio funcionamiento del NAT. Al estar compartiendo varias máquinas la misma dirección IP pública, el sistema no tiene manera de
identificar a qué máquina corresponde la conexión que está entrando, a no ser que le hayamos hecho una tabla de asignación de puertos (port forwarding), algo que se puede hacer con VirtualBox, pero que se sale del ámbito de este curso. Usando el adaptador puente Cuando seleccionamos este modo en la configuración de una máquina virtual, se nos muestra una lista de las interfaces de red que tiene el anfitrión para que asignemos cuál de ellas vamos a puentear : A partir de ese momento, VirtualBox accederá a la interfaz seleccionada y la pondrá en un modo tal que usará dos direcciones físicas (MAC): una de ellas la real y otra virtual (se configura en la sección Avanzadas ):
Cada una de las direcciones MAC podrá tener asociada una dirección IP. Lógicamente, tenemos que tener disponibles suficientes direcciones para acceder a la red en la que nos encontremos. Si estamos conectados directamente a Internet no será posible usar más direcciones públicas que las que hayamos contratado con nuestro proveedor de Internet. Si estamos en una red casera, el router asignará una dirección privada a cada MAC, como si se tratara de interfaces separadas. En este modo, dado que contamos con una interfaz que accede directamente a la red, es posible tener conexiones salientes y entrantes de la misma manera que si se tratara de una máquina física. Por tanto, es el modo adecuado si queremos que la máquina ofrezca servicios a la red. forumtecnico.com