
El fin de IPv4 llegó ¿cómo te puede afectar?
El fin de IPv4 ya llegó a nuestras vidas hace varios años. Lo que nadie imaginó es cómo iba a suceder y que impacto tendría en el día a día. En este post te voy a explicar que esta sucediendo.
¿Qué es IPv4?
Cuando el internet nació se tuvo que establecer una forma de identificar los dispositivos dentro de la red global. Las direcciones IP son similares a la dirección de un hogar, sin esta información nadie sabría cómo llegar a un domicilio particular. Así pues, una IP es como el domicilio de un dispositivo dentro de internet. IPv4 son solo las reglas que se establecieron para saber cómo se define y usa una IP, dentro de estas reglas se definió un límite de direcciones de aprox. 4 mil millones.
El crecimiento tan acelerado en tecnología provocó un aumento en el consumo de dispositivos personales y empresariales, desde centros de datos hasta servicios básicos de internet, lo cual ha provocado que las direcciones IP se vayan agotando. Lo anterior no quiere decir que IPv4 va a desaparecer, simplemente han ido quedando menos direcciones IP para usar. Esto dio como resultado que los proveedores de internet implementaran CGNAT.
¿Qué es CGNAT?
Para ponerlo de manera sencilla, Carrier-Grade NAT (CGNAT) es una red que utilizan los proveedores de internet para compartir una IP pública entre múltiples usuarios (usuarios en este contexto se refiere a clientes). Esta red se encuentra entre la red de tu hogar e internet, no la vemos, pero está allí.
La red del proveedor de internet siempre ha existido y nuestros datos tenían que pasar por dicha red incluso antes de CGNAT. La diferencia es que antes cada cliente tenía una dirección IP pública y ahora varios clientes comparten una misma dirección IP pública.
CGNAT nació con esa idea de gestionar mejor el número de IPs disponibles para los millones de usuarios y dispositivos conectados.
El impacto de CGNAT en self-hosting
Pertenezco a una generación que ha tenido la dicha de ver como el internet y la tecnología ha ido evolucionando. Aunque no estuve en los inicios de internet, alcancé a ver como se fue implementando poco a poco en la vida cotidiana y los hogares. Cuando empecé a explorar en la matrix (internet), aprendí varias cosas relacionadas a networking. Entre ellas, aprendí a montar mis propios servicios de red como: FTP
, SSH
y el santo grial, mi propia página web (HTTPS
). Incluso llegué a montar un servidor VPN
que resultaba bastante útil. Lo único que tuve que hacer fue aprender a hacerlo por mí mismo. Estos servicios estaban disponibles a través de internet, usando la IP pública y el puerto correcto.
Lo anterior era posible cuando no existía CGNAT. El proceso para levantar un servicio como una página web era muy sencillo. Primero se instalaba el servicio en alguna computadora del hogar y posteriormente se abrían los puertos en el módem y se indicaba que dispositivo dentro de la red es el que ofrecía el servicio. ¿Te suena todo esto?, se trata de una simple configuración de port forwarding
.
Ahora con CGNAT implementado, las cosas cambian. Al realizar una configuración de port forwarding
el funcionamiento se limita a la red CGNAT que nos asigna el proveedor. La configuración en si misma sigue funcionando, pero no a nivel de internet sino del proveedor. Esto impide ofrecer servicios de red, ya que el acceso a ellos no es posible desde internet.
En realidad, aún podrías hacerlo, pero bastante limitado a la red CGNAT del proveedor. Por ejemplo, si montas un servidor web y configuras el port forwarding
, este podría funcionar en un rango geográfico cercano a tu hogar, ya que posiblemente esa área geográfica esta en la misma CGNAT del proveedor.
Acá es importante comprender que, como clientes, no podemos controlar la configuración de red de la CGNAT. Esa red es exclusiva del proveedor y solo ellos pueden modificar las configuraciones. Bien podríamos solucionar el problema si existiera una forma de crear un nuevo port forwarding a nivel CGNAT, pero de momento no es posible y si lo fuera, seguro existiría un problema en la gestión de los puertos.
¿Existe una solución a CGNAT?
La respuesta es sí, aunque todas las soluciones serán limitadas, dependerán del proveedor de internet o de pagar por alguna opción de nube. Lo primero que puedes intentar es preguntar al proveedor de internet si pueden sacarte de la CGNAT (lo cual dudo, especialmente en México) o si tiene algún servicio de IP pública estática (que seguramente tendrá un costo). Algunos proveedores ofrecen servicio de internet empresarial que incluye una IP estática pero el costo es bastante elevado. Otra opción es utilizar IPv6
, esto tiene su complejidad y también depende de que el proveedor de internet soporte esta tecnología.
Otras soluciones pueden ser pagar por un servidor en la nube (Virtual Private Server
) o usar servicios de nube como Azure
, AWS
, Google Cloud
, etc. Ten en cuenta que todo esto implica un gasto adicional. En el caso de servicios en la nube, existen opciones free tier donde no pagas siempre y cuando no excedas algún límite como ancho de banda o solicitudes al servidor. En todo caso hay que ser cuidadosos para evitar esas facturas inesperadas de $500k.
Conclusión
Lo aceptaré, exageré en el título, pero no está del todo equivocado. Ahora una IP pública no se puede conseguir tan fácil como antes (a menos de que pagues por ella). CGNAT surgió como una solución al problema del límite de direcciones IP disponibles en internet. Los proveedores de internet empezaron a implementar CGNAT, desplazando a los clientes un nivel más en el stack de redes. Esto acarreó un problema para aquellos que ofrecían servicios de red desde la red del hogar. Y como ya se mencionó anteriormente, existen soluciones para saltarse CGNAT, ellas implican usar (pagar) un servicio externo o de nube.
Duele un poco ver como se perdió ese gran poder, el control de los servicios de red. No es como que hayan desaparecido, hoy el mercado está lleno de opciones para consumir, pero era divertido jugar a ser el mini cloud provider.