29 octubre, 2024

CG-NAT , la nueva moda de los ISP?

De una charla de café con unos colegas, me llamo la atención del problema al tratar de conectarse por VPN, en donde otro colega que trabaja en un ISP hace la mención de CG-NAT que lo están empezando a usar mucho.


Que es?

CG-NAT (Carrier-Grade NAT) es una tecnología utilizada por los proveedores de servicios de Internet (ISP) para gestionar la escasez de direcciones IPv4. 

A diferencia del NAT tradicional, donde un router en la red del usuario traduce varias direcciones privadas a una dirección pública, con CG-NAT, este proceso se realiza en la red del operador, permitiendo que un solo grupo de direcciones IP públicas sea compartido entre muchos usuarios.

Es también conocido como Large-Scale NAT (LSN) o NAT masivo.

 

Funcionamiento de CG-NAT

CG-NAT permite que varios clientes compartan la misma dirección IP pública. Los routers del ISP traducen múltiples direcciones IP privadas a una IP pública compartida, lo que implica que varios usuarios pueden aparecer en Internet con la misma dirección pública. Este mecanismo de NAT está pensado como una solución temporal hasta la adopción masiva de IPv6

 

Diferencias con el NAT tradicional

  • Ubicación del proceso: En el NAT tradicional, el router del usuario realiza la traducción, mientras que en CG-NAT es el operador el que gestiona esta traducción en su infraestructura. Incluso se da doble NAT, el NAT realizado por el router del usuario y luego el CG-NAT

  • Escalabilidad: CG-NAT permite a los operadores reutilizar direcciones IPv4 entre múltiples usuarios, lo que ayuda a enfrentar el agotamiento de estas direcciones​

 

Desventajas y riesgos de seguridad (para el usuario)

  • Pérdida de control: Con CG-NAT, los usuarios pierden la capacidad de configurar port forwarding (redireccionamiento de puertos) o ejecutar servidores dentro de su red local, ya que la IP pública es compartida.

  • Problemas de conectividad: Algunas aplicaciones que dependen de conexiones extremo a extremo, como juegos en línea o servidores web, pueden no funcionar correctamente en un entorno CG-NAT.

  • Riesgos de seguridad: Compartir una IP pública entre varios usuarios dificulta la trazabilidad, lo que complica identificar la fuente de actividades maliciosas o sospechosas. Además, la traducción masiva de direcciones puede ser vulnerable a ciertos ataques que aprovechan esta complejidad​. Incluso que un cliente contamine la IP pública (ej ingresando en listas negras de spam y/o malware) afectando a varios usuarios.

 

Ventajas para los ISP

  • Proporcionar una dirección IPv4 pública a varios usuarios sin afectar la "calidad de la conexión"
  • Ampliar el uso del espacio limitado de direcciones IPv4
  • Reducción de costos de compra de direcciones IPv4 hasta en un 90%
  • Prepararse para el direccionamiento IPv6 habilitando Dual Stack v4-v6


IPv6 como alternativa

El objetivo a largo plazo es la migración a IPv6, que elimina la necesidad de CG-NAT al proporcionar un espacio mucho más grande de direcciones IP (más de 16 trillones de direcciones IPv6 disponibles vs algo más de 4.000 millones en IPv4). 

Cada dispositivo puede tener una IP pública única, lo que permite conexiones más directas y seguras, y restaura el modelo de comunicación extremo a extremo​

 

Pero es nuevo esto?

Comenzó a implementarse de manera significativa a finales de la década de 2000, cuando los ISP enfrentaron una creciente escasez de direcciones IPv4. El agotamiento de las direcciones IPv4, un recurso limitado, impulsó el uso de tecnologías como CG-NAT para poder compartir un solo rango de direcciones IP públicas entre varios usuarios.

Se volvió más común a partir de 2010 con el anuncio oficial del agotamiento de las direcciones IPv4 en las regiones más grandes del mundo, y ha ido en aumento desde entonces, particularmente entre operadores que no han implementado completamente IPv6


Verificando si estoy bajo CG-NAT

 

Rango reservado para CG-NAT (por lo general si siguen el RFC)

100.64.0.0 - 100.127.255.255

100.64.0.0/10


 Por lo que ingreso algún servicio que me diga cual es mi IP pública, ej:

https://www.cual-es-mi-ip.net/

 

Desde la consola de comando realizo una traza hacia la IP Pública

 

🪟 Para Windows

tracert <IP_Publica>

🐧 Para Linux

traceroute <IP_Publica>
tracepath <IP_Publica>

 

 Vamos obtener algo así

tracepath 187.12.7.210
1?: [LOCALHOST] pmtu 1500
1: ??? 1.385ms
1: ??? 2.199ms
2: router 4.241ms
3: 192.168.200.55 4.843ms
4: 10.54.224.1 15.243ms
5: 100.72.7.193 14.747ms
6: no reply
7: no reply

Resaltado en fucsia se ve que que tengo un salto dentro del rango 100.64.0.0 - 100.127.255.255 , fuck estoy bajo CG-NAT 😡

 

Referencias

  • https://www.adslzone.net/reportajes/operadores/que-es-cg-nat-operadores/
  • https://es.wikipedia.org/wiki/Carrier_Grade_NAT
  • https://www.xatakamovil.com/conectividad/tecnologia-cg-nat-influye-tu-conexion-a-internet-que-como-te-afecta-que-operadores-usan-como-desactivarla
  • https://www.redeszone.net/tutoriales/redes-cable/saber-operador-ip-publica-cg-nat/
  • https://www.profesionalreview.com/2024/04/14/cg-nat/
  • https://www.redeszone.net/tutoriales/redes-cable/saber-operador-ip-publica-cg-nat/
  • https://es.wikipedia.org/wiki/Traducci%C3%B3n_de_direcciones_de_red 
  • https://community.juniper.net/blogs/ricardo-dominguez/2023/08/03/centralized-deterministic-cgnat
  •  

0 comments:

Publicar un comentario