Routage Dynamique sous Linux avec Bird
Pour avoir les notions de routage, je vous conseille de lire cette page Routage, elle vous permettra d'avoir une machine routeur pour accéder aux différents sous réseaux.
Le but de cette documentation est d'éviter aux différents utilisateurs des sous-réseaux de mettre la table de routage à jour à la main. Quand le réseau est fixe, ce n'est pas dérangeant de paramétrer 1 fois la table de routage, mais si on ajoute des sous-réseaux régulièrement c'est un peu plus embêtant. Donc nous allons utiliser le logiciel Bird (très peu de doc sur le net) pour mettre à jour automatiquement la table de routage de toutes les machines.
Explication avec un schéma:
Pré-requis
Normalement compatible avec toutes les versions d'Ubuntu ayant le paquet Bird disponible.
Pour faire un routeur dynamique, il vous faut :
- Une machine routeur (voir Routage)
- Des machines dans les différents sous-réseaux
Installation
Il faut installer Bird sur la machine routeur et sur tous les postes qui veulent bénéficier de la mise à jour de la table de routage, installez le paquet bird.
Configuration
Coté machine routeur
Editer /etc/bird.conf avec les droits d'administration :
protocol kernel { persist; # Don’t remove routes on BIRD shutdown scan time 20; # Scan kernel routing table every 20 seconds export all; # Default is export none } protocol device { scan time 10; # Scan interfaces every 10 seconds } protocol direct { export all; } protocol rip { export all; import all; port 1520; authentication plaintext; password “text”; honor always; interface “eth*”{ mode broadcast; }; }
Il se peut que le service ne démarre pas tout seul.
sudo /etc/init.d/bird start
Coté client
Editer /etc/bird.conf avec les droits d'administration :
protocol kernel{ learn; import all; export all; } protocol device{ } protocol rip { import filter { if net ~ [ 192.168.160.0/24 ] then { # Only remote networks reject; } else accept; }; # export all; port 1520; authentication plaintext; password “text”; honor neighbor; interface “eth*”{mode broadcast;}; }
Il se peut que le service ne démarre pas tout seul.
sudo /etc/init.d/bird start
Vérification
Après quelques secondes, nous vérifions la table de routage (côté client).
route
192.168.220.0 192.168.160.61 255.255.255.0 UG 0 0 0 eth0 192.168.160.0 * 255.255.255.0 U 0 0 0 eth0 192.168.110.0 192.168.160.61 255.255.255.0 UG 0 0 0 eth0 link-local * 255.255.0.0 U 1000 0 0 eth0 default router-network-local 0.0.0.0 UG 0 0 0 eth0
Donc en ajoutant un sous-réseau à la machine routeur, celle-ci nous mettra à jour notre table de routage sans aucune modification manuellement.