Laboratorio de VLAN: VLAN y enrutamiento entre VLAN en una VM Ubuntu en el navegador
Este laboratorio da a cada alumno una pequeña red de oficina que dividir. Se construyen cinco máquinas dentro de la única VM Ubuntu del alumno: un conmutador, un router, un equipo y un servidor que pertenecen a una misma VLAN y un segundo equipo que pertenece a otra. Al principio todo está conectado y nada está configurado, así que todo es una sola red. El alumno crea dos VLAN en el conmutador, las vuelve a unir con el router por un solo cable y añade una regla que mantiene una VLAN lejos del servidor.
No se instala nada en el ordenador del alumno y no hace falta ningún conmutador ni router: cada máquina es un espacio de nombres de red, el conmutador es un puente Linux con filtrado de VLAN, y los comandos son los de verdad, bridge vlan, ip link y nft.
Qué aprenden los alumnos
Qué es una VLAN y para qué la necesita un conmutador: dar una VLAN a cada puerto del conmutador, un puerto de acceso sin etiqueta para un equipo, y llevar las dos VLAN etiquetadas por un puerto troncal hasta el router, con el comando bridge vlan; crear en el router una subinterfaz 802.1Q por VLAN con ip link, darle la dirección de puerta de enlace que esperan sus equipos y activar el reenvío, que es el enrutamiento entre VLAN en un router con un solo cable; y escribir en el router una regla nft que mantiene una VLAN lejos de un servidor y deja todo lo demás funcionando. Lo prueban con ping, arping, traceroute y tcpdump, y lo escriben todo en dos archivos para que vuelva tras un reinicio.
La topología
El conmutador sw tiene cuatro puertos. El equipo h10 y el servidor srv pertenecen a la VLAN 10, en 10.10.0.0/24, y el equipo h20 a la VLAN 20, en 10.20.0.0/24. El router r1 tiene un solo cable, al cuarto puerto, y todavía no tiene dirección. Al principio todos los puertos están en la VLAN 1 por defecto, así que h20 aún llega a srv directamente a través del conmutador y nadie llega a una puerta de enlace. El trabajo del alumno va en dos archivos, uno que se ejecuta en el conmutador y otro en el router cada vez que arranca el laboratorio. 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 VM se asignan como una tarea de laboratorio en un módulo, y el ejemplo está en la página del laboratorio. La máquina es pequeña: una CPU, 1 GB de memoria y 10 GB de disco.
- Añade el laboratorio. En un módulo que impartes, añade una tarea y elige la tarjeta Laboratorio de VM Ubuntu. La página muestra una breve descripción de la máquina en lugar de un archivo compose.
- Parte del ejemplo. La página ofrece laboratorios ya preparados para empezar. Elige VLAN y enrutamiento entre VLAN. Usar un ejemplo sustituye el texto, y Deshacer devuelve el tuyo.
- Publica e inicia tu propia copia. Publica y luego pulsa Iniciar. El script setup del laboratorio instala iproute2, nftables y unas pocas herramientas de red pequeñas desde el archivo de Ubuntu, y escribe el comando vlanlab, dos archivos de configuración vacíos y el README, la primera vez que arranca la VM, en unos segundos.
- Abre el terminal. Abre su terminal y lee README.md en la carpeta personal: dice qué hay que construir y no da ninguna respuesta.
Una lección básica en este laboratorio
VLAN Basics es una pequeña lección que se da en este laboratorio, que es una VM 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 imprimió. El alumno conoce las máquinas y ve todos los puertos del conmutador en la VLAN 1, pregunta desde h20 por srv con arping y recibe respuesta directamente a través del conmutador, hace ping a la otra red y no obtiene nada, y comprueba que el router aún no tiene dirección.
La lección se limita a mirar y deja al alumno la tarea propia del laboratorio, construir las VLAN, así que no da ninguna respuesta. Es pequeña a propósito: muestra a un docente qué es una lección que se da en un laboratorio, y el laboratorio hace el resto. Cópiala en un módulo tuyo 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 nuevo, carga los dos archivos del alumno como lo hace el arranque, y prueba lo que ocurre de verdad entre las máquinas: los equipos de una misma VLAN se responden directamente y los de VLAN distintas no, el router tiene una subinterfaz 802.1Q y la dirección de puerta de enlace de cada VLAN y reenvía, h10 y h20 se alcanzan a través del router, y h20 no llega a srv por ningún puerto ni protocolo mientras h10 sí puede. Una regla que aísla la VLAN 20 de todo no pasa, como tampoco una regla puesta en el servidor, la traducción de direcciones, el filtrado de VLAN desactivado ni los comandos escritos a mano y nunca guardados en los archivos. La primera línea de lo que imprimió la comprobación dice por qué.
- Asígnalo. Asigna el laboratorio como cualquier tarea, con una fecha límite si quieres. Cada alumno recibe una VM propia, conservada entre sesiones.
- Ejecuta la comprobación. En la fila de un alumno en la lista de la clase, pulsa Ejecutar la comprobación. Inicia una copia de su máquina guardada que no se vuelve a guardar, ejecuta como root el script de comprobación del laboratorio y muestra si pasó, qué imprimió y cuándo. Al alumno no se le dice el resultado.
- Califícalo. Lee la primera línea de lo que imprimió la comprobación: dice qué no está bien, por ejemplo una máquina que aún llega a otra VLAN directamente a través del conmutador o un ping que no pasó por el router. 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 setup, herramienta de topología, README y comprobación. Cópialo y cambia las direcciones, o añade una VLAN, para hacer un laboratorio más largo.
Preguntas frecuentes
- ¿El laboratorio necesita un conmutador gestionable, un router o una licencia?
- No. El conmutador es un puente Linux con filtrado de VLAN y el router es Linux reenviando paquetes, ambos en el propio núcleo de Ubuntu. Las herramientas se instalan desde el archivo de Ubuntu cuando arranca la VM del alumno, y nosotros no distribuimos nada de ellas.
- ¿Puede un alumno llegar al internet real desde el laboratorio?
- No. La VM llega al archivo de Ubuntu, PyPI, npm y GitHub y a nada más, y la red entre las cinco máquinas es virtual y está dentro de la VM. Las máquinas son espacios de nombres de red y no ordenadores separados.
- ¿Qué construye el alumno en el laboratorio de VLAN?
- Dos VLAN en el conmutador, con un puerto de acceso sin etiquetar para cada host y un troncal etiquetado hacia el router, y luego una subinterfaz 802.1Q por VLAN en el router, que es enrutamiento entre VLAN con un router on a stick. Por último, una regla nft en el router mantiene la VLAN 20 alejada del servidor.