La Traducción de Direcciones de Red (NAT) es un método para mapear direcciones IP de un grupo a otro, de modo que los dispositivos que utilizan direcciones privadas puedan acceder a Internet a través de una dirección pública. Una variante llamada Traducción de Puertos de Direcciones de Red (NAPT) también traduce puertos TCP y UDP, lo que permite que muchos dispositivos internos compartan una sola IP pública. Los sitios web ven esa dirección pública compartida, no el dispositivo detrás de ella.
NAT también conserva direcciones IPv4. Las direcciones privadas solo son válidas dentro de su propia red, por lo que los mismos rangos privados pueden reutilizarse en muchas redes separadas.
Rangos de Direcciones Privadas
El RFC 1918 reserva tres rangos IPv4 para redes privadas que NAT traduce:
- 10.0.0.0 a 10.255.255.255 (10/8)
- 172.16.0.0 a 172.31.255.255 (172.16/12)
- 192.168.0.0 a 192.168.255.255 (192.168/16)
NAT de Grado de Transportista (CGN)
El NAT de grado de transportista es NAT que se ejecuta dentro de la red de un proveedor de servicios de Internet para compartir una dirección IPv4 pública entre varios suscriptores. Los ISP lo implementan en respuesta a la escasez de direcciones IPv4. La IETF reservó 100.64.0.0/10 como Espacio de Direcciones Compartidas para las direcciones entre suscriptores y el CGN.
Por qué NAT es Importante para el Bloqueo de IP y la Geolocalización
- Bloques compartidos: Cuando muchos usuarios comparten una dirección, bloquear esa dirección restringe a todos ellos, no solo al que causó el bloqueo.
- Ubicación: Un usuario detrás de un CGN se geolocaliza donde parece estar el prefijo de dirección del CGN, que puede estar lejos de la ubicación real del usuario.
- Atribución: Detrás de un CGN, una dirección IPv4 sola ya no identifica a un solo suscriptor. También se necesitan puertos de origen y marcas de tiempo precisas.
Tipos de NAT
- NAT Estática: Cada dirección privada se mapea uno a uno a una dirección pública fija.
- NAT Dinámica: Las direcciones públicas se asignan a hosts privados según sea necesario y se liberan cuando finaliza la última sesión del host.
- NAT Básica: Solo traduce direcciones, utilizando un bloque de direcciones públicas reservado para hosts privados.
- NAT Doble: Cambia tanto las direcciones de origen como las de destino, típicamente cuando los espacios de direcciones privadas y públicas se superponen.
Limitaciones de NAT
- Conexiones entrantes: El NAT tradicional permite sesiones solo salientes de la red privada. Un host externo no puede iniciar una sesión con un dispositivo detrás de él.
- Direcciones incrustadas: Las aplicaciones que transportan direcciones IP o puertos dentro de la carga útil necesitan una puerta de enlace de nivel de aplicación (ALG) para funcionar a través de NAT.
- IPsec de extremo a extremo: IPsec que protege las direcciones de los puntos finales de un paquete no funciona con NAT en el camino para la mayoría de las aplicaciones.