Lab BGP : relier deux systèmes autonomes dans le navigateur
Le troisième lab réseau : cinq machines dans l’unique VM Ubuntu de l’élève. r1 est l’ensemble de l’AS 65001 et r2 l’ensemble de l’AS 65002, chacun exécutant FRRouting avec son démon BGP démarré et rien de configuré, avec une machine derrière chacun. Le premier ping de h1 vers h2 échoue, car r1 n’a jamais entendu parler de ce réseau.
Ce que les élèves apprennent
Faire de deux routeurs de systèmes autonomes différents des voisins à travers le lien qui les sépare, et regarder la session s’établir avec show bgp summary. Faire annoncer à chaque AS le réseau où se trouve sa machine et voir ce que chaque routeur a appris avec show bgp ipv4 unicast et show ip route bgp. Si la session est établie et que rien n’est échangé, ils cherchent ebgp-requires-policy dans la documentation de FRRouting, ce qui est la leçon.
Le réseau privé derrière r2 appartient à l’AS 65002 seul : ils n’annoncent donc rien qui permettrait à h1 de l’atteindre, un début de politique de routage.
La topologie
h1 se relie à r1, r1 à r2 par un lien inter-AS et r2 à h2, avec un réseau privé, 192.168.99.0/24, derrière r2. Les adresses figurent dans le README que le lab laisse dans le dossier personnel.
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.
- 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.
- Partir de l’exemple. La page propose trois labs réseau pour commencer. Choisissez Networking lab 3: BGP between two autonomous systems. Utiliser un exemple remplace le texte, et « Annuler » rétablit le vôtre.
- 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.
- 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
BGP 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, essaie de traverser le réseau et échoue, puis demande au routeur si BGP est configuré et ce qu’il sait.
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é
La vérification s’exécute sur une copie de la machine enregistrée après un démarrage à neuf. Elle ne réussit que si chaque routeur a une session Established avec l’AS de l’autre, si chacun a une route vers le réseau de l’autre apprise par BGP, si h1 atteint h2 par ce chemin, et si l’AS 65002 n’a pas annoncé son réseau privé.
- 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.
- 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.
- 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. Copiez-le pour faire votre propre topologie : daemons bgpd démarre le protocole sur chaque routeur.
Questions fréquentes
- S’agit-il de BGP interne ou externe ?
- Externe : les deux routeurs sont dans des systèmes autonomes différents, 65001 et 65002, ce qui explique l’importance de la valeur par défaut ebgp-requires-policy.
- Quelque chose touche-t-il le vrai internet ?
- Non. Tout le réseau est dans la VM de l’élève, et les numéros de systèmes autonomes appartiennent à la plage réservée à l’usage privé.
- En quoi le lab BGP diffère-t-il du lab OSPF ?
- Le lab OSPF a trois routeurs dans une seule aire, tous dans le même réseau. Dans le lab BGP, r1 est tout l’AS 65001 et r2 tout l’AS 65002 : l’élève établit une session entre deux systèmes autonomes, annonce un réseau de chaque côté et laisse non annoncé le réseau privé derrière r2.