Traducción de Direcciones de Red
La traducción de direcciones de red (Inglés Network Address Translation , poco NAT ) se encuentra en las redes de ordenadores es el término colectivo para los cambios de direcciones en la cabecera IP de IP paquetes ( capa 3 del modelo ISO / OSI ).
NAT (más precisamente SNAT) permite, entre otras cosas, el uso simultáneo de una dirección pública (ver direcciones IP privadas ) por varios hosts. Por lo general, el enrutador de la red se hace cargo del SNAT que establece la conexión a Internet (por lo tanto, este enrutador suele ser la puerta de enlace predeterminada de un host).
Tipos de NAT
NAT se divide en Source-NAT (SNAT; alemán: " Quellen-NAT ") y Destination-NAT (DNAT; alemán: " Target NAT "). Con la fuente NAT, se reescribe la dirección de la computadora que establece la conexión (fuente). Con la NAT de destino, es la dirección de la computadora direccionada (destino) la que se reescribe.
Uso de NAT
Uso de NAT de origen
La fuente NAT se utiliza principalmente debido a la escasez de direcciones IPv4 públicas y la tendencia a conectar cada vez más hogares (en los que se utilizan subredes privadas ) a Internet . La forma especial de SNAT también se denomina enmascaramiento o enmascaramiento , que se utiliza principalmente para conexiones de acceso telefónico. Al enmascarar, un algoritmo cambia automáticamente la dirección del remitente del paquete a la dirección IP de la interfaz en la que el paquete sale del enrutador, mientras que con SNAT la (nueva) dirección de origen debe especificarse explícitamente.
Source NAT se utiliza como una especie de función de seguridad y para separar redes internas y externas, especialmente en instalaciones de redes privadas o instalaciones de redes que son lo más económicas posible. Al enmascarar la dirección IP de origen, las computadoras internas ya no se pueden direccionar directamente desde el exterior, pero esto debe verse como un efecto secundario, ya que no reemplaza la infraestructura de seguridad ni está destinado a separar las redes.
Uso de NAT de destino
La NAT de destino se utiliza para cambiar el destino de un paquete IP. El uso más común de DNAT es cambiar la IP pública de una conexión a Internet a la dirección IP privada de un servidor en la subred privada. Este método se conoce como "reenvío de puertos" en relación con las conexiones UDP / TCP. Por lo tanto, DNAT también se puede utilizar para ofrecer varios servicios de servidor diferentes que se operan en diferentes computadoras bajo una única dirección IP (pública) . Consulte también NAT-Traversal o NAT-T para la delimitación de DNAT.
funcionalidad
Enrutador NAT, sesión NAT y tabla NAT
Un enrutador moderno con función NAT tiene estado y, por lo tanto, también se denomina con estado. Con el firewall de estado, la información de conexión asociada (incluidas las direcciones IP, el protocolo / puertos y los tiempos de espera ) se almacena en una tabla de sesión (ver netfilter - seguimiento de conexión ) para cada conexión solicitada por un cliente . Usando la información almacenada, el enrutador NAT puede reasignar el paquete de datos de respuesta respectivo al cliente correcto . Una vez que ha expirado una sesión, su entrada se elimina de la tabla de sesiones. La cantidad de sesiones que un enrutador NAT puede mantener abiertas al mismo tiempo está limitada por su memoria principal, 10,000 sesiones solo ocupan alrededor de 3 MB.
Fuente NAT
Siempre que un cliente interno establece una conexión, la dirección IP de origen interno se reemplaza por la dirección IP pública del enrutador. Además, el puerto de origen del cliente interno se reemplaza por un puerto libre en el enrutador si el puerto de origen está ocupado. Esta asignación se guarda en la tabla de sesión (tabla NAT) del enrutador. Usando la información almacenada, el enrutador NAT puede reasignar el paquete de datos de respuesta respectivo al cliente correcto . El proceso se conoce como PAT (traducción de puertos y direcciones).
| red de área local ( LAN ) | red pública ( WAN ) | |||
| fuente | objetivo | Enrutador ===== = =====> NAT |
fuente | objetivo |
|---|---|---|---|---|
| 192.168.0.2:49701 | 170.0.0.1:80 | 205.0.0.2:49701 | 170.0.0.1:80 | |
| 192.168.0.3:50387 | 170.0.0.1:80 | 205.0.0.2:50387 | 170.0.0.1:80 | |
| 192.168.0.4:49152 | 170.0.0.1:23 | 205.0.0.2:49152 | 170.0.0.1:23 | |
Enrutamiento de IP y NAT de origen usando el ejemplo
En este ejemplo, la red privada usa la dirección IP 192.168.0.0/24. Un enrutador NAT de origen con la dirección pública 205.0.0.2/32 se encuentra entre esta red y la Internet pública .
El enrutamiento generalmente se requiere siempre que el remitente y el destinatario se encuentren en redes diferentes. Si una estación conectada a través de un enrutador NAT de origen desea enviar un paquete a un destinatario fuera de su red (privada), por ejemplo, a un servidor Telnet en algún lugar remoto de Internet, el proceso de comunicación (que se muestra en forma simplificada) funciona de la siguiente manera: Primero, la estación determina la IP de destino del servidor Telnet a través de DNS y, a través de la tabla de enrutamiento, el enrutador más cercano al destino deseado (ver tabla de enrutamiento ), este es el enrutador NAT de origen . Luego, la estación determina su dirección MAC a través de ARP y ensambla un paquete de la siguiente manera: recibe la dirección MAC del enrutador NAT de origen como la dirección MAC de destino , la dirección IP de destino del destinatario (aquí 170.0.0.1), la dirección del puerto de destino 23 para el servidor Telnet, así como la dirección MAC e IP del remitente (aquí 192.168.0.4) y un puerto de remitente (cualquier puerto dinámico alto libre ) para la sesión Telnet que solicita actualmente, así como otros datos. El enrutador NAT de origen recibe y procesa el paquete porque está dirigido a su dirección MAC. Cuando se procesa en el enrutador, el paquete se reenvía en una forma modificada: el enrutador usa la dirección IP del destinatario para determinar el siguiente enrutador , usa ARP para determinar su dirección MAC y convierte el paquete de la siguiente manera: ahora recibe la dirección MAC de manera diferente a el siguiente enrutador , la dirección IP de destino del destinatario (170.0.0.1), el puerto de destino 23 y la dirección IP y MAC pública del enrutador NAT de origen (205.0.0.2), seleccione un puerto de remitente actualmente libre el depósito del enrutador ( aquí 49152) y los datos del usuario, que siguen siendo los mismos. Esta asignación de la dirección del remitente original y el puerto (192.168.0.4:49152) a la tupla de direcciones ahora contenida (205.0.0.2:49152) se almacena en el enrutador hasta que la sesión Telnet expira o finaliza. NAT cambia significativamente el paquete en la capa 3 ( IP ).
Cuando se procesa en los enrutadores IP posteriores, el paquete solo se cambia en la capa 2: el enrutador determina el siguiente enrutador , determina su dirección MAC a través de ARP y reconstruye el paquete de la siguiente manera: Ahora recibe la dirección MAC de destino diferente La dirección MAC del siguiente el enrutador y la dirección MAC del remitente se intercambian por la suya. Se conservan la dirección IP del destinatario (170.0.0.1), el puerto de destino 23 y la dirección IP del remitente del enrutador NAT de origen (205.0.0.2), su puerto de remitente 49152 y los datos del usuario. Esto significa: El paquete no se cambia aquí en la capa 3 ( IP ). Este proceso se repite hasta que un último enrutador encuentra la estación de destino en una red conectada directamente; Luego, el paquete se compone de la siguiente manera: recibe la dirección MAC del remitente del último enrutador, el destino la dirección MAC de la estación de destino, la dirección IP del destinatario (= estación de destino, 170.0.0.1), el puerto de destino 23 también como la dirección IP del enrutador NAT de origen del remitente (205.0.0.2), su puerto de remitente 49152 y, por supuesto, los datos del usuario.
Después de un procesamiento exitoso por parte del servidor Telnet, la respuesta se compila de la siguiente manera: dirección MAC del enrutador responsable de la ruta de retorno (aunque las rutas de salida y de retorno no tienen que ser necesariamente idénticas), la dirección IP del NAT de origen solicitante enrutador (205.0.0.2), la dirección del puerto de destino 49152 y la dirección MAC e IP del servidor Telnet (170.0.0.1) y su puerto de remitente 23, así como los datos de respuesta (carga útil). Una vez que se han ejecutado todos los enrutadores, el enrutador NAT de origen (205.0.0.2) finalmente da como resultado: la dirección MAC y la dirección IP de la computadora solicitante (aquí 192.168.0.4), y su dirección de puerto 49152, así como la MAC de la fuente. Enrutador NAT y dirección IP del servidor Telnet (170.0.0.1) y su puerto remitente 23, así como datos de respuesta. Si finaliza esta sesión Telnet, el puerto 49152 también se libera nuevamente.
NAT de destino
Cada vez que el cliente establece una conexión, la dirección IP de destino se reemplaza por la del destinatario real en la LAN. Además, el puerto de destino se reemplaza por un puerto libre en el enrutador, que luego se ocupa. Esta asignación se guarda en la tabla NAT del enrutador.
| red pública (WAN) | red de área local (LAN) | |||
| fuente | objetivo | Enrutador ===== = =====> NAT |
fuente | objetivo |
|---|---|---|---|---|
| 170.0.0.1:1001 | 171.4.2.1:80 | 170.0.0.1:1001 | 192.168.0.2:80 | |
| 170.0.0.1:1001 | 171.4.2.1:22 | 170.0.0.1:1001 | 192.168.0.3:22 | |
| 170.0.0.1:1001 | 171.4.2.1:81 | 170.0.0.1:1001 | 192.168.0.3:81 | |
Categorización
RFC 3489 , que describe el protocolo STUN para atravesar puertas de enlace NAT, las clasificó en cuatro clases diferentes, que también se utilizan a menudo para la clasificación fuera del contexto de STUN:
|
|
En el escenario de NAT de cono completo , una puerta de enlace convierte las direcciones y los puertos internos en una dirección externa y sus puertos de acuerdo con un patrón estático. En particular, también permite que los hosts externos establezcan conexiones con los hosts internos a través de la dirección externa de la puerta de enlace NAT. Full Cone NAT también se conoce como reenvío de puertos en inglés . |
|
|
En el escenario NAT de cono restringido , la puerta de enlace solo permite que un host externo se comunique con un host interno si este intento de conexión fue precedido por un contacto entre este host interno y el host externo y se utiliza el mismo puerto de destino. |
|
|
En el escenario NAT de cono restringido de puerto , la puerta de enlace solo permite que un host externo se comunique con un host interno si este intento de conexión fue precedido por un contacto entre este host interno y el host externo y se utilizan el mismo puerto de destino y el mismo puerto de origen. |
|
|
En el escenario de NAT simétrica , cada conexión individual se realiza con un puerto de origen diferente; las restricciones son las mismas que en el escenario de NAT de cono restringido . Debido a que a cada conexión se le asigna su propio puerto de origen, el inicio de conexiones por parte de hosts externos internamente no es o casi no es posible. |
En los sistemas NAT modernos, sin embargo, estos escenarios básicos prototípicos a menudo solo proporcionan pistas para la clasificación del comportamiento específico de las puertas de enlace. A veces, estos utilizan formas mixtas de los enfoques clásicos para abordar la traducción o cambiar dinámicamente entre dos o más patrones de comportamiento. RFC 3489 ha sido reemplazado por RFC 5389 , que ya no intenta esta categorización.
ventajas
- NAT ayuda a ralentizar la escasez de direcciones IPv4. Lo hace reemplazando múltiples direcciones para múltiples sistemas finales con una sola dirección IP.
- Las direcciones IP de una red se pueden ocultar de otra red. Por lo tanto, NAT se puede utilizar para mejorar la privacidad .
- Varias redes privadas cerradas pueden utilizar los mismos rangos de direcciones IP sin colisiones de direcciones, ya que solo la dirección IP del enrutador NAT es visible desde el exterior.
desventaja
- Un problema con NAT es que no se cumple la asignación correcta de "1 host con dirección IP única". Según la definición de encabezados de protocolo, un ataque man-in-the-middle es similar a aquellos que, especialmente los protocolos más antiguos y el cifrado a nivel de red y transporte, a través de este diseño de problemas de ruptura ( por ejemplo, IPsec AH). Las complicaciones del protocolo de NAT se describen en RFC 3027 .
- Asimismo, sufren determinados servicios de red que utilizan canales de señalización y retroalimentación fuera de banda, como los protocolos de telefonía IP , incluidas las complicaciones de las pasarelas NAT.
- El principio de extremo a extremo se viola cuando el enrutador NAT cambia el paquete IP o el segmento TCP sin que sea el propio host emisor.
NAT transversal
La traducción de direcciones de red elimina la necesidad de conectividad de un extremo a otro. Las aplicaciones que normalmente se conectan de huésped a huésped (por ejemplo, para peer-to-peer y de telefonía IP aplicaciones o conexiones VPN) , por tanto, requieren técnicas de penetración de NAT. Existen varias técnicas, ninguna de las cuales es de aplicación universal. Muchas técnicas requieren la ayuda de un servidor directamente accesible al público para ambas partes. Algunos métodos usan dicho servidor solo para establecer la conexión, otros enrutan todo el tráfico en la conexión a través de este servidor auxiliar.
La mayoría de los métodos a menudo eluden las pautas de seguridad de la empresa, por lo que en las redes de la empresa se prefieren técnicas que cooperen expresamente con NAT y firewalls y permitan intervenciones administrativas en el punto de transferencia de NAT. Los estándares de comunicación IP y middlebox específicos del reino (MIDCOM) rara vez se utilizan.
SOCKS , el protocolo más antiguo para la penetración de NAT, está muy extendido, pero se utiliza cada vez menos. Con SOCKS, el cliente establece una conexión con la pasarela SOCKS (que normalmente está conectada directamente a Internet) de modo que la comunicación para el interlocutor parece como si procediera directamente de la pasarela SOCKS.
Las aplicaciones caseras se utilizan Universal Plug and Play (UPnP), lo que da como resultado una configuración dinámica de reenvíos de puertos por parte del propio cliente que permite uno.
NAT-T se usa más comúnmente con IPsec VPN cuando se usan paquetes de carga útil de seguridad encapsulados en conexiones de Internet con enrutadores NAT. Los paquetes ESP se empaquetan en paquetes UDP / 4500. Algunos enrutadores también admiten el paso a través de ESP, por lo que los paquetes ESP se pueden pasar directamente a la puerta de enlace VPN y no se requiere NAT-T.
Otro ejemplo de un protocolo transversal NAT es STUN , que es muy importante en VoIP.
Ver también
- Reenvío de puertos
- Uso compartido de la conexión a Internet de Windows
- NAT64 , traducción entre dos familias de protocolos
- Traducción de puerto de dirección de red
Especificaciones
- RFC 2663 . - Terminología y consideraciones del traductor de direcciones de red IP (NAT) . [Fe de erratas: RFC 2663 ]. Agosto de 1999. (Inglés).
- RFC 2766 . - Traducción de direcciones de red - Traducción de protocolos (NAT-PT) . Febrero de 2000. (Actualizado por RFC 3152 - Histórico - Inglés).
- RFC 3022 . - Traductor de direcciones de red IP tradicional (NAT tradicional) . [Fe de erratas: RFC 3022 ]. Enero de 2001. (Reemplaza RFC 1631 - Inglés).
enlaces web
- Túnel a través de pasarelas NAT sin necesidad de adaptar los enrutadores involucrados (inglés)
- Configuración de NAT en Windows 2003 (inglés)
- Prueba transversal de NAT
- Comunicación entre pares a través de traductores de direcciones de red (inglés)
Evidencia individual
- ^ Comprensión de la traducción de direcciones de red. Microsoft , consultado el 9 de diciembre de 2015 .
- ↑ Olaf Kirch, Terry Dawson: Linux - Guía para usuarios de redes . 2ª Edición. O'Reilly , 2001, ISBN 3-89721-135-1 , Capítulo 11 - Enmascaramiento de IP y conversión de direcciones de red ( alemán e inglés en línea - título original: Linux Network Administrator's Guide . Traducido por Peter Klicman e Ingo Marks).
- ↑ Preguntas frecuentes sobre traducción de direcciones de red (NAT) . Cisco Systems .
- ↑ a b c d RFC 1631 . - El traductor de direcciones de red IP (NAT) . Mayo de 1994. ( Grupo de trabajo de ingeniería de Internet - Inglés).
- ↑ M. Holdrege, P. Srisuresh: RFC 3027 . - Complicaciones de protocolo con el traductor de direcciones de red IP . Enero de 2001. (Inglés).
- ^ Tony Hain: RFC 2993 . - Implicaciones arquitectónicas de NAT . (Inglés).
- ↑ RFC 3102 , RFC 3103 , RFC 3104
- ↑ ietf.org ( Memento de la original, del 5 de junio de 2011 en el Archivo de Internet ) Información: El archivo de enlace se inserta de forma automática y sin embargo no ha sido comprobado. Verifique el enlace original y de archivo de acuerdo con las instrucciones y luego elimine este aviso.