Network Address Translation es un mecanismo muy habitual en los routers, que permite transmitir paquetes entre distintas redes, generalmente dos redes que no deberían poder comunicarse (comúnmente, entre una red privada y redes públicas), poniendo a los paquetes salientes de una red interna, una dirección como IP de origen distinta, perteneciente a la interfaz del router conectada a otro entorno de red, de forma que se trata el paquete como si se emitiera desde el router, no desde un dispositivo “detrás” del mismo. Sin embargo, el router sí sabe a qué equipo de su otra red pertenece ese paquete o esa comunicación, de forma que, al obtener respuesta, transfiere nuevamente el paquete hacia el host de la red interna, deshaciendo la modificación en la IP de origen, permitiendo al paquete ser enrutado, tanto en la ida como en la vuelta.

Este mecanismo tiene, como principal objetivo, el permitir la comunicación entre redes privadas, que de otro modo no podrían comunicarse, limitando el uso de IPs enrutables, al interconectar varias redes privadas con pocas direcciones públicas

NAT está presente en casi todas las redes caseras. Los Routers de uso común en los hogares están configurados para dar por DHCP, direcciones IP privadas clase C (192.168.0.0/24). Con esas direcciones no deberíamos poder salir a internet, pero nuestro router hace NAT a la hora de emitir comunicación hacia internet, de forma que los paquetes salientes tendrán como IP de origen, la dirección pública a la que esté conectada nuestro router.

NAT nos aporta no solo la capacidad de enrutar con este mecanismo, paquetes hacia redes distintas, sino además, oculta nuestra IP privada, de forma que desde fuera, el último punto accesible de nuestra red es la interfaz de nuestro router que apunta hacia la red externa.

Para configurar un enrutamiento con NAT en una máquina con Windows Server y el rol de Routing and Remote Access, necesitamos que esa máquina tenga dos interfaces de red como mínimo, y una de ellas pueda ser enrutable. Configurar NAT es sencillo, basta con iniciar el wizard para configurar Routing and Remote Access en nuestro servidor que haga las veces de router y elegir la opción Network Address Translation, eligiendo posteriormente nuestra interfaz externa o enrutable como interfaz de salida. Si sólo tenemos dos interfaces, entenderá que la otra interfaz es la externa. Si tenemos más NICs en nuestro servidor, tendremos que elegir qué interfaz es la que consideramos como “interna” o la que “saldrá” a través de esa NIC externa que hemos designado en el paso previo.

Como nota adicional, indicar que NAT no es una solución universal. Se recomienda sobre todo cuando las conexiones son siempre salientes (desde la red interna hacia la red externa) y cuando el número de conexiones concurrentes es limitado: dado que el router tiene que procesar los paquetes, modificarlos y enrutarlos, esto supone una carga de trabajo en la máquina router y en grandes volúmenes, puede suponer una pérdida de rendimiento más evidente.

No es recomendable una configuración de NAT en la que estemos esperando conexiones que se inicien desde el lado externo, a menos que podamos configurar algún tipo de NAT inverso.

Más sobre NAT:

https://pubs.vmware.com/workstation-9/index.jsp?topic=%2Fcom.vmware.ws.using.doc%2FGUID-122B85E2-E60F-4C44-87B2-A3F8DDC88D66.html

https://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/26704-nat-faq-00.html

Autor: Gabriel Piuzzi Martínez
Curso: Microsoft MCSA Windows Server 2016 + Microsoft MCSE Clout Platform & Infrastructure
Centro: Tajamar
Año académico: 2017-2018