NAT (del inglés. Traducción de direcciones de red - "traducción de direcciones de red") es un mecanismo en redes TCP / IP que le permite convertir direcciones IP de paquetes de tránsito . También se denomina enmascaramiento de IP, enmascaramiento de red y traducción de direcciones nativas .
La traducción de direcciones usando el método NAT puede ser realizada por casi cualquier dispositivo de enrutamiento : un enrutador [1] , servidor de acceso , firewall . El más popular es SNAT, cuya esencia del mecanismo es reemplazar la dirección de origen ( fuente en inglés ) cuando el paquete pasa en una dirección y reemplazar inversamente la dirección de destino ( destino en inglés ) en el paquete de respuesta. Junto con las direcciones de origen/destino, también se pueden sustituir los números de puerto de origen y destino .
Al recibir un paquete de la computadora local, el enrutador busca la dirección IP de destino. Si es una dirección local, el paquete se reenvía a otra computadora local. De lo contrario, el paquete debe enviarse a Internet. Pero después de todo, la dirección de retorno en el paquete indica la dirección local de la computadora, a la que no se podrá acceder desde Internet. Por lo tanto, el enrutador "sobre la marcha" traduce (reemplaza) la dirección IP de retorno del paquete a su dirección IP externa (visible desde Internet) y cambia el número de puerto (para distinguir entre paquetes de respuesta dirigidos a diferentes computadoras locales). La combinación necesaria para la sustitución inversa, el enrutador almacena en su tabla temporal. Algún tiempo después de que el cliente y el servidor terminen de intercambiar paquetes, el enrutador eliminará la entrada sobre el puerto n en su tabla para el estatuto de limitaciones.
Además de la NAT de origen (que proporciona a los usuarios de una red local direcciones internas para acceder a Internet ), la NAT de destino también se usa a menudo, cuando un cortafuegos transmite llamadas desde el exterior a la computadora de un usuario en una red local que tiene una red interna . dirección y por lo tanto no es directamente accesible desde fuera de la red (sin NAT).
Hay 3 conceptos básicos de traducción de direcciones: estática ( traducción de direcciones de red estática ), dinámica ( traducción de direcciones dinámicas ), enmascaramiento (NAPT, sobrecarga de NAT, PAT).
NAT estática : asignación de una dirección IP no registrada a una dirección IP registrada de forma individual. Especialmente útil cuando el dispositivo debe ser accesible desde fuera de la red.
NAT dinámica : asigna una dirección IP no registrada a una dirección registrada de un grupo de direcciones IP registradas. La NAT dinámica también establece una asignación directa entre direcciones no registradas y registradas, pero la asignación puede cambiar según la dirección registrada disponible en el grupo de direcciones durante la comunicación.
La NAT sobrecargada (NAPT, sobrecarga de NAT, PAT, enmascaramiento) es una forma de NAT dinámica que asigna varias direcciones no registradas a una sola dirección IP registrada utilizando diferentes puertos. También conocido como PAT (traducción de dirección de puerto). Cuando se sobrecarga, cada computadora en la red privada se traduce a la misma dirección, pero con un número de puerto diferente.
El mecanismo NAT se define en RFC 1631 , RFC 3022 .
Una clasificación NAT que se encuentra a menudo en relación con VoIP . [2] El término "conexión" se utiliza en el sentido de "intercambio en serie de paquetes UDP".
NAT simétrico (NAT simétrico): traducción, en la que cada conexión iniciada por el par "dirección interna: puerto interno" se convierte en un par único y gratuito seleccionado al azar "dirección pública: puerto público". Sin embargo, no es posible iniciar una conexión desde una red pública.
Cone NAT, Full Cone NAT : traducción inequívoca (mutua) entre pares "dirección interna: puerto interno" y "dirección pública: puerto público". Cualquier host externo puede iniciar una conexión a un host interno (si está permitido en las reglas del firewall).
Address-Restricted cone NAT, Restricted cone NAT - traducción permanente entre el par "dirección interna: puerto interno" y "dirección pública: puerto público". Cualquier conexión iniciada desde una dirección interna le permite recibir paquetes desde cualquier puerto del host público al que envió el paquete (s) anteriormente.
NAT de cono restringido por puerto : traducción entre el par "dirección interna: puerto interno" y "dirección pública: puerto público", en la que los paquetes entrantes van al host interno desde un solo puerto del host público: aquel al que está conectado el host interno. host ya ha enviado el paquete.
NAT realiza tres funciones importantes.
La traducción de una red local con un rango de direcciones de 172.16.14.0/24 a la red global se realizará a través de una dirección IP externa (la dirección del enrutador que realiza la traducción).
• Costo beneficio de comprar una única conexión IP en lugar de una red IP.
• Ocultar a un observador externo la estructura de la red IP interna.
• Organización de un sistema con carga distribuida.
• Compartir a través de NAT accede de forma transparente a la estructura interna protegida sin usar un firewall, etc.
• Muchos protocolos de red funcionan correctamente a través de NAT. Implementaciones de diseño (compartir es la conexión NAT) hay una implementación de hardware de NAT (los cortafuegos están integrados).
El significado de la tecnología de bucle invertido NAT (o horquilla NAT ) es simple: si un paquete proviene de la red interna a la dirección IP externa del enrutador, se considera que proviene del exterior, lo que significa que las reglas del firewall están relacionadas con la dirección IP externa. las conexiones funcionan. Y si el paquete pasa con éxito a través del firewall, NAT funcionará y se hará cargo de la mediación entre las dos máquinas de la intranet. Esto da dos cosas.
La desventaja del bucle invertido de NAT es el aumento de la carga en el concentrador y el enrutador (en comparación con el acceso directo al servidor).
NAT Traversal (NAT transversal o configuración automática) es un conjunto de capacidades que permite que las aplicaciones de red determinen que están detrás de un dispositivo que proporciona NAT, aprenden la dirección IP externa de este dispositivo y realizan el mapeo de puertos para reenviar paquetes desde un NAT externo. puerto a un puerto interno utilizado por la aplicación; todo esto se hace automáticamente, no es necesario que el usuario configure manualmente las asignaciones de puertos o realice cambios en cualquier otra configuración. Sin embargo, existen precauciones al confiar en tales aplicaciones: obtienen un amplio control sobre el dispositivo, aparecen vulnerabilidades potenciales.
Si ya tiene un servidor existente que ejecuta un sistema operativo de servidor, es posible organizar la traducción de direcciones sin necesidad de comprar dispositivos de hardware adicionales. Como regla general, la implementación de software de NAT requiere al menos dos adaptadores de red en el servidor (las opciones con uno son posibles, pero con una VLAN troncal ).
Todos los sistemas operativos de servidor existentes y usados admiten la traducción de direcciones más simple.
En términos de tolerancia a fallos, flexibilidad y rendimiento, se utilizan sistemas operativos de la familia UNIX (la mayoría de los sistemas GNU/Linux, *BSD , así como OpenSolaris , etc.). En muchos de ellos, NAT está disponible de fábrica, en otros se puede implementar agregando módulos en combinación con firewalls con funciones de traducción de direcciones ( IPFW , IPtables , etc.). Además, NAT funciona de manera inmediata en la familia de sistemas operativos Windows Server .