Skip to main content

CGNAT: ¿Por qué tu operadora no te deja acceder a tu casa desde fuera?

· 19 min read
David Puziol Prata
DevSecOps at @ dLocal

Si alguna vez intentaste acceder a una cámara de seguridad, un servidor doméstico o cualquier servicio en tu casa desde fuera de tu red y no pudiste, probablemente estás detrás de CGNAT. Vamos a entender qué significa esto y por qué las operadoras lo hacen.

El problema: IPv4 se agotó

Cuando se creó internet, el protocolo IPv4 fue diseñado con direcciones de 32 bits, permitiendo aproximadamente 4.3 mil millones de direcciones únicas. En ese momento, parecía más que suficiente.

Entendiendo la dirección IPv4

Hagamos un repaso rápido sobre IPv4, que es la versión 4 del protocolo IP que todos conocemos. Es bueno hablar de esto porque también tenemos IPv6, pero no lo cubriremos en este post.

Una dirección IPv4 está compuesta por 4 octetos separados por puntos:

   192   .   168   .    1    .    1
│ │ │ │
1er octeto 2do octeto 3er octeto 4to octeto

¿Por qué "octeto"? Porque cada número representa 8 bits (1 byte). Y 8 bits solo pueden representar valores de 0 a 255:

8 bits = 2⁸ = 256 combinaciones posibles (0 a 255)

Binario: 00000000 = 0
11111111 = 255
10101000 = 168

Ejemplo completo:
192.168.1.1 en binario:
11000000.10101000.00000001.00000001

No vamos a entrar en el estudio de la representación de números en binario, aunque si trabajas en TI deberías entender esto perfectamente.

Total de direcciones posibles:

4 octetos × 8 bits = 32 bits
2³² = 4.294.967.296 direcciones (aproximadamente 4.3 mil millones)

Bloques de IP reservados

No todos los 4.3 mil millones de direcciones están disponibles para uso público. Varios bloques fueron reservados para propósitos específicos:

RangoCIDRUsoCantidad
0.0.0.0 – 0.255.255.2550.0.0.0/8Indica "esta red" u origen indefinido (antes de tener IP)16.777.216
10.0.0.0 – 10.255.255.25510.0.0.0/8Redes internas de empresas y centros de datos16.777.216
100.64.0.0 – 100.127.255.255100.64.0.0/10Uso interno de operadoras para CGNAT4.194.304
127.0.0.0 – 127.255.255.255127.0.0.0/8Localhost - siempre apunta a la propia máquina16.777.216
169.254.0.0 – 169.254.255.255169.254.0.0/16Auto-asignado cuando DHCP falla (APIPA)65.536
172.16.0.0 – 172.31.255.255172.16.0.0/12Redes internas corporativas medianas1.048.576
192.0.0.0 – 192.0.0.255192.0.0.0/24Reservado para protocolos especiales de IETF256
192.0.2.0 – 192.0.2.255192.0.2.0/24Ejemplos en documentación y tutoriales256
192.88.99.0 – 192.88.99.255192.88.99.0/24Transición IPv6 (6to4) - obsoleto256
192.168.0.0 – 192.168.255.255192.168.0.0/16Redes domésticas (tu Wi-Fi de casa)65.536
198.18.0.0 – 198.19.255.255198.18.0.0/15Pruebas de rendimiento y benchmark de red131.072
198.51.100.0 – 198.51.100.255198.51.100.0/24Ejemplos en documentación y tutoriales256
203.0.113.0 – 203.0.113.255203.0.113.0/24Ejemplos en documentación y tutoriales256
224.0.0.0 – 239.255.255.255224.0.0.0/4Multicast - transmisión a múltiples destinos (IPTV)268.435.456
240.0.0.0 – 255.255.255.254240.0.0.0/4Reservado para "uso futuro" (nunca liberado)268.435.456
255.255.255.255255.255.255.255/32Broadcast - enviar a todos en la red local1

Notación CIDR: ¿Qué significa /8, /16, /24?

Habrás notado la notación /8, /16, /24 en los rangos anteriores. Esta es la notación CIDR (Classless Inter-Domain Routing) e indica cuántos bits son fijos en la red.

