Laboratorio de enrutamiento estático: construye rutas en una red pequeña en tu navegador

El primer laboratorio de redes: cuatro máquinas, construidas dentro de la única máquina virtual Ubuntu del alumno, h1 y h2 como equipos y r1 y r2 como routers que ejecutan FRRouting. Los routers solo conocen las redes a las que están conectados, así que un ping de h1 a h2 falla, y el alumno tiene que descubrir por qué y corregirlo con rutas estáticas.

No hay licencia de Cisco ni nada que instalar: cada router es un network namespace con su propio FRRouting, y la consola es vtysh, la que los alumnos encuentran en equipos reales.

Qué aprenden los alumnos

Cómo atraviesa un paquete los routers: usar traceroute -n e ip route en un equipo y show ip route en un router para encontrar dónde se detiene un paquete, añadir rutas estáticas en los routers que las necesitan y solo en ellos, y comprobar el camino con ping y traceroute. Una red de gestión detrás de r2 debe seguir siendo inalcanzable desde h1, así que añaden las rutas que pide el laboratorio y nada más amplio. Guardan cada router con write memory.

La topología

h1 se conecta a r1, r1 a r2 y r2 a h2, con una red de gestión en un cuarto enlace detrás de r2. Las direcciones están en el README que el laboratorio deja en la carpeta personal, que dice qué hacer y no da ninguna respuesta.

Ejecútalo en tu navegador

Los laboratorios de máquina virtual se asignan como tarea de laboratorio en un módulo, y el ejemplo está en la página del laboratorio.

  1. Añade el laboratorio. En un módulo que impartes, añade una tarea y elige la tarjeta «Laboratorio de máquina virtual Ubuntu». La página muestra una breve descripción de la máquina en lugar de un archivo compose.
  2. Parte del ejemplo. La página ofrece tres laboratorios de redes de ejemplo. Elige Networking lab 1: static routing. Usar un ejemplo sustituye el texto, y «Deshacer» recupera el tuyo.
  3. Publica e inicia tu propia copia. Publica y después pulsa «Iniciar». El script de preparación del laboratorio instala FRRouting y construye la topología desde el archivo de Ubuntu la primera vez que se inicia la máquina virtual, en unos diez segundos.
  4. Abre el terminal. Abre su terminal y lee README.md en la carpeta personal: dice qué hacer y no da ninguna respuesta. netlab status lista las máquinas y netlab shell r1 abre la consola de un router.

Una lección básica en este laboratorio

Static Routing Basics es una lección breve hecha en este laboratorio, que es una máquina virtual Ubuntu: cada paso está explicado y tiene un botón Ejecutar que escribe su comando en el terminal de la máquina y muestra lo que respondió el router. El alumno conoce las máquinas, hace ping al router de al lado, intenta cruzar la red y falla, lee la tabla del router para ver por qué y observa dónde se detiene un paquete con traceroute.

Miran alrededor y dejan la tarea propia del laboratorio, hacer que la red funcione, al alumno, así que la lección no da respuestas. Una cuenta personal gratuita la recibe en el módulo Basics, que está en Inicio, cada centro puede copiarla de la carpeta Basics de la Biblioteca, y un centro nuevo la tiene en un módulo llamado Networking Basics (Sample). Es deliberadamente breve: muestra a un docente lo que es una lección hecha en un laboratorio, y el laboratorio hace el resto. Copia la lección en un módulo propio para cambiarla.

Cómo se califica

El laboratorio tiene una comprobación. Se ejecuta sobre una copia de la máquina guardada tras un arranque limpio, así que solo ve lo que el alumno guardó con write memory, y solo se supera si el estado real se cumple: las rutas estáticas están guardadas en vtysh en ambos routers, h1 llega a h2 por el camino que pasa por los routers y la red de gestión sigue siendo inalcanzable. Una ruta escrita con ip route y nunca guardada no la supera, y la primera línea de lo que imprimió la comprobación dice por qué.

  1. Asígnalo. Asigna el laboratorio como cualquier tarea, con una fecha de entrega si quieres. Cada alumno recibe una máquina virtual propia, que se conserva de una sesión a otra.
  2. Ejecuta la comprobación. En la fila de un alumno de la lista de la clase, pulsa «Ejecutar la comprobación». Inicia una copia de su máquina guardada, sin guardar nada de vuelta, ejecuta como root el script de comprobación del laboratorio y muestra si se superó, qué imprimió y cuándo. Al alumno no se le comunica el resultado.
  3. Califícalo. Lee lo que imprimió la comprobación. Cuando un alumno detiene su máquina virtual, la lista de la clase muestra además lo que ha cambiado, los paquetes que instaló y los archivos que escribió, así que puedes calificar sin iniciarla. Devuelve el trabajo con un motivo si necesita más.

La definición en GitHub

El archivo es la definición completa del laboratorio, el mismo texto que ejecuta la plataforma: tamaño, script de preparación, topología, README y comprobación. Cópialo y cambia la topología para hacer la tuya: una línea por cada router, equipo y enlace.

Preguntas frecuentes

¿Necesitan los alumnos un router o una licencia de Cisco?
No. Los routers son network namespaces dentro de la máquina virtual del alumno, cada uno con FRRouting, un conjunto de enrutamiento de código abierto, y la consola vtysh.
¿Puede un alumno usar los comandos reales de red de Linux?
Sí, y esa es la idea. sudo ip netns exec h1 ping 10.0.3.2 y sudo vtysh -N r1 funcionan tal como están escritos, y netlab shell r1 es un atajo.
¿Cuál es la diferencia entre el enrutamiento estático y OSPF?
En el laboratorio de enrutamiento estático el alumno añade cada ruta a mano en los routers que la necesitan y la guarda con write memory. En el laboratorio de OSPF los routers aprenden las rutas unos de otros en el área 0, y la comprobación busca rutas que aprendió OSPF.