NAT-PAT

Sitio: Facultad de Ingeniería U.Na.M.
Curso: Comunicaciones 2 ET544
Libro: NAT-PAT
Imprimido por: Invitado
Día: miércoles, 4 de diciembre de 2024, 23:10

1. Introducción

Como sabe, no hay suficientes direcciones IPv4 públicas para asignar una dirección única a cada dispositivo conectado a Internet.
Las redes se implementan comúnmente mediante direcciones IPv4 privadas, tal como se define en RFC 1918.
El rango de direcciones incluido en RFC 1918 se incluye en la siguiente figura.

Estas direcciones privadas se utilizan dentro de una organización o sitio web para permitir que los dispositivos se comuniquen localmente.

Estas direcciones no identifican a ninguna empresa u organización en particular en realidad existen miles y están repetidas, por lo tanto las direcciones IPv4 privadas no se pueden enrutar o enviar a Internet.

Para permitir que un dispositivo con una dirección IPv4 privada acceda a dispositivos y recursos fuera de la red local, primero se debe traducir la dirección privada a una dirección pública.

NAT proporciona traducción de direcciones privadas a direcciones públicas, como se muestra en la figura. Esto permite que un dispositivo con una dirección IPv4 privada acceda a recursos fuera de su red privada, como los que se encuentran en Internet. NAT, combinado con direcciones IPv4 privadas, ha sido el método principal para preservar las direcciones IPv4 públicas. Una sola dirección IPv4 pública puede ser compartida por cientos, incluso miles de dispositivos, cada uno configurado con una dirección IPv4 privada única.

Existen tres tipos de traducción NAT:

  • Traducción estática de direcciones (NAT estática): asignación de direcciones uno a uno entre una dirección local y una global.
  • Traducción dinámica de direcciones (NAT dinámica): asignación de varias direcciones a varias direcciones entre direcciones locales y globales.
  • Traducción de la dirección del puerto (PAT): asignación de varias direcciones a una dirección entre direcciones locales y globales. Este método también se conoce como «sobrecarga» (NAT con sobrecarga).



Recordemos que el NAT es consecuencia del agotamiento de direcciones IPv4!!

2. Network Address Translation NAT

Cuando un dispositivo dentro de la red auxiliar quiere comunicarse con un dispositivo fuera de su red, el paquete se reenvía al enrutador de borde.

El enrutador perimetral realiza el proceso NAT, traduciendo la dirección privada interna del dispositivo en una dirección pública externa enrutable.

Existen tres implementaciones.

NAT Estática:

La NAT estática consiste en una asignación uno a uno entre direcciones locales y globales.
Estas asignaciones son configuradas por el administrador de red y se mantienen constantes.

La NAT estática requiere que haya suficientes direcciones públicas disponibles para satisfacer la cantidad total de sesiones de usuario simultáneas.

Notar que esto en la práctica con IPv4 no es frecuente, dada la escacez de IPv4 normalmente NO hay muchas IP Públicas disponibles.

En general en muchos casos se tiene UNA SOLA DIRECCIÓN IP PUBLICA podemos decir que esto solo permitiría conectar una sola PC con IP privada, por lo que este tipo de implementación se usa para acceder desde una red pública a una IP Privada, se conoce como Port Forwarding  veamos como se vería.

  


La NAT estática resulta útil, en especial para los servidores web o los dispositivos que deben tener una dirección constante que sea accesible desde Internet hacia la red LAN.




NAT Dinámica.

NAT Dinámica utiliza un conjunto de direcciones públicas y las asigna según el orden de llegada. Cuando un dispositivo  interno solicita acceso a la red externa (Internet) la NAT Dinámica asigna una Dirección IPv4 Pública disponible del Conjunto.
Notar que esto en la práctica con IPv4 no es frecuente que existan varias direcciones públicas de IPv4, así que dada la escasez de IPv4 normalmente NO hay muchas IP Públicas disponibles.





  • ¿Qué pasa si la misma máquina quiere acceder al mismo servidor dos veces simultáneamente desde una sola aplicación? . Por ejemplo un navegador Web.
  • ¿Cómo quedaría la tabla de NAT?.
Para solucionar todos los problemas que se pueden ver de las respuestas a las preguntas anteriores está: PAT o NAT Sobrecargada.

3. Port Address Translation (PAT)

En el capítulo anterior vimos el tema de NAT, en el mismo NO EXISTÍAN PUERTOS, solo direcciones IP que se traducían.

El concepto de puerto está relacionado con capa 4 : TCP.


PAT (NAT con Sobrecarga)

La traducción de la dirección del puerto (PAT), también conocida como NAT con sobrecarga, asigna varias direcciones IPv4 privadas a una única dirección IPv4 pública o a algunas direcciones. 