/8  = primeros 8 bits fijos  = 1er octeto fijo
/16 = primeros 16 bits fijos = 1er y 2do octetos fijos
/24 = primeros 24 bits fijos = 1er, 2do y 3er octetos fijos
/32 = todos los 32 bits fijos = una única IP

Ejemplo práctico:

192.168.1.0/24 significa:
┌─────────────────────────────────────────┐
│ 192.168.1.XXX │
│ ─────────── ─── │
│ fijo (24) variable (8 bits) │
│ │
│ Rango: 192.168.1.0 hasta 192.168.1.255 │
│ Total: 2⁸ = 256 direcciones │
└─────────────────────────────────────────┘

10.0.0.0/8 significa:
┌─────────────────────────────────────────┐
│ 10.XXX.XXX.XXX │
│ ── ─────────── │
│ fijo variable (24 bits) │
│ │
│ Rango: 10.0.0.0 hasta 10.255.255.255 │
│ Total: 2²⁴ = 16.777.216 direcciones │
└─────────────────────────────────────────┘

Tabla de referencia rápida:

CIDRMáscaraIPs disponiblesEjemplo de uso
/8255.0.0.016.777.216Grandes corporaciones
/16255.255.0.065.536Empresas medianas
/24255.255.255.0256Red doméstica típica
/28255.255.255.24016Pequeñas oficinas
/30255.255.255.2524Enlaces punto a punto
/32255.255.255.2551Un único host
Consejo de cálculo

Para saber cuántas IPs hay en un bloque: 2^(32 - CIDR)

  • /24 = 2^(32-24) = 2^8 = 256 IPs
  • /16 = 2^(32-16) = 2^16 = 65.536 IPs
  • /8 = 2^(32-8) = 2^24 = 16.777.216 IPs
¿Qué te importa a ti?

Los bloques en negrita en la tabla son los que encuentras en el día a día:

RangoCapacidadDónde lo encuentras
10.X.X.X16 millones de IPsEmpresas, centros de datos, VPNs corporativas
172.16.X.X1 millón de IPsAmbientes corporativos medianos
192.168.X.X65 mil IPsRedes domésticas, pequeñas oficinas

¿Por qué 192.168.X.X es el predeterminado en los equipos de red?

Los routers, modems y access points vendidos al público vienen de fábrica configurados con 192.168.0.x o 192.168.1.x porque:

  • 65 mil IPs es suficiente para la mayoría de los casos de uso
  • Los equipos de consumo soportan como máximo ~250 dispositivos simultáneos
  • Es una convención de la industria que facilita la configuración y soporte técnico
  • Los modems de operadoras y la mayoría de dispositivos de red accesibles al público usan este estándar

Si accedes a la interfaz de tu router o modem ahora, probablemente verás 192.168.0.1 o 192.168.1.1 como gateway predeterminado. Si quieres cambiar para usar otro bloque como 10.X.X.X/8, es perfectamente posible.

¿Cuántas IPs son realmente públicas?

Calculemos lo que queda después de todos los bloques reservados de forma genérica.

Total IPv4:                      4.294.967.296

Restando reservados:
- 0.0.0.0/8 (esta red): -16.777.216
- 10.0.0.0/8 (privado): -16.777.216
- 100.64.0.0/10 (CGNAT): -4.194.304
- 127.0.0.0/8 (loopback): -16.777.216
- 169.254.0.0/16 (link-local): -65.536
- 172.16.0.0/12 (privado): -1.048.576
- 192.0.0.0/24 (IETF): -256
- 192.0.2.0/24 (TEST-NET-1): -256
- 192.88.99.0/24 (6to4): -256
- 192.168.0.0/16 (privado): -65.536
- 198.18.0.0/15 (benchmark): -131.072
- 198.51.100.0/24 (TEST-NET-2): -256
- 203.0.113.0/24 (TEST-NET-3): -256
- 224.0.0.0/4 (multicast): -268.435.456
- 240.0.0.0/4 (reservado): -268.435.456
- 255.255.255.255 (broadcast): -1
─────────────
Total reservado: 592.708.865

═══════════════════════════════════════════════
IPs públicas disponibles: 3.702.258.431
(aproximadamente 3.7 mil millones)
═══════════════════════════════════════════════
Y hay más...

