Ce que tu vas faire
Deux bureaux ont chacun un réseau privé que l’autre ne voit pas. Un tunnel VPN les relie à travers l’internet : il enferme chaque paquet dans un autre paquet chiffré. WireGuard est une façon simple et moderne d’en créer un. Tu vas explorer deux sites et voir ce qu’il y a avant tout tunnel. Tu ne vas pas le construire : c’est la tâche du lab.
Avant de commencer
Remarque
Appuie sur Démarrer le lab dans la barre en haut de cette leçon. Ce lab est une machine Ubuntu entière, rien que pour toi, avec deux sites construits dedans. Elle met donc un peu plus de temps à démarrer qu’un conteneur. Chaque bouton Exécuter ci-dessous tape sa commande dans le terminal de la machine, l’une après l’autre. Si l’un d’eux dit que la machine démarre encore, attends quelques secondes et appuie de nouveau. Pour les voir agir, ou pour taper tes propres commandes, appuie sur Ouvrir le terminal (nouvel onglet) dans la barre.
1. Découvre les machines
Tout est construit dans ta machine Ubuntu : chaque poste et chaque passerelle est un espace de noms réseau (network namespace) à part, avec ses propres adresses. wglab status les liste. a1 est un poste du site A et gwA est sa passerelle. b1 et gwB sont la même chose au site B. Chaque passerelle a une seconde adresse sur wan0, le lien qui représente l’internet, dans 203.0.113.0/24.
wglab statusAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
2. Essaie de joindre l’autre site
ping envoie un petit paquet et attend une réponse. Contacte b1, au site voisin : 10.2.0.2. Rien ne passe, et la passerelle à côté de a1 dit pourquoi : Destination Net Unreachable, c’est-à-dire « je ne connais pas de chemin vers ce réseau ». Les deux réseaux privés ne se connaissent pas.
sudo ip netns exec a1 ping -c 2 -W 1 10.2.0.2Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
3. Lis les routes de la passerelle
Une route dit où envoyer les paquets d’un réseau. gwA en a exactement deux : son propre site, 10.1.0.0/24, et le lien vers l’internet, 203.0.113.0/24. Il n’y a aucune ligne pour 10.2.0.0/24. C’est pour cela que le ping de l’étape 2 s’est arrêté ici.
sudo ip netns exec gwA ip routeAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
4. Y a-t-il un tunnel ?
wg show liste les interfaces de WireGuard, avec leurs clés et leurs pairs. Il n’affiche rien du tout : il n’y a pas encore de tunnel, ni de clés. Une commande qui ne trouve rien ne dit souvent rien, et c’est aussi une réponse.
sudo ip netns exec gwA wg showAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Maintenant, fais le lab
Astuce
Tu as trouvé ce qui manque : des clés, une configuration sur chaque passerelle et des routes vers un tunnel. Les créer, c’est la tâche de ce lab. Ouvre README.md dans ton dossier personnel avec cat README.md dans le terminal. Il explique quoi faire et ne donne aucune réponse.
Pour les enseignants
Astuce
Cette leçon est un petit exemple de leçon travaillée dans un lab : les étapes et les boutons Exécuter forment la leçon, et le lab est la copie de chaque élève. Ici, c’est un lab de machine virtuelle : chaque élève a sa propre machine Ubuntu avec deux petits sites dedans, et un bouton Exécuter tape dans son terminal et montre ce qui s’est affiché. Le lab a une vérification qui note le tunnel d’après ce qui a été enregistré : une poignée de main (handshake), le trafic sur le lien internet, les routes et les clés. Copie la leçon dans ton propre module et modifie-la, ou crée-en une depuis zéro avec le menu Lab de l’éditeur de leçons.