La mayoría de las redes domésticas implementan PAT.


Esto es lo que hacen la mayoría de los routers domésticos. El ISP asigna una dirección al router, no obstante, varios miembros del hogar pueden acceder a Internet de manera simultánea. Esta es la forma más común de NAT. En este tipo de implementación aparece el concepto de PUERTO (Capa 4).

Con PAT, se pueden asignar varias direcciones a una o más direcciones, debido a que cada dirección privada también se rastrea con un número de puerto. Cuando un dispositivo inicia una sesión TCP/IP, genera un valor de puerto de origen TCP o UDP para identificar la sesión de forma exclusiva. Cuando el router NAT recibe un paquete del cliente, utiliza su número de puerto de origen para identificar de forma exclusiva la traducción NAT específica.
PAT garantiza que los dispositivos usen un número de puerto TCP distinto para cada sesión con un servidor en Internet. Cuando llega una respuesta del servidor, el número de puerto de origen, que se convierte en el número de puerto de destino en la devolución, determina a qué dispositivo el router reenvía los paquetes. El proceso de PAT también valida que los paquetes entrantes se hayan solicitado, lo que añade un grado de seguridad a la sesión.

Proceso de PAT




Supongamos que una máquina de la red LAN intenta navegar, abre dos pestañas en el navegador, cada una en google.com. ¿Cómo se podría identificar ese flujo si las direcciones de Origen IP Privada y las de Destino IP Pública son las mismas?.
Es evidente que para este escenario NO sería posible, esto por que tenemos UNA IP PRIVADA y UNA IP PÚBLICA (la de google.com) para diferenciar DOS FLUJOS DISTINTOS.
El concepto de PUERTO ES NECESARIO, esto concluye PAT o NAT con sobrecarga, en el cual aparece el concepto de puerto.
Con este nuevo concepto es totalmente posible que el navegador de una maquina con una IP Privada se conecte a DOS sitios iguales, el flujo será diferenciado por los puertos de Origen solamente. Recordar el concepto de Socket.

La NAT con sobrecarga o PAT (Port Address Translation) es el más común de todos los tipos, ya que es la utilizada en los hogares. Se pueden mapear múltiples direcciones IP privadas a través de una dirección IP pública, con lo que evitamos contratar más de una dirección IP pública. Además del ahorro económico, también se ahorran direcciones IPv4, ya que aunque la subred tenga muchas máquinas, todas salen a Internet a través de una misma dirección IP pública.

Para poder hacer esto el router hace uso de los puertos. En los protocolos TCP y UDP se disponen de 65.536 puertos para establecer conexiones. De modo que cuando una máquina quiere establecer una conexión, el router guarda su IP privada y el puerto de origen y los asocia a la IP pública y un puerto al azar. Cuando llega información a este puerto elegido al azar, el router comprueba la tabla y lo reenvía a la IP privada y puerto que correspondan.

PAT garantiza que los dispositivos usen un número de puerto TCP distinto para cada sesión con un servidor en Internet. Capa 4!!!

Cuando llega una respuesta del servidor, el número de puerto de origen, que se convierte en el número de puerto de destino en la devolución, determina a qué dispositivo el router reenvía los paquetes.

Veamos un ejemplo:




veamos otro ejemplo:

Dos equipos distintos.

Podemos ver en esta figura que el Socket es distinto para cada equipo:
  • 192.168.10.10:1444 , 209.165.200.225:1444
  • 192.168.10.11:1444 , 209.165.200.225:1445
El router de borde REGISTRA en una tabla, para luego hacer la conversión inversa cuando el paquete regrese.

Veamos como sería el Socket si la PC de IP 192.168.10.10 abre DOS PESTAÑAS de google.com (IP: 142.250.79.68)

  • 192.168.10.10:2345 , 142.250.79.68:80
  • 192.168.10.10:2356 , 142.250.79.68:80

Los puertos efímeros, que toman valores temporales permiten identificar el Flujo de datos para cada pestaña del navegador!!



4. NAT Masivo (CGNAT)

Introducción

Se buscaron artimañas para que todos podamos seguir conectándonos pese a esta escasez de direcciones IPv4. Una de estas estratagemas es la CG-NAT.

Carrier-Grade NAT (CGN o CG-NAT) también conocido como NAT masivo o NAT a gran escala (Large-Scale NAT o LSN), es una herramienta de diseño de redes IPv4 donde los extremos de la comunicación, en concreto, las redes residenciales, se configuran con direcciones de red privadas, que se traducen a direcciones públicas mediante equipos de traducción que se interponen dentro de la red del proveedor entre el usuario e Internet. 