Además de los bloques anteriores, existen IPs asignadas a organizaciones que nunca las usaron, bloques del DoD (Departamento de Defensa de EE.UU.) que no son enrutados públicamente, e IPs fragmentadas que no pueden agregarse eficientemente. El número real de IPs públicas utilizables es aún menor.

En la práctica, quedan mucho menos de 4 mil millones de IPs públicas utilizables. Y con miles de millones de dispositivos conectados, no hay para todos.

El problema es que nadie previó que tendríamos:

  • Miles de millones de smartphones
  • Computadoras en cada casa
  • Smart TVs, refrigeradores, bombillas inteligentes
  • Cámaras de seguridad, sensores IoT
  • Servidores, centros de datos, cloud computing

En 2019, las direcciones IPv4 oficialmente se agotaron. IANA (Internet Assigned Numbers Authority) distribuyó los últimos bloques disponibles.

NAT: La primera solución

Incluso antes de que se agotara IPv4, ya estaba claro que no habría IP pública para todos. La solución fue NAT (Network Address Translation).

El gateway de red (generalmente el router) es el dispositivo que ejecuta la función de NAT. Es responsable de traducir las direcciones IP privadas de tu red interna a la dirección IP pública que recibiste de la operadora, y viceversa. Por eso el router está "entre" tu red local e internet.

Cómo funciona el NAT doméstico

Tu modem/router en casa usa NAT. Tienes una IP pública de la operadora y varias IPs privadas internas:

Funcionamiento:

Imagina que tres dispositivos acceden a sitios al mismo tiempo (todos en el puerto 443 - HTTPS):

DispositivoIP InternaPuerto LocalDestinoPuerto Destino
PC192.168.0.1052431google.com443
Celular192.168.0.1148712youtube.com443
Smart TV192.168.0.1261204netflix.com443

El router crea una tabla NAT para rastrear cada conexión:

┌─────────────────────────────────────────────────────────────────┐
│ TABLA NAT │
├──────────────┬─────────────────────┬────────────────────────────┤
│ Puerto Externo│ IP:Puerto Interno │ Destino │
├──────────────┼─────────────────────┼────────────────────────────┤
│ 50001 │ 192.168.0.10:52431 │ google.com:443 │
│ 50002 │ 192.168.0.11:48712 │ youtube.com:443 │
│ 50003 │ 192.168.0.12:61204 │ netflix.com:443 │
└──────────────┴─────────────────────┴────────────────────────────┘

Lo que sucede:

  1. PC accede a google.com:443 → Router asigna puerto externo 50001
  2. Google responde a 189.10.20.30:50001 → Router consulta tabla → Reenvía a 192.168.0.10:52431
  3. Mismo proceso para celular (puerto 50002) y TV (puerto 50003)

Todos los dispositivos comparten la misma IP pública, pero cada conexión usa un puerto externo diferente. Así es como decenas de dispositivos navegan simultáneamente con solo una IP.

Para hacer este NAT en casa usamos las IPs privadas que mencionamos anteriormente (192.168.X.X, 172.16.X.X o 10.X.X.X)

NAT con Modem y Router Privado

Muchas personas prefieren usar su propio router en lugar del equipo de la operadora, ya sea por más características, mejor Wi-Fi o mayor control sobre la red. En este caso, hay dos configuraciones posibles:

Escenario 1: Double NAT (NAT doble)

Si simplemente conectas tu router al puerto LAN del modem de la operadora, tendrás dos dispositivos haciendo NAT - lo que puede causar problemas:

Problemas del Double NAT:

  • Port forwarding necesita configurarse en ambos dispositivos
  • Algunos servicios no funcionan bien (VoIP, juegos, VPN)
  • Más complejidad para troubleshooting
  • Latencia ligeramente mayor

Escenario 2: Modem en Modo Bridge (ideal)

La mejor solución es poner el modem de la operadora en modo bridge. En este modo, el modem no hace NAT - solo convierte la señal (fibra/coaxial a Ethernet) y pasa la conexión. Tu router recibe la IP pública directamente:

Ventajas del Modo Bridge:

  • Un único NAT - tu router recibe la IP pública directamente
  • Port forwarding configurado solo en tu router
  • Mejor rendimiento para juegos y VoIP
  • Control total de tu red
