Lo que vas a hacer
Una red está hecha de routers, que van pasando los paquetes, y de hosts (equipos), que los envían y los reciben. Aquí h1 es un host, r1 y r2 son routers y h2 es otro host. Un router solo conoce las redes a las que está conectado directamente. Vas a mirar el primer laboratorio de redes, enviar un paquete que no puede llegar y descubrir por qué. No lo vas a arreglar: eso es la tarea del propio laboratorio.
Antes de empezar
Nota
Pulsa Iniciar el laboratorio en la barra de arriba de esta lección. Este laboratorio es una máquina Ubuntu entera para ti, con una pequeña red construida dentro, así que tarda un poco más en arrancar que un contenedor. Cada botón Ejecutar de abajo escribe su comando en el terminal de la máquina, uno detrás de otro. Si alguno dice que la máquina aún está arrancando, espera unos segundos y púlsalo otra vez. Para verlos, o para escribir los tuyos, pulsa Abrir el terminal (pestaña nueva) en la barra.
1. Conoce las máquinas
Todo esto está construido dentro de tu única máquina Ubuntu: cada router y cada host es un espacio de nombres de red (network namespace) distinto, con sus propias direcciones. netlab status los lista. r1 y r2 son los routers, h1, h2 y mgmt son los hosts. Los nombres que empiezan por to- son los cables de red, y los números son las direcciones.
netlab statusSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
2. Habla con el router de al lado
sudo ip netns exec h1 ejecuta el comando que viene después dentro de la red propia de h1. Este comando hace ping a la dirección de r1 en el cable hacia r2. Responde: h1 llega a su router, y el router conoce sus dos cables.
sudo ip netns exec h1 ping -c 2 -W 1 10.0.12.1Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
3. Intenta cruzar la red
Ahora pide el host lejano, 10.0.3.2. ping envía un paquete pequeño y espera una respuesta. No llega nada, y el router que está junto a h1 dice por qué: Destination Net Unreachable ("red de destino inalcanzable"), es decir, "no sé cómo llegar a esa red".
sudo ip netns exec h1 ping -c 2 -W 1 10.0.3.2Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
4. Pregunta al router qué sabe
Una ruta es una línea de la tabla de un router: "para llegar a esta red, ve por aquí". Este comando muestra la tabla de r1. Tiene dos líneas, una por cada cable al que está unido, y ninguna para la red donde vive h2, 10.0.3.0/24. Por eso se paró el paquete.
sudo ip netns exec r1 ip routeSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
5. Mira dónde se para el paquete
traceroute muestra cada router por el que pasa un paquete. La primera línea es r1, y el !N que va detrás significa "red inalcanzable": el paquete no fue más lejos.
sudo ip netns exec h1 traceroute -n -m 4 -w 1 10.0.3.2Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
6. Pregunta a la consola del propio router
Los routers de aquí usan FRRouting, un programa de enrutamiento gratuito, y vtysh es su consola, la que se encuentra en los equipos reales. show ip route es la misma tabla, con una leyenda: C significa conectada.
sudo vtysh -N r1 -c "show ip route"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Ahora haz el laboratorio
Consejo
Has descubierto dónde se para el paquete y por qué. Hacer que funcione es la tarea de este laboratorio: abre README.md en tu carpeta personal con cat README.md en el terminal. Te dice qué hacer y no da ninguna respuesta.
Para el profesorado
Consejo
Esta lección es un pequeño ejemplo de una lección practicada en un laboratorio: los pasos y los botones Ejecutar son la lección, y el laboratorio es la copia propia de cada alumno. Esta lección se practica en un laboratorio de máquina virtual: cada alumno tiene su propia máquina Ubuntu con la red dentro, y un botón Ejecutar escribe en su terminal y muestra lo que ha imprimido. El laboratorio tiene su propia comprobación, que corrige la red terminada. Puede copiar la lección en su propio módulo y cambiarla, o crear otra desde cero con el menú Laboratorio del creador de lecciones.