Estos dispositivos permiten compartir conjuntos pequeños de direcciones públicas entre muchos usuarios finales. Esto cambia el lugar tradicional donde se hace y se configura la función de NAT desde el equipo de casa del cliente, hacia la red del proveedor de acceso a Internet.


De esta manera el proveedor "ahorra" direcciones IP públicas V4, las cuales YA no hay mas y tienen un costo.

Notar que esta implementación incorpora una caída de eficiencia ya que debe hacer NAT en el ISP y NAT en el Modem o ONU. Otra cosa es que la Liberación de algún puerto para un cliente lleva a una configuración específica, lo que implica tiempo, y conocimientos.


QUÉ ES CGNAT Y POR QUÉ SE UTILIZA

CGNAT son las siglas de Carrier-grade NAT, una técnica utilizada para alargar el tiempo de vida de las direcciones IPv4. ¿Sabes por qué se realiza esta práctica? Te explicamos qué es CGNAT y si afecta a tu conexión de internet.

¿Qué es CGNAT?

Internet conecta a diario millones de equipos, pero el número de direcciones disponibles para cada equipo conectado es limitado. Por tanto, el protocolo utilizado actualmente (IPv4) es insuficiente para cubrir la demanda actual de servicios de acceso a internet.

Para dar solución a este problema surgió IPv6, pero la migración a este protocolo representa un gran desafío para los operadores, pues la red de internet no está preparada para soportarlo. Por ejemplo, una de las desventajas de este método (IPv6) es que no se podría navegar en un gran porcentaje de webs, ya que estas no están preparadas para soportar esta nueva tecnología.

Para acabar con los inconvenientes que se han creado por el agotamiento a nivel mundial de IPv4, se ha diseñado NAT a gran escala o CG-NAT, una solución que permitiría conectar a Internet varios equipos utilizando únicamente una dirección IPv4. Esta herramienta permite que las redes se configuren con direcciones de red privadas y se traduzcan a direcciones públicas mediante equipos de traducción que se interponen entre el usuario e internet.

Gracias a la CG-NAT las empresas con decenas de equipos se podrían conectar a Internet utilizando muy pocas direcciones IP.

¿Por qué se aplica CGNAT?

Sería muy sencillo seguir utilizando el protocolo de internet versión 4 (IPv4). Pero el creciente uso de internet hace imposible seguir utilizando este método, porque no hay suficientes direcciones IP para todos los equipos del mundo.

Esta limitación mundial ha hecho que muchas compañías de telecomunicaciones adopten medidas que ayuden a afrontar el futuro estableciendo la tecnología CGNAT para mejorar la experiencia y la seguridad de los usuarios.

Aunque el protocolo de internet versión 6 (IPv6) se señala como una alternativa al CGNAT, la realidad es que actualmente muy pocas webs permiten navegar bajo este protocolo, como hemos mencionado anteriormente.

¿Cómo afecta CGNAT a mi conexión a internet? Mitos y verdades

Como cliente, lo más importante que debes de tener en cuenta es que tu experiencia de usuario no se verá afectada por el uso de la tecnología GNAT en ningún aspecto. Es una solución acorde a la legislación vigente, de hecho, esta herramienta lleva funcionando en algunos operadores desde hace muchos años. Todas las conexiones a internet desde dispositivos móviles se hacen mediante CGNAT.

¿Eres gamer y quieres saber si CGNAT te afecta? Puedes estar tranquilo, la totalidad de juegos funcionan con CGNAT. De hecho, las nuevas versiones de juegos están especialmente diseñadas para soportarlo.

Si estás pensando en las consecuencias que puede tener la aplicación de CGNAT sobre la domótica, tampoco supone ningún problema, pues en la actualidad todas las soluciones de domótica no implican que se acceda directamente a los equipos domotizados mediante IP pública, sino que el acceso se hace mediante los servidores que proporcionan los fabricantes. Hoy en día no se utilizan sistemas en los que se accede directamente al aparato en cuestión debido a los graves problemas de seguridad detectados sobre todo en cámaras IP (secuestro de terminales).

Seguridad y privacidad

La solución GNAT no permite abrir puertos con el objetivo de aumentar la seguridad de los usuarios. 

Por esta razón, este protocolo mejora la seguridad ante ataques que puedan recibir los usuarios, notar que este argumento puede hacer que no se preste atención en un trasfondo económico como el de migrar a IPv6 definitivamente.

Algunas personas se preguntan: si algún usuario con el que comparto IP realiza una actividad ilegal, ¿vendrá la policía u otro organismo y me hará una investigación? La respuesta es no. Los operadores se encargan de homologar con los organismos gubernamentales pertinentes para que ante estos casos se pueda localizar rápidamente a la persona que realizó esa acción ilegal a través de internet.