Atención

No todos los modems de operadora permiten modo bridge. Algunos bloquean esta opción o requieren que llames al centro de soporte para solicitarlo.

Servicios que pueden dejar de funcionar en modo bridge:

  • Telefonía VoIP - El teléfono fijo de la operadora generalmente usa el modem para funcionar. En bridge, el servicio de voz deja de funcionar
  • TV de pago (IPTV) - Servicios de TV que usan la misma conexión de internet (IPTV) dependen del modem para recibir la señal multicast
  • Wi-Fi del modem - El Wi-Fi integrado del modem se desactiva en modo bridge

Si usas teléfono fijo o TV de la operadora por el mismo equipo, el modo bridge puede no ser viable. En este caso, usa DMZ como alternativa.

Escenario 3: DMZ (alternativa al Bridge)

Cuando el modo bridge no está disponible o causa pérdida de servicios, una alternativa es configurar la IP de tu router personal como DMZ en el modem. Sin embargo, es importante entender: DMZ no elimina el NAT del modem.

Es el mismo escenario que el Double NAT.

Lo que hace DMZ:

El modem aún hace NAT, pero reenvía automáticamente TODO el tráfico entrante (todos los puertos) al dispositivo configurado como DMZ. Es como un "port forwarding automático de todos los puertos".

AspectoModo BridgeDMZ
NAT en modemNo
Tu router recibeIP públicaIP privada (192.168.x.x)
Cantidad de NAT1 (solo tu router)2 (double NAT)
Port forwarding funcionaSí, solo en tu routerSí, solo en tu router
RendimientoMejorLigeramente peor
¿Cuándo usar DMZ?

DMZ es una buena alternativa cuando:

  • El modo bridge no está disponible en el modem
  • No quieres configurar port forwarding manualmente en el modem
  • Necesitas una solución rápida que "simplemente funciona"

Resumen: Bridge es lo ideal (un solo NAT), DMZ es un workaround aceptable (aún double NAT, pero con reenvío automático).

CGNAT: NAT sobre NAT

Con IPv4 agotado, las operadoras necesitaban conectar más clientes de los que había IPs públicas disponibles. La solución fue aplicar NAT de nuevo, ahora en su infraestructura.

CGNAT = Carrier-Grade NAT (NAT a nivel de operadora).

Tres configuraciones diferentes, mismo problema:

UbicaciónConfiguraciónNATs internosIP recibida de operadora
Casa 1Solo modem1 (modem)100.64.1.10 (CGNAT)
OficinaModem bridge + router1 (router)100.64.1.11 (CGNAT)
Casa 2Modem DMZ + router2 (modem + router)100.64.1.12 (CGNAT)

Independientemente de la configuración interna, todas las casas reciben una IP del rango CGNAT (100.64.x.x) y comparten la misma IP pública (189.10.20.30) en internet.

Lo que sucede:

  1. Tu casa recibe una IP "falsa" del rango 100.64.0.0/10 (reservado para CGNAT)
  2. Varias casas (a veces cientos) comparten la misma IP pública
  3. La operadora hace NAT de nuevo antes de salir a internet
Problema: IP compartida = responsabilidad compartida

Como cientos de usuarios comparten la misma IP pública, si cualquiera de ellos hace algo que resulte en bloqueo de IP, todos son afectados.

Escenarios comunes:

  • Un vecino participa en un ataque DDoS (incluso sin saberlo, con máquina infectada)
  • Alguien envía spam o hace scraping agresivo
  • Intentos de login masivos (brute force)
  • Actividades sospechosas que activan sistemas de seguridad

Resultado: Tú, trabajando desde casa, de repente no puedes acceder a:

  • APIs de servicios (Google, GitHub, AWS)
  • Sitios con protección anti-bot (Cloudflare, reCAPTCHA)
  • Servicios de streaming que bloquean IPs sospechosas
  • Plataformas de trabajo remoto

Y lo peor: no hiciste nada malo, pero estás "pagando" por el comportamiento de otro usuario que comparte la misma IP.

Rango reservado para CGNAT (RFC 6598)

100.64.0.0 - 100.127.255.255 (/10)
Total: 4 millones de direcciones para uso interno de operadoras

