domingo, 19 de abril de 2015

VMWare - Adaptador de Red: ¿Qué es el modo NAT?

Objetivo: 

Comprender qué estamos haciendo al configurar el interfaz de una máquina virtual creada con VMWARE en modo NAT.

Situación inicial:

Un ordenador en el que está instalado el software VMWARE se le denomina anfitrión o host.
Una máquina virtual (MV) y hemos instalado ya en ella cualquier sistema operativo.
El router que da acceso a internet tiene la IP 192.168.1.100.
El equipo anfitrión está conectado al switch del aula a través de una tarjeta de red 192.168.1.101





































Descipción del modo NAT:

NAT significa Network Address Translation. Al modificar el adaptador de red de la máquina virtual y configurarlo en modo NAT, se está haciendo lo que se muestra en la imagen anterior:

  • Se crea una nueva red con un switch ficticio virtual. La red es la configurada en VMnet8 (se explicará más adelante)
  • Se añade un servidor DHCP que entregará IPs de la red VMnet8 a los equipos que se conecten a este switch.
  • Se crea una conexión de red entre el anfitrión y este switch virtual a través de la tarjeta virtual con una IP de la red VMnet8 que VMWare crea en el anfitrión al instalarse. Esta IP será la puerta de enlace de la máquina virtual para que dicha MV pueda acceder al exterior.
  • Se crea una conexión de red entre la máquina virtual y este switch. Si el Sistema Operativo de la MV tiene una tarjeta de red configurada para obtener IPs automáticamente, obtendrá una del rango de la red VMnet8 gracias al servidor DHCP virtual. Si no, deberemos configurar estáticamente una IP de ese rango. Además, se le asigna automáticamente a esta máquina virtual como puerta de enlace la IP VMnet8 que se le ha asignado a la máquina anfitriona.
  • Se añade un servidor proxy NAT ficticio que enmascarará (translation) todas las IPs de la red virtual VMnet8 (incluida la de la MV), por lo que la máquina virtual nunca será vista desde el exterior. Desde fuera del anfitrión no se conoce nunca la IP de la máquina virtual.
  • La máquina virtual SI tiene acceso al switch del aula a través del Proxy NAT, y por extensión, a internet.

Análisis de la red VMnet8:

En el Virtual Network Editor de VMWare aparecen los 3 adaptadores de red por defecto de VMWare. Al seleccionar VMNet8 (NAT) se ve la configuración por defecto de esta red.


En la imagen se aprecia que el servidor DHCP servirá IPs de la red 192.168.83.0/24 tanto al anfitrión como a la máquina virtual. Estos parámetros pueden modificarse en esta ventana de configuración del Virtual Network Editor. Además, se aprecia que se crea un router ficticio cuya IP es 192.168.83.2 que será la puerta de enlace de la máquina virtual. Por lo tanto, tal y como se aprecia en la imagen general, la máquina virtual queda oculta al resto de ordenadores del aula puesto que estos ordenadores desconocen la existencia de este router. Por lo tanto, si desde algún equipo del aula se intenta acceder a la máquina virtual (por ejemplo, la IP 192.168.83.100) enviará la información al router del aula pero este desconoce dónde se encuentra esa red. La máquina virtual sí que accederá a internet. Sus peticiones irán a su puerta de enlace 192.168.83.2, este router virtual se los enviará a la puerta de enlace del anfitrión 192.168.1.100 y se accede a internet.

Inconvenientes / ventajas

Como se acaba de explicar, por defecto, otros equipos del aula no podrán acceder a esta máquina virtual. La máquina virtual, por el contrario, sí que tiene acceso a internet.

  Licencia de Creative Commons
VMWare - Network Adapter NAT by Miguel Ángel Zunda Calderón is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

2 comentarios:

  1. Estimado Miguel,
    Muy buena la información y explicación. Al respecto tengo una aplicación en la que quizás me puedas orientar:
    Tengo una red local, en la que conecto un PLC (controlador lógico programable). Para programar el PLC me solicita la IP del master que lee y escribe datos en Modbus TCP.
    Normalmente el PLC está conectado a una red industrial y el master es un SCADA que está en otra subred.
    Ahora bien, requiero simular un SCADA para lo cual sólo voy a necesitar un aplicativo que haga poll al PLC, pero este aplicativo y la PC en la que corre debe estar en una subred diferente a la del PLC.
    No dispongo de un router físico, de modo que requiero simular una subred y una PC conectada a esa subred, que acceda al PLC conectada a la subred industrial.
    Lo que explicas en VMWare - Network Adapter NAT parece ser una solución para simular este escenario, pero al no permitir que el PLC sepa el origen de la petición (poll), no puede configurarse la dirección real del SCADA (dirección IP de la subred del SCADA). Es posible lograr la misma conexión sin la limitación indicada? Cómo podría hacerse?
    Si no se puede hacer con VMWare, es posible hacerlo con otro simulador?

    Gracias de antemano por tu atención y ayuda que me puedas brindar.

    Atentamente,
    Luis A. Cristóbal V.

    ResponderEliminar
  2. Estimado Miguel,
    Muy buena la información y explicación. Al respecto tengo una aplicación en la que quizás me puedas orientar:
    Tengo una red local, en la que conecto un PLC (controlador lógico programable). Para programar el PLC me solicita la IP del master que lee y escribe datos en Modbus TCP.
    Normalmente el PLC está conectado a una red industrial y el master es un SCADA que está en otra subred.
    Ahora bien, requiero simular un SCADA para lo cual sólo voy a necesitar un aplicativo que haga poll al PLC, pero este aplicativo y la PC en la que corre debe estar en una subred diferente a la del PLC.
    No dispongo de un router físico, de modo que requiero simular una subred y una PC conectada a esa subred, que acceda al PLC conectada a la subred industrial.
    Lo que explicas en VMWare - Network Adapter NAT parece ser una solución para simular este escenario, pero al no permitir que el PLC sepa el origen de la petición (poll), no puede configurarse la dirección real del SCADA (dirección IP de la subred del SCADA). Es posible lograr la misma conexión sin la limitación indicada? Cómo podría hacerse?
    Si no se puede hacer con VMWare, es posible hacerlo con otro simulador?

    Gracias de antemano por tu atención y ayuda que me puedas brindar.

    Atentamente,
    Luis A. Cristóbal V.

    ResponderEliminar