El misterio del CG-NAT

... o por qué los puertos de mi router no se abren.

Si has intentado abrir o mapear un puerto de tu router (algo necesario para muchas cosas que no haría el usuario medio de Internet) y aunque parecieras haberlo hecho bien, no había manera de que funcionara… puede que estés tras un CG-NAT.

Te explico (y de paso lo apunto para que no se me olvide) qué es, cómo se detecta, qué implica y cómo se «sale» de ahí.

¿Qué es un CG-NAT?

Es un Carrier-Grade NAT. Significa que la operadora que te proporciona el servicio de acceso a Internet está racaneando con las IPs. Su motivación es que se están acabando las direcciones IPv4 disponibles, y las nuevas IPv6 todavía están en proceso de implantación y tiene su coste ponerlas en marcha*. Así que las operadoras asignan una IPv4 a muchos usuarios, y de ahí ya redirigen a otras IPs secundarias asignadas a cada router. O sea que la dirección con la que apareces en público en la red de redes no es sólo tuya; la tuya de verdad, la de tu router, está oculta, y por eso se hace más complicado conectar voluntariamente con ella desde fuera.

En ese caso, se dice que estás tras un CG-NAT. Y si te dedicas a navegar sin más, esto te importa más bien poco. Pero si quieres hacer algo más, antes te tendrán que sacar y darte una IP pública para ti solito (dinámica o estática, eso ya es otro asunto).

¿En qué me puede afectar eso?

Estar tras un CG-NAT limita algunas cosas, y otras no. En mi caso impedía todo lo que fuera abrir un puerto y mapearlo o redirigirlo a una IP de mi red local, lo que a su vez hacía imposible configurar servidor web local con acceso público, o instalar una instancia de NextCloud a la que pudiera conectar desde cualquier otro sitio. Me volví loco siguiendo tutoriales que no funcionaban hasta que di con lo del dichoso CG-NAT.

¿Cómo sé si estoy detrás o dentro de… esa cosa?

Si quieres saber con seguridad si tu IP es pública o si tu operador te ha asignado una IP privada con Carrier Grade NAT, te recomiendo echar un vistazo a este post. Básicamente tienes que comparar la IP que te dice tu router que tienes, con la que un servicio web como WhatsMyIP te dice que tienes. Si son distintas, estás tras un CG-NAT. O abrir una terminal en Linux, usar el comando traceroute y ver si hay más de un salto hacia tu IP pública. Si lo hay, de nuevo, estás tras un CG-NAT.

Jod… estoy dentro, detrás, donde sea. ¿Cómo salgo?

Se lo pides amablemente a tu operadora. Yo les mandé un mail como este:

Tengo un servidor al que quiero acceder remotamente por SSH y FTP, y quiero usarlo con aplicaciones como Nextcloud, pero actualmente no puedo abrir puertos. Por lo que parece, estoy tras el CG-NAT de MiMaravillosaOperadora y no tengo IP pública. ¿Me podríais activar la IP pública?

Te harán caso, porque lo que están haciendo es un apaño temporal (y lo saben) y porque, total, sólo reclaman cuatro frikis como tú. Así que te sacarán, y listo.

¡Disfruta (con cuidado) de tus puertos abiertos!

* Como curiosidad, según Wikipedia, IPv4 posibilita 4 294 967 296 (232) direcciones de host diferentes, un número inadecuado para dar una dirección a cada persona del planeta, y mucho menos a cada dispositivo, teléfono, PDA, táblet, etcétera. En cambio, IPv6 admite cerca de 670 mil billones de direcciones por cada milímetro cuadrado de la superficie de la Tierra. Con ese igual sí nos da para un rato…

9 comentarios

PABLO PASTORINO 8 noviembre 2018 Contestar

ESTOY DENTRO DE UNA CG-NAT , PERO APARENTEMENTE TODO FUNCIONA BIEN…..NO SE CREO QUE REALMENTE ES MAS SEGURA….ESO DE ABRIR PUERTOS NO LO ENTIENDO…´PERO EL NAVEGADOR ME AVISA QUE ES LENTO AL INICIARSE, TENDRA QUE VER-…..

Jorge 9 noviembre 2018

Hola, Pablo. Si haces un uso normal del ordenador, no suele haber problema. Como mucho, puede que alguna página no te deje acceder, votar, publicar comentarios, etc. porque tu IP ya haya sido usada antes desde otro sitio. Pero eso rara vez sucede.

Igual con lo de abrir puertos: salvo que quieras tener un servidor local o conectar algún tipo de aplicación que lo necesite (torrent, juegos en red, a veces), no te va a hacer falta, y es mejor dejarlos cerrados.

Lo del navegador me da que no tiene nada que ver. Quizás tengas muchos plugisn instalados, o muchas pestañas abiertas.

Victor 28 noviembre 2018 Contestar

Yo no puedo abrir puerto pero aparentemente tengo ip publica porque hice lo del tracert a mi ip y solamente tengo 1 salto. Ya hable con el proveedor y ellos me dicen que ellos predefinidamente ya dejan todos los puertos abiertos para el cliente. Amigos que tienen el mismo proveedor le pasa lo mismo nose si me podrian dar una mano con este tema. Gracias.

Jorge 3 febrero 2019

Hola, Víctor. Me parece muy raro eso de que «predefinidamente ya dejan todos los puertos abiertos». En teoría deberían dejarlos todos cerrados, y que los abras tú si lo necesitas.

Te puedes asegurar de que no estás tras un CG-NAT mirando la IP que te da el router y la que te dé WhatsMyIP, pero en principio por lo que dices del comando traceroute, tienes IP pública.

Igual el problema está en la configuración del router. ¿Has mirado que tienes UPnP activado, y/o que los puertos aparecen abiertos en el panel de control del router?.

Si todo está bien en el router, puede que el problema esté en el firewall del sistema operativo, que puede estar bloqueando los puertos que intentas abrir.

Vidal 2 febrero 2019 Contestar

A mi me han dado una ip pública pero la velocidad a bajado por que puede ser?

Jorge 3 febrero 2019

No debería ser por tener IP pública, desde luego. Lo mejor es que reclames a tu compañía lo de la velocidad, y que digan ellos.

Marcelo Cobeña 10 marzo 2019 Contestar

Hola a todos para probar lo del CG-NAT es probar en android apks iptv (gratuitas) canales de televisión
Y si se cuelga reclama aunque deberían omitir lo del iptv y decir lo que dice el foro «según para ellos no es legal aun iptv»

Jonathan 25 noviembre 2019 Contestar

Quiero informar que el ISP Mundo Pacífico de Chile está con CG-NAT y no sirve de nada pedirles que asignen IP pública porque ellos no hacen eso. Este ISP ofrece fibra óptica con muchos Mbps pero el servicio es decadente y de muy baja calidad ya que tienen desconexiones y caídas constantes se niegan a implementar IPv6.
Es imposible descargar algo de Mega porque se comparten las IPs entre muchos clientes y siempre salta el límite de descargas y la mayoría de las IPs están bloqueadas por Sony para jugar en la PSN.

Jorge Toledo 30 noviembre 2019

Hola, Jonathan. Gracias por la información, puede resultar de utilidad para otras personas. Todos los ISP deberían dar la opción de tener IP pública.

Deja un comentario