Si tu router muestra una IP que comienza con 100.64.x.x hasta 100.127.x.x, estás detrás de CGNAT.

No todas las operadoras siguen el estándar

El rango 100.64.0.0/10 es el oficialmente designado para CGNAT, pero no es obligatorio. Algunas operadoras usan otros rangos privados:

  • 10.0.0.0/8 - Común en operadoras más pequeñas o antiguas
  • 172.16.0.0/12 - Menos común, pero ocurre

Problema: Si la operadora usa 10.x.x.x para CGNAT y tú usas 10.x.x.x en tu red interna, puede haber conflicto de direcciones y problemas de enrutamiento.

Consejo: Si usas tu propio router, prefiere usar 192.168.X.X internamente para evitar conflictos con posibles rangos CGNAT de la operadora.

Cómo saber si estás detrás de CGNAT

Método 1: Verificar el rango de IP

Si la IP WAN de tu router está en estos rangos, es CGNAT:

  • 100.64.0.0 - 100.127.255.255 (rango oficial CGNAT)
  • 10.x.x.x (algunas operadoras usan)

Accede a la interfaz de tu modem/router y verifica la IP WAN (o IP externa/pública). Si comienza con estos números, estás detrás de CGNAT.

Método 2: Comparar IP WAN con IP pública

Compara la IP que tu router muestra como WAN con la IP que internet ve:

# Verifica tu IP pública por internet
curl ifconfig.me

Si la IP del router (WAN) es diferente de la IP devuelta por el comando anterior, estás detrás de CGNAT.

Método 3: Traceroute

traceroute 8.8.8.8

Si aparece un salto extra con IP 100.64.x.x o 10.x.x.x antes de salir a internet, es CGNAT.

El problema para quienes quieren exponer servicios

Con CGNAT, no puedes recibir conexiones entrantes. Esto afecta directamente:

Sin CGNAT (funciona):
Internet → Tu IP Pública → Router → Cámara

Con CGNAT (no funciona):
Internet → IP Compartida → ??? → ¿Cómo llegar a TI?

Problemas específicos

ServicioProblema con CGNAT
Port forwardingNo funciona - el puerto está en la operadora, no contigo
DDNSInútil - la IP pública no es tuya
Servidor VPNImposible recibir conexiones
Cámaras IPAcceso externo bloqueado
Juegos P2PNAT tipo 3 (restringido), lag, desconexiones
TorrentBaja velocidad, pocos peers

Soluciones

1. Pedir IP pública a la operadora

La primera opción es llamar a la operadora y solicitar una IP pública. Las respuestas varían:

Respuesta de la operadoraQué significa
IP pública dinámicaSales del CGNAT y recibes una IP pública que cambia periódicamente. Resuelve el problema - usa DDNS para mantener acceso
IP pública fijaRaro para planes residenciales, generalmente solo en planes empresariales o con tarifa adicional
Apertura de puertos en CGNATLa operadora configura port forwarding en su servidor CGNAT para tu conexión. Funciona, pero limitado a puertos específicos
No ofrecemosAlgunas operadoras simplemente no tienen esta opción
Cómo pedir

Llama a la operadora y pide "salir del CGNAT" o solicita una "IP pública válida". Argumentos que suelen funcionar:

  • "Lo necesito para cámaras de seguridad"
  • "Lo uso para trabajo remoto / home office"
  • "Necesito acceder a mi red remotamente"

Si niegan la IP pública, pregunta si pueden abrir puertos específicos en el CGNAT.

Apertura de puertos en CGNAT

Cuando la operadora "abre un puerto" para ti en el CGNAT, está configurando un port forwarding en el servidor CGNAT que redirige el tráfico de ese puerto a tu conexión.

Es mejor que nada, pero tener tu propia IP pública sigue siendo la solución ideal.

Alternativa: cambiar de operadora

Si tu operadora no ofrece IP pública, investiga otras opciones en tu zona. Al contratar un nuevo servicio:

  1. Confirma por escrito (chat, email o grabación) que el plan incluye IP pública
  2. Guarda las evidencias - protocolos de atención y conversaciones
  3. Exige lo prometido - si no cumplen, tienes base para reclamar ante organismos reguladores.

