Qué vas a hacer
Dos oficinas tienen, cada una, una red privada que la otra no puede ver. Un túnel VPN las une a través de internet envolviendo cada paquete en otro cifrado, y WireGuard es una forma pequeña y moderna de crear uno. Vas a recorrer dos sedes y ver qué hay antes de que exista ningún túnel. No vas a montarlo: eso es la tarea del propio laboratorio.
Antes de empezar
Nota
Pulsa Iniciar el laboratorio en la barra superior de esta lección. Este laboratorio es una máquina Ubuntu entera, solo para ti, con dos sedes construidas dentro, así que tarda un poco más en arrancar que un contenedor. Cada botón Ejecutar de más 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 vuelve a pulsarlo. Para ver los comandos en directo, o para escribir los tuyos, pulsa Abrir el terminal (pestaña nueva) en la barra.
1. Conoce las máquinas
Todo está construido dentro de tu única máquina Ubuntu: cada ordenador y cada puerta de enlace es un espacio de nombres de red (network namespace) separado, con sus propias direcciones. wglab status los lista. a1 es un ordenador de la sede A y gwA es su puerta de enlace; b1 y gwB son lo mismo en la sede B. Cada puerta de enlace tiene una segunda dirección en wan0, el enlace que representa internet, dentro de 203.0.113.0/24.
wglab statusSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
2. Intenta llegar a la otra sede
ping envía un paquete pequeño y espera una respuesta. Pregunta por b1, en la otra sede, 10.2.0.2. No llega nada, y la puerta de enlace que está junto a a1 explica por qué: Destination Net Unreachable (red de destino inalcanzable), que quiere decir «no conozco ningún camino a esa red». Las dos redes privadas nunca han oído hablar una de la otra.
sudo ip netns exec a1 ping -c 2 -W 1 10.2.0.2Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
3. Lee las rutas de la puerta de enlace
Una ruta dice por dónde enviar los paquetes de una red. gwA tiene exactamente dos: la de su propia sede, 10.1.0.0/24, y la del enlace de internet, 203.0.113.0/24. No hay ninguna línea para 10.2.0.0/24, y por eso el ping del paso 2 se quedó aquí.
sudo ip netns exec gwA ip routeSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
4. ¿Hay un túnel?
wg show lista las interfaces de WireGuard con sus claves y sus pares (los otros extremos del túnel). No muestra nada en absoluto: todavía no hay túnel ni claves. A menudo, un comando que no encuentra nada no muestra nada, y eso también es una respuesta.
sudo ip netns exec gwA wg showSe 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
Ya has descubierto lo que falta: claves, una configuración en cada puerta de enlace y rutas hacia un túnel. Crearlas es la tarea de este laboratorio: abre README.md, que está en tu carpeta personal, con cat README.md en el terminal. Te explica qué hacer y no da ninguna de las soluciones.
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 dos sedes pequeñas dentro, y un botón Ejecutar escribe en su terminal y muestra lo que salió. El propio laboratorio incluye una comprobación que evalúa el túnel a partir de lo que se guardó: un acuerdo de conexión (handshake), el tráfico en el enlace de internet, las rutas y las claves. Cópiela en su propio módulo y modifíquela, o cree una desde cero con el menú Laboratorio del constructor de lecciones.