Dans la section précédente, tous les échanges de préfixes réseau
IPv4 et IPv6 se font entre les démons Bird installés sur les trois routeurs de la
topologie étudiée. Il faut maintenant être capable d'échanger les
résultats des traitements OSPFv2
et OSPFv3 avec le sous-système
réseau du noyau de chaque routeur.
Sur R1, les deux démons
Bird doivent importer la route par
défaut déjà connue au niveau système. De plus, les routes vers les
réseaux fictifs de R2 et
R3 apprise via OSPF doivent être exportées vers le
sous-système réseau du noyau de R1.
Sur les routeurs R2 et
R3, les routes par défaut apprises
via OSPF doivent être exportées
vers le sous-système réseau du noyau. De plus les routes des
réseaux fictifs doivent être importées dans les démons Bird pour être publiées via OSPF.
Avertissement
Les résultats des questions de cette section ne sont visibles
que si les routes sont déjà présentes, soit dans les démons de
routage Bird, soit au niveau
système.
Q14.
Comment faire pour que les routes connues
du sous-système réseau du noyau Linux soient importées dans les
deux démons bird et bird6 ?
Consulter la section kernel de la
documentation BIRD
User's Guide à la recherche des paramètres d'importation. Les
commandes utiles pour cette question sont les suivantes.
import
learn switch
Pour cette question, les configurations des démons bird et bird6
sont identiques quel que soit le routeur considéré. Voici un
extrait de fichier de configuration.
R1:~# sed -n '/protocol kernel/,/^}/p' /etc/bird/bird.conf
protocol kernel {
scan time 10;
import all;learn yes;
# export all; # Actually insert routes into the kernel routing table
}
Tant que les questions sur l'ajout de réseaux fictifs ne sont
pas traitées, seul les démons du routeur R1 ont un résultat observable. Les routes par
défaut sont importées dans les démons Bird.
R1:~# birdc show route 0.0.0.0/0
BIRD 1.6.4 ready.
0.0.0.0/0 via 192.0.2.1 on eth0 [kernel1 13:47:04] * (10)
R1:~# birdc6 show route ::/0
BIRD 1.6.4 ready.
::/0 via fe80::dc02:44ff:fe64:4834 on eth0 [kernel1 2018-10-21] * (10)
Q15.
Comment faire pour que les routes calculées
par les processus bird et
bird6 soient soumises au
sous-système réseau du noyau Linux ?
Consulter la section kernel de la
documentation BIRD
User's Guide à la recherche des paramètres d'exportation. La
commande utile pour cette question est la suivante.
export
En reprenant l'exemple du routeur R1, la configuration des blocs d'instructions
kernel de chaque processus
devient :
R1:~# sed -n '/protocol kernel/,/^}/p' /etc/bird/bird.conf
protocol kernel {
scan time 10;
import all;
learn yes;
export all; # Actually insert routes into the kernel routing table
}
Avec la commande ip au niveau système, on voit
apparaître les «sources» d'alimentation de la table de routage du
système en question : kernel et
bird.
R1:~# ip route ls
default via 192.0.2.1 dev eth0 onlink
10.1.12.0/26 dev eth0.12 proto kernel scope link src 10.1.12.1
10.1.13.0/26 dev eth0.13 proto kernel scope link src 10.1.13.1
10.1.23.0/26 proto bird
nexthop via 10.1.12.2 dev eth0.12 weight 1
nexthop via 10.1.13.3 dev eth0.13 weight 1
192.0.2.0/27 dev eth0 proto kernel scope link src 192.0.2.7
R1:~# ip -6 route ls
2001:678:3fc:a::/64 dev eth0 proto kernel metric 256 pref medium
2001:678:3fc:c::/64 dev eth0.12 proto kernel metric 256 pref medium
2001:678:3fc:d::/64 dev eth0.13 proto kernel metric 256 pref medium
2001:678:3fc:17::/64 proto bird metric 1024
nexthop via fe80::3032:e9ff:fe73:6322 dev eth0.13 weight 1
nexthop via fe80::943a:41ff:fe65:7307 dev eth0.12 weight 1 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth0.12 proto kernel metric 256 pref medium
fe80::/64 dev eth0.13 proto kernel metric 256 pref medium
default via fe80::dc02:44ff:fe64:4834 dev eth0 metric 1024 onlink pref medium