Windows Server 2016 – TP5: Creación de Redes NAT (“NAT-Switch”)

Una de las cosas que faltaban en Hyper-V, para proveer las capacidades de productos que compiten, era la posibilidad de crear redes tipo NAT. Esto ya no es así tanto para Windows Server 2016, como para Hyper-V en Windows 10

La creación de estas redes NAT, por lo menos por ahora, no está disponible a través de la interfaz gráfica, pero se puede hacer en forma sencilla a través de PowerShell, son sólo tres líneas de comando

Aunque la demostración la haré sobre una instalación de Windows Server 2016 TP5, por lo que he leído, es totalmente funcional y con igual procedimiento si se hiciera sobre Windows 10 (Apr 2015)

La máquina de la que parto está configurada prácticamente con los valores por omisión, salvo que está instalada con la interfaz gráfica, ya está instalado Hyper-V y además tengo una máquina virtual con Windows 10 ya creada

Pueden observar en las siguientes capturas de pantalla que no hay nada especial en la configuración IP

La segunda conexión de red es porque durante la instalación de Hyper-V he creado una red “External”

Como una forma de mostrar que con la interfaz gráfica no podemos crear redes de tipo NAT muestro “Virtual Switch Manager”

Acá podemos ver que ya tengo una máquina virtual Windows 10 creada, aunque podría ser cualquier otro sistema operativo

 

Un detalle importante: para evitar cualquier tipo de interferencia y por ser esto sólo una demostración en la máquina con Hyper-V he deshabilitado el cortafuegos

 

Volvamos a la consola de PowerShell que debe estar ejecutada “como administrador”. Lo primero que haré es crear un nuevo “Switch” que yo he llamado “NATSwitch” y es de tipo “Internal”. El comando es:

New-VMSwitch -SwitchName “NATSwitch” -SwitchType Internal

Verifico en la máquina con Hyper-V que se ha creado la nueva conexión de red, es importante recordar el nombre que le ha dado ya que lo usaremos luego (“vEthernet (NATSwitch)”)

También podemos observar que este nuevo “Switch” ya lo tenemos disponible en Hyper-V

A esta nueva conexión de red que hemos creado en la máquina con Hyper-V debemos asignarle configuración IP, lo haré con PowerShell usando el comando siguiente, aunque es lo mismo si lo hicieran usando la interfaz gráfica

En mi caso he seleccionado dirección IP 172.16.0.1 Máscara de Subred 255.255.0.0, por lo tanto el comando es:

New-NetIPAddress -IPAddress 172.16.0.1 -PrefixLength 16 -InterfaceAlias “vEthernet (NATSwitch)”

Verifico que se ha configurado correctamente

Ya nos queda el último comando para crear la red NAT, que es justamente el que hace NAT funcione. La red la he llamado “NATNetwork”, y asignado que atenderá todas las direcciones en la red interna 172.16.0.0/16. El comando es:

New-NetNat -Name NATNetwork -InternalIPInterfaceAddressPrefix 172.16.0.0/16

 

Si todo fue hecho correctamente ya podemos probar que funcione. En la máquina virtual, primero la conectaré a la nueva red NAT creada

Y una vez arrancada le debemos poner una configuración adecuada a esta red:

  • Una dirección IP válida en la red 172.16.0.0/16. En mi caso 172.16.0.2/16
  • Como Puerta de Enlace debemos ponerle la dirección IP de la red NAT que hemos asignado a la interfaz de la máquina con Hyper-V. En mi caso 172.16.0.1
  • Y si queremos que esta máquina virtual pueda navegar por Internet, al estar en grupo de trabajo le podemos poner cualquier DNS público. En mi caso uno de los de Google (8.8.8.8)

¿Funcionará? ¡Por supuesto! ¿O tenías dudas? :)

 

Con esto he mostrado cómo podemos tener máquinas virtuales en Hyper-V conectadas a una red NAT

Esta configuración permite que todas las máquinas virtuales conectadas a la misma red, se puedan interconectar entre sí, y tengan acceso a Internet y a servicios en la red física. Pero no serán accesibles desde máquinas que estén en la red física

Esto último se podría lograr con “Port Forwarding” en el NAT, pero eso será tema de otra nota (si lo consigo)

Post a comment or leave a trackback: Trackback URL.

Comentarios

  • Angel Luis Prieto Criado  On 02/08/2016 at 10:57

    ¿Sabes si van a dar soporte a usb?

  • Matias  On 02/08/2016 at 22:54

    Cual es la diferencia entre este y el external que da por defecto en la configuracion de hyper v?

    • Guillermo Delprato  On 03/08/2016 at 06:51

      Hola Matias, justamente que hace NAT (“Network Address Translation”) :)
      NAT es una de las funciones que hacen los “proxies” para dar acceso a Internet, para decirlo de forma sencilla. Cambian una o más direcciones IP de una red privada, a una pública, y reenvía las respuestas
      Traducción de direcciones de red – Wikipedia, la enciclopedia libre
      https://es.wikipedia.org/wiki/Traducci%C3%B3n_de_direcciones_de_red
      How Network Address Translation Works | HowStuffWorks
      http://computer.howstuffworks.com/nat.htm

      LLegó dos veces tu pregunta, borro una

      • Matias H  On 05/08/2016 at 15:47

        Entonces el adaptador externo como maneja las salidas a internet de las maquinas virtuales si no es por NAT? Gracias por la respuesta Guillermo!

      • Guillermo Delprato  On 05/08/2016 at 17:02

        Hola Matias H, el adaptador red externo trabajo por enrutamiento puro
        Para que una máquina virtual conectada a una red externa tenga conectividad a Internet tiene que tener una IP válida para la red física, y por lo tanto sale por “routing”

      • Matias H  On 07/08/2016 at 09:58

        Perdon pero no se comprende, la maquina virtual tiene una IP valida para la red externa, o sea IP del rango de mi host, y sale a internet con la misma IP publica que mi host, cual es la diferencia con el adaptador NAT? Quizas que pueda tener una IP que sea de rango diferente a la del host? Perdon que siga insistiendo simplemente quiero tenerlo claro

      • Guillermo Delprato  On 08/08/2016 at 06:04

        Hola Matias H, la máquina virtual tiene dirección IP 172.16.0.2, y el NAT le da salida a la 192.168.0.0 que es la externa del host
        Esta red 192.168.0.0/24 es desde la que se obtiene acceso a Internet
        Quizás para que te quede más claro el tema de qué es NAT, es una de las funcionalidades de un Proxy. Permite salida a otra red, típicamente Internet, a máquinas que tienen direccionamiento IP privado no válido en Internet

      • Matias H  On 10/08/2016 at 00:50

        O sea yo entiendo lo que hace NAT pero no puedo visualizarlo en este ambiente de Hyper-V podrias explicarmelo brevemente con los ejemplos de la IP como si de un ambiente hogareño router con PCs y salida a internet se tratara?

      • Guillermo Delprato  On 10/08/2016 at 06:19

        Hola Matias H, lamentablemente no puedo usar estos comentarios para explicaciones teóricas. Pero resumiendo, una máquina que tiene dirección en la red 172.16.0.0/16, se le da acceso a la red física 192.168.0.0/24 que tiene conectividad a Internet; por lo tanto la máquina virtual tiene acceso a Internet

Este espacio es para comentarios sobre la nota. No es un sitio de soporte

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: