{{tag>Xenial réseau}}
----
====== 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 [[https://bird.network.cz/|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:
{{:reseau:schema_routage.png|}}
===== 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, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>bird]]**.
===== Configuration =====
Il faut configurer le service Bird sur la machine routeur (serveur bird), puis mettre une configuration différente sur toutes les autres machines (client bird).
=== Coté machine routeur ===
[[:tutoriel:comment_modifier_un_fichier|Editer]] **/etc/bird.conf** avec les [[:sudo|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 ===
Dans notre exemple, nous nous plaçons sur une machine qui est dans le sous-réseau "192.168.160.0",donc il faut préciser dans notre fichier que nous voulons récupérer toutes les routes sauf la route pour le réseau local (192.168.160.0), car elle passe par un autre routeur.
[[:tutoriel:comment_modifier_un_fichier|Editer]] **/etc/bird.conf** avec les [[:sudo|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.
===== Voir aussi =====
* FIXME
----
//Contributeur principal : [[utilisateurs:winnie31]] et Patrice.//