Lab de routage statique : construire des routes sur un petit réseau dans le navigateur

Le premier lab réseau : quatre machines, construites dans l’unique VM Ubuntu de l’élève, h1 et h2 comme machines et r1 et r2 comme routeurs exécutant FRRouting. Les routeurs ne connaissent que les réseaux auxquels ils sont reliés : un ping de h1 vers h2 échoue donc, et l’élève doit trouver pourquoi et le corriger avec des routes statiques.

Pas de licence Cisco ni rien à installer : chaque routeur est un espace de noms réseau avec son propre FRRouting, et la console est vtysh, celle que les élèves retrouveront sur du vrai matériel.

Ce que les élèves apprennent

Comment un paquet traverse des routeurs : utiliser traceroute -n et ip route sur une machine et show ip route sur un routeur pour trouver où un paquet s’arrête, ajouter des routes statiques sur les routeurs qui en ont besoin et seulement ceux-là, et vérifier le chemin avec ping et traceroute. Un réseau de gestion derrière r2 doit rester injoignable depuis h1 : ils ajoutent donc les routes que le lab demande et rien de plus large. Ils enregistrent chaque routeur avec write memory.

La topologie

h1 se relie à r1, r1 à r2 et r2 à h2, avec un réseau de gestion sur un quatrième lien derrière r2. Les adresses figurent dans le README que le lab laisse dans le dossier personnel, qui dit quoi faire et ne donne aucune réponse.

Le lancer dans votre navigateur

Les labs VM se proposent comme tâche de lab dans un module, et l’exemple se trouve sur la page du lab.

  1. Ajouter le lab. Dans un module que vous enseignez, ajoutez une tâche et choisissez la carte « Lab VM Ubuntu ». La page affiche une courte description de la machine au lieu d’un fichier compose.
  2. Partir de l’exemple. La page propose trois labs réseau pour commencer. Choisissez Networking lab 1: static routing. Utiliser un exemple remplace le texte, et « Annuler » rétablit le vôtre.
  3. Publier et démarrer votre propre copie. Publiez, puis « Démarrer ». Le script d’installation du lab installe FRRouting et construit la topologie à partir de l’archive d’Ubuntu au premier démarrage de la VM, en une dizaine de secondes.
  4. Ouvrir le terminal. Ouvrez son terminal et lisez README.md dans le dossier personnel : il dit quoi faire et ne donne aucune réponse. netlab status liste les machines et netlab shell r1 ouvre la console d’un routeur.

Une leçon de base sur ce lab

Static Routing Basics est une petite leçon qui se fait dans ce lab, qui est une VM Ubuntu : chaque étape est expliquée et accompagnée d’un bouton Exécuter qui tape sa commande dans le terminal de la machine et montre ce que le routeur a répondu. L’élève découvre les machines, envoie un ping au routeur voisin, essaie de traverser le réseau et échoue, lit la table du routeur pour comprendre pourquoi et voit où s’arrête un paquet avec traceroute.

Elle se contente de regarder autour d’elle et laisse à l’élève la tâche propre du lab, faire fonctionner le réseau, si bien que la leçon ne donne aucune réponse. Un compte personnel gratuit la reçoit dans le module Basics, qui se trouve sur l’« Accueil », chaque établissement peut la copier depuis le dossier Basics de la Bibliothèque, et un nouvel établissement l’a dans un module appelé Networking Basics (Sample). Elle est volontairement petite : elle montre à un enseignant ce qu’est une leçon qui se fait dans un lab, et le lab fait le reste. Copiez-la dans un module à vous pour la modifier.

Comment il est noté

Le lab a une vérification. Elle s’exécute sur une copie de la machine enregistrée après un démarrage à neuf : elle ne voit donc que ce que l’élève a enregistré avec write memory, et ne réussit que si l’état réel tient : les routes statiques sont enregistrées dans vtysh sur les deux routeurs, h1 atteint h2 par le chemin passant par les routeurs, et le réseau de gestion reste injoignable. Une route saisie avec ip route et jamais enregistrée ne réussit pas, et la première ligne de ce que la vérification a affiché en donne la raison.

  1. Le distribuer. Attribuez le lab comme n’importe quelle tâche, avec une échéance si vous le souhaitez. Chaque élève reçoit sa propre VM, conservée d’une session à l’autre.
  2. Lancer la vérification. Sur la ligne d’un élève dans la liste de la classe, appuyez sur « Lancer la vérification ». Elle démarre une copie de sa machine enregistrée, sans rien enregistrer en retour, exécute le script de vérification du lab en root et indique s’il a réussi, ce qu’il a affiché et quand. L’élève n’est pas informé du résultat.
  3. Noter. Lisez ce que la vérification a affiché. Quand un élève arrête sa VM, la liste de la classe indique aussi ce qu’il a modifié, les paquets installés et les fichiers écrits : vous pouvez noter sans la démarrer. Renvoyez le travail avec un motif s’il demande un complément.

La définition sur GitHub

Le fichier est la définition complète du lab, le même texte que celui que la plateforme exécute : taille, script d’installation, topologie, README et vérification. Copiez-le et changez la topologie pour faire la vôtre : une ligne par routeur, machine et lien.

Questions fréquentes

Les élèves ont-ils besoin d’un routeur ou d’une licence Cisco ?
Non. Les routeurs sont des espaces de noms réseau dans la VM de l’élève, chacun exécutant FRRouting, une suite de routage libre, avec la console vtysh.
Un élève peut-il utiliser les vraies commandes réseau de Linux ?
Oui, et c’est le but. sudo ip netns exec h1 ping 10.0.3.2 et sudo vtysh -N r1 fonctionnent tels quels, et netlab shell r1 est un raccourci.
Quelle est la différence entre le routage statique et OSPF ?
Dans le lab de routage statique, l’élève ajoute chaque route à la main sur les routeurs qui en ont besoin et l’enregistre avec write memory. Dans le lab OSPF, les routeurs apprennent les routes les uns des autres dans l’aire 0, et la vérification cherche des routes apprises par OSPF.