2. Usar IPv6

IPv6 tiene direcciones suficientes para cada grano de arena del planeta:

IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Formato: 128 bits
Total: 340 undecillones (3.4 × 10³⁸)

Si tu operadora ofrece IPv6 nativo:

# Verificar si tienes IPv6
curl -6 ifconfig.me

Problema: No todos los lugares desde donde quieres acceder tienen IPv6.

3. Túneles y servicios de relay

La solución más elegante para CGNAT es usar túneles inversos. El concepto es simple: como no puedes recibir conexiones entrantes, inicias una conexión saliente a un servidor externo que actúa como intermediario.

Cloudflare Tunnel (gratuito)

Cloudflare Tunnel permite exponer servicios HTTP/HTTPS sin abrir puertos en el router. Funciona así:

¿Por qué funciona con CGNAT?

  • El túnel se crea por el puerto de salida (tu servidor conecta a Cloudflare)
  • Las conexiones de salida funcionan normalmente, incluso detrás de CGNAT
  • El agente cloudflared necesita estar ejecutándose continuamente en tu servidor
  • Los usuarios acceden a través del dominio configurado en Cloudflare

Tailscale / ZeroTier (VPN mesh)

Crea una red privada virtual entre tus propios dispositivos, independientemente de dónde estén:

Todos los dispositivos con Tailscale/ZeroTier instalado se ven entre sí como si estuvieran en la misma red local.

Limitación importante

Tailscale y ZeroTier no exponen servicios a internet público. Terceros necesitarían instalar el cliente y ser parte de tu red para acceder.

Cuándo usar cada solución:

NecesidadSolución
Acceder a tu casa desde tu celular/laptopTailscale / ZeroTier
Permitir que cualquier persona acceda a un servicioCloudflare Tunnel
Compartir con amigos/familia específicosTailscale (agregándolos a la red)

Tailscale tiene una característica llamada Tailscale Funnel que permite exponer servicios públicamente, pero es una característica separada del VPN mesh básico.

4. VPS como puente

Si tienes un VPS (servidor virtual) con IP pública, puedes crear un túnel inverso SSH. Tu servidor en casa conecta al VPS, y el VPS redirige el tráfico de vuelta por el túnel.

Es una solución más técnica, pero funciona bien para quienes ya tienen su propia infraestructura.

¿Por qué las operadoras usan CGNAT?

Razones económicas

  1. IPv4 es caro: Los bloques de IPs públicas se venden en el mercado secundario por precios cada vez más altos
  2. Economías de escala: 1 IP pública para cientos de clientes = ahorro masivo en IPs

Razones técnicas

  1. IPv4 se agotó: No hay más IPs para distribuir
  2. IPv6 no despegó: Adopción lenta, muchos sitios aún no lo soportan
  3. Funciona para el 95% de usuarios: Netflix, YouTube, redes sociales funcionan normal

IPv6: La solución definitiva

IPv6 resuelve el problema de forma permanente:

IPv4: 4 mil millones de direcciones (se agotó)
IPv6: 340.000.000.000.000.000.000.000.000.000.000.000.000 direcciones

Con IPv6, cada dispositivo puede tener su propia IP pública. No se necesita NAT.

¿Por qué no hemos migrado aún?

  • Equipos heredados sin soporte
  • Costo de actualización de infraestructura
  • "Funciona así, ¿por qué cambiar?"
  • Falta de presión del mercado

Resumen

Situación¿Puede recibir conexiones?Solución
IP pública (sin NAT)Ideal
NAT simple (IP pública en router)Sí, con port forwardConfigurar router
CGNATNoPedir IP pública, túneles, VPN mesh
IPv6 nativoUsar si está disponible

Si necesitas acceder a servicios en casa remotamente, lo primero que debes hacer es verificar si estás detrás de CGNAT. Si lo estás, las opciones son:

  1. Pedir IP pública a la operadora (mejor opción si está disponible)
  2. Usar túneles como Cloudflare Tunnel o Tailscale (funciona siempre)
  3. Esperar que IPv6 se vuelva universal (puede tardar años)

La buena noticia es que existen soluciones. La mala noticia es que CGNAT llegó para quedarse mientras el mundo no migre a IPv6.