Las direcciones privadas de una red local no se enrutan por Internet. Para que los equipos de esa red puedan salir al exterior, el router traduce sus direcciones a una dirección pública: eso es NAT (Network Address Translation). Su variante más extendida, PAT, permite que decenas de equipos compartan una sola IP pública. Casi todos los routers domésticos y de empresa lo aplican, y entenderlo es imprescindible para configurar y diagnosticar una red IPv4.

Por qué existe NAT

El espacio IPv4 es limitado y las direcciones públicas son escasas. Los rangos privados definidos en la RFC 1918 (10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16, vistos en el artículo de IPv4) pueden reutilizarse en millones de redes, y NAT, descrito en la RFC 3022, hace de puente con Internet. Además de ahorrar direcciones, oculta la numeración interna al exterior.

Tipos de NAT

Tipos de NAT: estático, dinámico y PAT
NAT estático, NAT dinámico y PAT.
Tipo Traducción Cuándo se usa
NAT estático Una dirección privada siempre a la misma pública Servidores que deben ser accesibles desde Internet
NAT dinámico Una privada a una pública de un pool, de forma temporal Cuando se dispone de varias direcciones públicas
PAT (overload, NAPT) Muchas privadas a una pública, diferenciadas por el puerto Salida a Internet de toda una red con una sola IP pública

 

PAT paso a paso

Con PAT el router guarda una tabla de traducciones que relaciona cada pareja (IP privada, puerto) con una pareja (IP pública, puerto). Funciona así:

  1. Un equipo interno envía un paquete a un servidor de Internet, con su IP privada y un puerto de origen.
  2. El router sustituye la IP de origen por su IP pública y, si hace falta, cambia el puerto de origen para que sea único.
  3. Anota la traducción en su tabla y envía el paquete.
  4. El servidor responde a la IP pública y al puerto traducido.
  5. El router consulta la tabla, restituye la IP privada y el puerto originales y entrega la respuesta al equipo.
Tabla de traducciones PAT con tres equipos que comparten una dirección pública
Tres equipos comparten la IP pública 203.0.113.5 con puertos distintos.

Las traducciones caducan tras un tiempo de inactividad que depende del protocolo. Como cada conexión usa un puerto distinto y hay unos 65.000 puertos por dirección, una sola IP pública puede dar servicio a un gran número de conexiones simultáneas.

Terminología de NAT

La documentación de Cisco, que se ha convertido en referencia, distingue cuatro tipos de dirección según a quién pertenece el equipo (inside o outside) y desde qué lado se ve (local o global):

Inside local, inside global, outside local y outside global
Las cuatro direcciones de NAT para un equipo interno y uno externo.
Término Significado Ejemplo
Inside local Dirección del equipo interno vista desde la red interna 192.168.10.10
Inside global Dirección del equipo interno vista desde el exterior 203.0.113.5
Outside global Dirección real del equipo externo 198.51.100.20
Outside local Dirección del equipo externo vista desde la red interna 198.51.100.20

 

Cómo configurar NAT y PAT

En equipos Cisco hay que indicar qué interfaces están en el lado interno (ip nat inside) y en el externo (ip nat outside), definir qué direcciones se traducen con una ACL y asociar la traducción. Las ACL de NAT usan máscaras wildcard, explicadas en el artículo de Subnetting.

Plataforma Comandos
Cisco IOS · PAT interface GigabitEthernet0/0 y ip nat inside
interface GigabitEthernet0/1 y ip nat outside
access-list 1 permit 192.168.10.0 0.0.0.255
ip nat inside source list 1 interface GigabitEthernet0/1 overload
Cisco IOS · NAT estático ip nat inside source static 192.168.10.10 203.0.113.10
Cisco IOS · NAT dinámico ip nat pool PUBLICO 203.0.113.20 203.0.113.30 netmask 255.255.255.0
ip nat inside source list 1 pool PUBLICO
Huawei VRP · Easy IP acl number 2000 y rule 5 permit source 192.168.10.0 0.0.0.255
En la interfaz de salida: nat outbound 2000
MikroTik RouterOS · PAT /ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade
Linux · PAT sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

 

Reenvío de puertos

