Métodos
42 (XI): NetPractice, redes sin servidor
Un simulador para configurar redes: máscaras, routing y lo que pasa cuando la IP está mal puesta.

42 (XI): NetPractice, redes sin servidor
En la recta final del tronco común, 42 me cambió el tercio: el proyecto no se compila. NetPractice es un simulador web con diez niveles donde tienes una topología de red —routers, switches y máquinas—, unos cuantos campos de configuración, algunos vacíos, y un objetivo seco: que dos equipos se hagan ping. O funciona, o no funciona. Aquí no vale ni el valgrind.
El problema
Mi bagaje con redes era el de un usuario avanzado: abrir un puerto en el router, poner una IP fija en casa, montar una VPN. Sabía que una máscara tiene cuatro números y que la pasarela es importante, pero nunca me había parado a pensar el porqué. El primer nivel ya te corrige la pretensión: uno de los campos viene mal de fábrica y tienes que entender qué hace cada valor antes de tocar nada. Y cuando llegan las topologías con media docena de equipos, adivinar deja de ser opción: las combinaciones posibles son un océano.
Cómo lo abordé
Me hice mi propio auxiliar: un script en Python con el módulo ipaddress que calcula dirección de red, dirección de broadcast y rango útil a partir de la IP y la máscara, y lo imprime en columnas para comparar hosts de un vistazo. Lo tenía atado a un alias de la terminal, así que trabajaba con el simulador en una ventana y el cálculo en la otra. Con eso, cada nivel se reducía al mismo método: identificar qué subredes hay, qué dirección libre puede tener cada interfaz dentro de la suya, y qué ruta le falta a cada router para llegar al destino. Los niveles finales añaden la parte delicada: la salida a Internet con su dirección por defecto, y hacer que las rutas coincidan en los dos sentidos.
Qué aprendí
Tres cosas. La máscara no es un trámite: es la frontera, y según cómo la pongas tu equipo decide si el destino está “al lado” o “más allá”. El ping tiene dos direcciones: el error clásico es configurar la ida y olvidar la vuelta. Y el routing es una lista de decisiones por orden de especificidad, no una especie de magia. Desde entonces, cuando una red no va, ya no reinicio a ciegas: bajo capa a capa hasta que encuentro el nivel donde se rompe.