La suite de démons de routage FRRouting couvre la totalité des protocoles de routage dynamiques. Le paquet FRR fournit autant de processus que de protocoles. Ici, on se concentre sur le protocole OSPF. Voici une représentation de l'organisation des démons actifs dans notre contexte.
Les manipulations de ce support s'appuient sur la documentation du projet : FRRouting User Guide
Note | |
---|---|
Au moment de la rédaction de ce document, FRRouting ne permet pas d’utiliser
simultanément les familles d’adresses IPv4 et IPv6
avec un seul démon. C’est pourquoi nous devons activer et
configurer deux démons distincts : |
Important | |
---|---|
Les questions de cette section doivent être traitées sur les trois routeurs de la topologie étudiée. |
Q157. |
Comment installer le paquet |
Pour installer le paquet FRR, on doit ajouter un nouveau dépôt au système. On commence par ajouter la clé de signature des paquets à la configuration du gestionnaire. sudo apt -y install curl gpg curl -s https://deb.frrouting.org/frr/keys.asc | \ sudo gpg -o /usr/share/keyrings/frr-keyring.gpg --dearmor On créé ensuite un nouveau fichier de liste de sources de paquets qui fait référence à cette clé de signature. echo "deb [signed-by=/usr/share/keyrings/frr-keyring.gpg] \ https://deb.frrouting.org/frr bookworm frr-stable" | \ sudo tee /etc/apt/sources.list.d/frr.list Avant de lancer l'installation des paquets de la suite FRRouting, on doit mettre à jour le catalogue local. sudo apt update sudo apt -y install frr frr-pythontools On peut afficher les informations sur le paquet apt show ^frr$ Sans configuration particulière, les services zebra et staticd sont lancés. Aucun protocole de routage dynamique n'est activé. systemctl status frr ● frr.service - FRRouting Loaded: loaded (/usr/lib/systemd/system/frr.service; enabled; preset: enabled) Active: active (running) since Sat 2024-11-02 16:17:42 CET; 5min ago Invocation: a1d3f0e79647471bb1a17069f3f4c69a Docs: https://frrouting.readthedocs.io/en/latest/setup.html Process: 2098 ExecStart=/usr/lib/frr/frrinit.sh start (code=exited, status=0/SUCCESS) Main PID: 2107 (watchfrr) Status: "FRR Operational" Tasks: 8 (limit: 1032) Memory: 14.9M (peak: 28.2M) CPU: 416ms CGroup: /system.slice/frr.service ├─2107 /usr/lib/frr/watchfrr -d -F traditional zebra mgmtd staticd ├─2117 /usr/lib/frr/zebra -d -F traditional -A 127.0.0.1 -s 90000000 ├─2122 /usr/lib/frr/mgmtd -d -F traditional -A 127.0.0.1 └─2124 /usr/lib/frr/staticd -d -F traditional -A 127.0.0.1 nov. 02 16:17:42 R2 staticd[2124]: [VTVCM-Y2NW3] Configuration Read in Took: 00:00:00 nov. 02 16:17:42 R2 frrinit.sh[2144]: [2144|staticd] done nov. 02 16:17:42 R2 zebra[2117]: [VTVCM-Y2NW3] Configuration Read in Took: 00:00:00 nov. 02 16:17:42 R2 frrinit.sh[2128]: [2128|zebra] done nov. 02 16:17:42 R2 watchfrr[2107]: [QDG3Y-BY5TN] zebra state -> up : connect succeeded nov. 02 16:17:42 R2 watchfrr[2107]: [QDG3Y-BY5TN] mgmtd state -> up : connect succeeded nov. 02 16:17:42 R2 watchfrr[2107]: [QDG3Y-BY5TN] staticd state -> up : connect succeeded nov. 02 16:17:42 R2 watchfrr[2107]: [KWE5Q-QNGFC] all daemons up, doing startup-complete notify nov. 02 16:17:42 R2 frrinit.sh[2098]: Started watchfrr. nov. 02 16:17:42 R2 systemd[1]: Started frr.service - FRRouting. |
|
Q158. |
Comment vérifier que la console unifiée du
service Afficher le contenu du fichier L'accès à cette console unifiée est important puisqu'il permet d'utiliser une console unique pour les trois démons qui sont utilisés dans la suite des manipulations : zebra, ospfd et ospf6d. |
Voici un exemple pour un routeur de la maquette. sudo grep "service integrated-vtysh-config" /etc/frr/vtysh.conf service integrated-vtysh-config |
|
Q159. |
Comment ajouter l'utilisateur Utiliser la commande adduser. Une fois que l'utilisateur appartient à ces groupes, il a un accès direct à la console de configuration des protocoles actifs. |
Comme dans les autres travaux pratiques de la série, on utilise une boucle. for grp in frr frrvty do sudo adduser etu $grp done Il ne faut pas oublier de déconnecter/reconnecter l'utilisateur pour bénéficier de la nouvelle attribution de groupe. On vérifie l'appartenance aux groupes avec la commande groups. groups etu adm sudo users frrvty frr |
|
Q160. |
Comment activer les deux démons des protocoles OSPFv2 et OSPFv3 ? Consulter le fichier de configuration : |
Il faut remplacer les clés sudo sed -i 's/ospfd=no/ospfd=yes/' /etc/frr/daemons sudo sed -i 's/ospf6d=no/ospf6d=yes/' /etc/frr/daemons sudo systemctl restart frr On peut alors afficher l'état du service systemctl status frr ● frr.service - FRRouting Loaded: loaded (/usr/lib/systemd/system/frr.service; enabled; preset: enabled) Active: active (running) since Sat 2024-11-02 17:40:32 CET; 6s ago Invocation: 84e33888211f45f297c9135cace76751 Docs: https://frrouting.readthedocs.io/en/latest/setup.html Process: 2467 ExecStart=/usr/lib/frr/frrinit.sh start (code=exited, status=0/SUCCESS) Main PID: 2476 (watchfrr) Status: "FRR Operational" Tasks: 12 (limit: 1032) Memory: 23M (peak: 34.8M) CPU: 380ms CGroup: /system.slice/frr.service ├─2476 /usr/lib/frr/watchfrr -d -F traditional zebra mgmtd ospfd ospf6d staticd ├─2488 /usr/lib/frr/zebra -d -F traditional -A 127.0.0.1 -s 90000000 ├─2493 /usr/lib/frr/mgmtd -d -F traditional -A 127.0.0.1 ├─2495 /usr/lib/frr/ospfd -d -F traditional -A 127.0.0.1 ├─2498 /usr/lib/frr/ospf6d -d -F traditional -A ::1 └─2501 /usr/lib/frr/staticd -d -F traditional -A 127.0.0.1 nov. 02 17:40:32 R2 mgmtd[2493]: [VTVCM-Y2NW3] Configuration Read in Took: 00:00:00 nov. 02 17:40:32 R2 frrinit.sh[2504]: [2504|mgmtd] done nov. 02 17:40:32 R2 watchfrr[2476]: [QDG3Y-BY5TN] zebra state -> up : connect succeeded nov. 02 17:40:32 R2 watchfrr[2476]: [QDG3Y-BY5TN] mgmtd state -> up : connect succeeded nov. 02 17:40:32 R2 watchfrr[2476]: [QDG3Y-BY5TN] ospfd state -> up : connect succeeded nov. 02 17:40:32 R2 watchfrr[2476]: [QDG3Y-BY5TN] ospf6d state -> up : connect succeeded nov. 02 17:40:32 R2 watchfrr[2476]: [QDG3Y-BY5TN] staticd state -> up : connect succeeded nov. 02 17:40:32 R2 watchfrr[2476]: [KWE5Q-QNGFC] all daemons up, doing startup-complete notify nov. 02 17:40:32 R2 frrinit.sh[2467]: Started watchfrr. nov. 02 17:40:32 R2 systemd[1]: Started frr.service - FRRouting. On peut aussi lister les démons actifs à partir de la console du service. vtysh
Hello, this is FRRouting (version 10.1.1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
|
|
Q161. |
Comment désactiver les sous-interfaces
d'accès temporaire à Internet pour les routeurs Il existe au moins deux possibilités.
|
Si on utilise la commande ip, l'interface sera bien désactivée mais elle apparaîtra à nouveau lors du redémarrage du routeur virtuel. sudo ip link set enp0s1.52 down Si on édite le fichier de déclaration en commentant les
paramètres de la sous-interface, on s'assure qu'elle n'apparaîtra
plus, même lors d'un redémarrage du routeur. Voici un exemple pour
le routeur network: version: 2 ethernets: enp0s1: dhcp4: false dhcp6: false accept-ra: false nameservers: addresses: - 172.16.0.2 - 2001:678:3fc:3::2 vlans: # # Temporary Internet access # enp0s1.52: # id: 52 # link: enp0s1 # dhcp4: true # dhcp6: false # accept-ra: true # R3 -> R1 enp0s1.440: id: 440 link: enp0s1 addresses: - 10.44.0.3/29 - fe80::1b8:3/64 # R3 -> R2 enp0s1.442: id: 442 link: enp0s1 addresses: - 10.44.2.3/29 - fe80::1ba:3/64 |
Une fois l'ensemble des opérations de cette section réalisées, chaque routeur dispose des outils pour mettre en œuvre la topologie physique et ensuite les protocoles de routage dynamique OSPF.