Con PAT, los equipos internos pueden iniciar conexiones hacia fuera, pero nadie puede iniciarlas hacia dentro. Para publicar un servicio se crea una traducción estática de un puerto (port forwarding o DNAT). Ejemplo: reenviar el puerto 8080 público al puerto 80 de un servidor interno.

Plataforma Reenviar el puerto 8080 público al puerto 80 del equipo 192.168.10.10
Cisco IOS ip nat inside source static tcp 192.168.10.10 80 203.0.113.5 8080
MikroTik RouterOS /ip firewall nat add chain=dstnat in-interface=ether1 protocol=tcp dst-port=8080 action=dst-nat to-addresses=192.168.10.10 to-ports=80
Linux iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.10.10:80

En los equipos con firewall, además de la regla de NAT hay que permitir ese tráfico en la regla de reenvío correspondiente.

Cómo verificar y diagnosticar

Plataforma Ver las traducciones Otros comandos útiles
Cisco IOS show ip nat translations show ip nat statistics y clear ip nat translation *
Huawei VRP display nat session all display nat outbound
MikroTik RouterOS /ip firewall connection print /ip firewall nat print stats
Linux conntrack -L iptables -t nat -L -n -v

Si NAT no funciona, revisa por orden:

  1. Que las interfaces inside y outside estén bien asignadas.
  2. Que la ACL o la regla incluya las direcciones internas reales.
  3. Que el router tenga ruta por defecto hacia el exterior.
  4. Que la interfaz externa tenga una IP pública válida o la esperada.
  5. Que aparezcan traducciones en la tabla al generar tráfico, y que aumenten los contadores de aciertos.
  6. Que no haya otro NAT delante (por ejemplo, el router del operador), lo que provocaría doble traducción.

Para probar la conectividad se usa ping y traceroute, descritos en el artículo de ICMP.

Limitaciones de NAT

  • Rompe la conectividad extremo a extremo: los equipos externos no pueden iniciar conexiones hacia una dirección privada sin reenvío de puertos.
  • Protocolos que incluyen direcciones en los datos (FTP activo, SIP, algunas VPN) pueden necesitar ayudas especiales o NAT-T en IPsec.
  • Trazabilidad: varios usuarios comparten la misma IP pública, lo que complica identificar quién hizo qué.
  • CGNAT: algunas operadoras aplican NAT también en su red (rango 100.64.0.0/10), y el usuario no recibe una IP pública propia, lo que impide publicar servicios.
  • NAT no es un firewall: bloquea las conexiones entrantes por efecto de la traducción, pero no sustituye a unas reglas de seguridad.

NAT e IPv6

Con IPv6 hay direcciones públicas de sobra para cada equipo, por lo que NAT deja de ser necesario para ahorrar direcciones. La conectividad extremo a extremo se recupera y la seguridad se gestiona con un firewall. Se explica en el artículo de IPv6.

Errores frecuentes

  • Olvidar marcar una interfaz como inside u outside.
  • Escribir mal la ACL de NAT, o usar la máscara en lugar de la wildcard.
  • Publicar un servicio sin la regla de firewall que permita el tráfico.
  • No tener ruta por defecto, de modo que el tráfico traducido no sale.
  • Encontrarse con doble NAT sin saberlo y no poder publicar servicios.
  • Dejar el reenvío de puertos abierto hacia servicios sin proteger.

Preguntas frecuentes

¿PAT y NAT son lo mismo?

PAT es un tipo de NAT. NAT traduce direcciones IP; PAT traduce además los puertos para que varios equipos compartan una única IP pública.

¿Qué diferencia hay entre masquerade y SNAT?

Masquerade traduce el origen a la IP actual de la interfaz de salida, y es útil cuando esa IP cambia (por ejemplo, con DHCP). SNAT traduce a una IP fija que se indica en la regla.

¿Por qué no puedo acceder a mi servidor desde Internet?

Comprueba el reenvío de puertos, el firewall, que no haya doble NAT o CGNAT, y que la IP pública sea realmente la de tu router.

Siguientes pasos

Los contenidos tienen carácter técnico e informativo. Antes de aplicar una configuración en una red real, pruébala en un entorno controlado y sigue los procedimientos de tu empresa u operadora.