Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Les bases de WireGuard

La leçon complète est à lire ici. Créez un compte gratuit pour la pratiquer dans un labo en direct.

Labo de machine virtuelle6 min de lecture4 commandes

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.

Commande
wglab status

Affiché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.

Commande
sudo ip netns exec a1 ping -c 2 -W 1 10.2.0.2

Affiché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.

Commande
sudo ip netns exec gwA ip route

Affiché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.

Commande
sudo ip netns exec gwA wg show

Affiché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.

À propos de ce labo et de sa source: Lab WireGuard : construire un tunnel VPN entre deux sites dans le navigateur

Vous enseignez à une classe ? Proposez ces leçons à vos élèves avec correction et un labo pour chaque élève.