Las cámaras de seguridad también son un asunto muy importante en materia de IP. La provisión de IP pública a clientes de convergencia permite que éstos puedan realizar lo que habitualmente se llama 'apertura de puertos'. Al realizar esta configuración, cualquiera podría tener acceso a tus cámaras. De hecho, algunas páginas conocidas como insecam pinchan cámaras IP de cualquier lugar del planeta que tienen fallos de seguridad y que pueden ser atacadas fácilmente.

La ventaja de CGNAT es que impide que cualquier usuario malicioso pueda acceder a los dispositivos que tiene el cliente detrás de su router porque no permite que ningún usuario inicie una conexión contra un equipo detrás del router de ese usuario.

Por tanto, CGNAT no sólo ayuda a aumentar la seguridad de los clientes y elimina la posibilidad de un ciberataque, sino que también es la mejor opción para navegar eficientemente y sin preocupaciones. 

Resumiendo:

Ventajas:

  • Seguridad, permite que sea mucho más complicado que cualquier persona externa pueda hurgar en los equipos de la red interna.

Desventajas:

  • Gestión personalizada: No permite abrir los puertos del router sin tener que solicitar al ISP.
  • Mayor Latencia.
  • Mayor costo para el usuario en caso de no querer ser parte del DG-NAT.



5. Ventajas -Desventajas

Recordemos que la NAT/PAT es solo un parche, no una solución al verdadero problema

Ventajas:
  • La primera y más obvia, el gran ahorro de direcciones IPv4 que supone, recordemos que podemos conectar múltiples máquinas de una red a Internet usando una única dirección IP pública.
  • Seguridad. Las máquinas conectadas a la red mediante NAT no son visibles desde el exterior, por lo que un atacante externo no podría averiguar si una máquina está conectada o no a la red.
  • Mantenimiento de la red. Sólo sería necesario modificar la tabla de reenvío de un router para desviar todo el tráfico hacia otra máquina mientras se llevan a cabo tareas de mantenimiento.
Desventajas:
  • Checksums TCP y UDP: El router tiene que volver a calcular el checksum de cada paquete que modifica. Por lo que se necesita mayor potencia de computación.
  • No todas las aplicaciones y protocolos son compatibles con NAT. Hay protocolos que introducen el puerto de origen dentro de la zona de datos de un paquete, por lo que el router no lo modifica y la aplicación no funciona correctamente.

6. Implementaciones


NOTA: 
  • Muchos de los nombres y de las configuraciones son propias de cada marca y modelo, así que SOLO mostraremos algunos ejemplos, lo mismo es para términos que se utilizan que pueden no ser técnicamente correctos.
  • Si se re-direcciona el puerto 80 que se usa normalmente para acceder a la página (servidor Web) del Router, esto puede hacer que no se pueda acceder.


Port Forwarding (NAT Estática)

El Port Forwarding permite a los ordenadores que están en Internet conectarse a un ordenador o servicio específico dentro de una red de área local privada (LAN). 

Para lograr eso en el Router debemos programar "ALGO" que permita que cuando desde Internet se quiera acceder a un puerto determinado, eso es redireccionado a un puerto específico de una IP Privada.

Veamos para una Huawei:


Para un TP-Link (https://www.tp-link.com/ar/support/emulator/):



OBSERVACIÓN: La configuración y denominación de muchos de estos campos cambia de un router a otro, esta imagen a ilustrativa.

Una alternativa es el uso de P2P, pero recordar que esto es TODO un problema derivado del parche NAT/PAT.

DMZ.
DMZ (Zona desmilitarizada) es un diseño conceptual de red donde los servidores de acceso público se colocan en un segmento separado, aislado de la red.
La intención de DMZ es asegurar que los servidores de acceso público no puedan comunicarse con otros segmentos de la red interna, en el caso de que un servidor se encuentre comprometido.
En este caso en la configuración de este router se pondría por ejemplo a IP privada de una maquina a la que se quiere acceder desde Internet. Ver que NO se indica puerto, esto quiere decir que TODOS los puertos en principio son redireccionados al correspondiente puerto de la IP Privada.

Conclusión: Una vez hecha esta activación, se activan todos los puertos del router!!!.
Hay que tener cuidado.








Virtual Servers.

El servidor virtual le permite dirigir el tráfico entrante desde el lado de la WAN (identificado por el protocolo y el puerto externo) al servidor interno con una dirección IP privada en el lado de la LAN.

El puerto interno es necesario solo si el puerto externo debe convertirse a un número de puerto diferente utilizado por el servidor en el lado de la LAN.