Ce que tu vas faire
Un réseau est fait de routeurs, qui font passer les paquets, et d’hôtes, qui en envoient et en reçoivent. Ici, h1 est un hôte, r1 et r2 sont des routeurs, et h2 est un autre hôte. Un routeur ne connaît que les réseaux auxquels il est directement relié. Tu vas explorer le premier lab de réseau, envoyer un paquet qui ne passe pas, et chercher pourquoi. Tu ne répares rien : c’est la tâche du lab lui-même.
Avant de commencer
Remarque
Appuie sur Démarrer le lab dans la barre en haut de la leçon. Ce lab est une machine Ubuntu entière, à toi, avec un petit réseau construit 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 une commande dit que la machine démarre encore, attends quelques secondes et appuie de nouveau. Pour les voir passer, ou pour taper les tiennes, appuie sur Ouvrir le terminal (nouvel onglet) dans la barre.
1. Découvrir les machines
Tout est construit dans ta seule machine Ubuntu : chaque routeur et chaque hôte est un espace de noms réseau (network namespace) séparé, avec ses propres adresses. netlab status les liste. r1 et r2 sont les routeurs, h1, h2 et mgmt sont les hôtes. Les noms qui commencent par to- sont les câbles du réseau, et les nombres sont les adresses.
netlab 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. Parler au routeur voisin
sudo ip netns exec h1 exécute la commande qui suit à l’intérieur du réseau propre à h1. Ici, on envoie un ping à l’adresse de r1 sur le câble vers r2. Le routeur répond : h1 joint son propre routeur, et le routeur connaît ses deux câbles.
sudo ip netns exec h1 ping -c 2 -W 1 10.0.12.1Affiché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. Essayer de traverser le réseau
Demande maintenant l’hôte lointain, 10.0.3.2. ping envoie un petit paquet et attend une réponse. Rien ne passe, et le routeur voisin de h1 explique pourquoi : Destination Net Unreachable, « je ne connais aucun chemin vers ce réseau ».
sudo ip netns exec h1 ping -c 2 -W 1 10.0.3.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.
4. Demander au routeur ce qu’il sait
Une route est une ligne de la table d’un routeur : « pour atteindre ce réseau, passe par là ». Cette commande montre la table de r1. Elle a deux lignes, une par câble auquel il est relié, et aucune pour le réseau où vit h2, 10.0.3.0/24. Voilà pourquoi le paquet s’est arrêté.
sudo ip netns exec r1 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.
5. Voir où le paquet s’arrête
traceroute montre chaque routeur par lequel passe un paquet. La première ligne est r1, et le !N après elle veut dire « réseau inaccessible » : le paquet n’est pas allé plus loin.
sudo ip netns exec h1 traceroute -n -m 4 -w 1 10.0.3.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.
6. Interroger la console du routeur
Les routeurs d’ici font tourner FRRouting, un logiciel de routage libre, et vtysh est sa console, celle que les élèves rencontrent sur du vrai matériel. show ip route donne la même table, avec une légende : C veut dire « connecté » (connected).
sudo vtysh -N r1 -c "show 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.
Maintenant, fais le lab
Astuce
Tu as trouvé où le paquet s’arrête et pourquoi. Faire passer le paquet est la tâche de ce lab : ouvre README.md dans ton dossier personnel avec cat README.md dans le terminal. Il dit 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 sont la leçon, et le lab est la copie personnelle de chaque élève. Elle se travaille dans un lab de machine virtuelle : chaque élève a sa propre machine Ubuntu avec le réseau dedans, et un bouton Exécuter tape dans son terminal et montre ce qui s’est affiché. Le lab a sa propre vérification, qui note le réseau terminé. Copiez-la dans votre propre module et modifiez-la, ou créez-en une de zéro avec le menu Lab du créateur de leçons.