NAT: Una historia de amor y odio
17/10/2023

Por Henri Alves de Godoy – Computer Network Analyst | Profesor Ph.D. | IPv6 Evangelist
En 1996, Internet estaba empezando a desarrollarse en Brasil y la suscripción de un Proveedor de Acceso a Internet, como se le llamaba, era por horas de conexión y el excedente en minutos conectados se cobraba a parte en la factura de pago. La conexión se daba por medio de línea telefónica discada y cada usuario recibía un IP público en su casa. Por lo general un proveedor tenía, en principio, un promedio de 30 líneas telefónicas, era necesario solo un pequeño rango o bloque de direcciones IP públicas.
Era todo perfecto y normal, teníamos una identificación de usuario muy fácil y el registro del IP a través del tacacs o radius. Algunos juegos saludables de acceso remoto (abrir y cerrar el CD-ROM del usuario), utilizando el NetBus y BackOrifice o incluso un Ping da Morte, eran posibles, ya que cada usuario conectado a Internet vía modem discado, recibía un IP accesible globalmente. Controles de acceso, firewalls y los conceptos de seguridad de cómo filtrar y bloquear amenazas todavía estaban en desarrollo y estudios.
¿Pero cómo se lograba encontrar el IP del usuario conectado? Mira, había algunas maneras, en donde la más simple era a través del mIRC (programa cliente del IRC – Internet Relay Chat) y llamar a tu amigo para un chat privado. Después, bastaba con ejecutar un comando nestat y el IP remoto del usuario se descubría.
Por otro lado, a nivel mundial, el IETF (Internet Engineering Task Force) discutía en 1991, que con el crecimiento de Internet el agotamiento de las direcciones IPv4 era inminente, con fecha prevista para fines del año 1994. Como solución rápida, se adoptó el CIDR (Classless Inter-Domain Routing) para poder quebrar en subredes ahora las atribuciones de clases de IP (A,B,C) con el objetivo de distribuir en bloques menores y atender de forma optimizada los que solicitaban IP para soportar el crecimiento de Internet. Con eso fue posible darle un descanso al IPv4, pero no fue suficiente.
Durante la administración del Proveedor de Internet en donde trabajé, había un bloque/24 de IPv4 cedido a Embratel. La mitad se destinaba a los usuarios comerciales discados y la otra mitad para uso administrativo y servidores de la facultad que abrigaban al proveedor. Llegaron entonces los laboratorios de informática, aumento de líneas por discado, el crecimiento de servidores y del cuerpo administrativo de funcionarios de la Facultad. Pronto no había más direcciones IPv4 disponibles para soportar ese crecimiento.
Concomitante a eso, con el crecimiento de la Internet más allá de las expectativas, una RFC 1918 se publicó en 1996 con “Buenas Prácticas de Internet”, definiendo el concepto de IP privado. La Internet Assigned Numbers Authority (IANA) reservó tres bloques de espacio de direcciones IP para las redes privadas, descrito en la Figura 1.
(Acceso libre, no requiere suscripción)

La idea inicial era preservar o utilizar las direcciones IP públicas solo en host que necesitaban un acceso externo o global, en el intento de prolongar la vida útil de la dirección IPv4. Hosts que accedían a otros desde una misma red interna, servicios locales, impresoras, compartido de archivos, ahora podrían tener números IP privados.
Hasta ese entonces la definición de red privada y pública (interna y externa) estaba bien descrita y los dispositivos pertenecientes a cada red también. Fue entonces cuando el desgano nos dominó a nosotros mismos, profesionales de redes y administradores, ya que, alterar una configuración de IP, DNS, Gateway, cuando un host privado precisaba en ese momento una conexión externa (IP público), era una tarea muy engorrosa y nada práctica.
Surgió entonces la maravillosa idea de facilitar la vida de todos, creando una técnica para traducción y ruteo de las direcciones IP pertenecientes a una red interna (privada), para lograr acceder a una red externa (pública) de forma transparente y viceversa, sin modificar las configuraciones de los hosts. Fue así como surgió la terminología NAT (Network Address Translation), siendo descripta en la RFC 2663 en 1999. El foco del artículo no es discutir en profundidad los tipos de NAT existentes, pero los más comunes que utilizamos son: NAT de salida (Masquerade), NAT de puertas (NAPT), NAT bidireccional. Hay varios sabores para todos los gustos. Un ejemplo de un NAT básico se puede ver en la Figura 2.
Las opiniones expresadas por los autores de este blog son propias y no necesariamente reflejan las opiniones de LACNIC.