{{tag>netadmin routes routage linux}}
====== Gestion des routes ======
Les commandes **route** ou **ip** permettent de manipuler les tables de routage du noyau. Les modifications apportées sont temporaires, elle ne seront pas rétablies après redémarrage de la machine. Pour que les routes soient permanentes il faut les déclarer dans les fichiers de configuration des interfaces, voir le wiki [[netadmin:linux:definir-routes-permanentes]].
===== Afficher la table de routage =====
L'option **-n** permet d'afficher les adresses sans tentative de résolution des noms:
$ route -n
Les options **-F**, **-e** ou **-ee** permettent de modifier l'affichage des colonnes de la table. Par défaut **-F** est utilisée.
Ci-dessous un exemple de table de routage
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
0.0.0.0 192.9.200.199 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.9.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.9.201.0 192.9.200.254 255.255.255.0 UG 0 0 0 eth0
192.9.202.0 192.9.200.254 255.255.255.0 UG 0 0 0 eth0
192.9.203.0 192.9.200.254 255.255.255.0 UG 0 0 0 eth0
192.9.204.0 192.9.200.254 255.255.255.0 UG 0 0 0 eth0
192.9.205.0 192.9.200.254 255.255.255.0 UG 0 0 0 eth0
192.168.254.0 192.9.200.9 255.255.255.0 UG 0 0 0 eth0
A propos de la table:
* Les destinations peuvent être des hôtes ou des réseaux. Dans la colonne **Genmask** on repérera facilement les entrées ayant pour valeur **0.0.0.0** route par défaut ou **255.255.255.255** correspondant à une route vers un hôte.
* La colonne **Indic** affiche des indicateurs:
* **U** pour **U**p.
* **G** pour **G**ateway.
* **H** pour **H**ost.
* **!** pour un hôte ou un réseau rejeté
===== Routage vers un réseau =====
Dans l'exemple ci-dessous on spécifie que le réseau 172.16.1.0 est atteignable via l'interface **lo** (boucle locale)
route add -net 172.16.1.0 netmask 255.255.255.0 dev lo
===== Route par défaut =====
Ici on indique que pour joindre tout réseau non explicitement déclaré il faudra envoyer vers l’hôte **192.168.0.254** (passerelle par défaut):
route add default gw 192.168.0.254
L’hôte servant de passerelle doit être joignable.
===== Suppression de la route par défaut =====
route del default
===== Routage vers un hôte =====
Dans l'exemple ci-dessous on renseigne quelle interface utiliser pour joindre un hôte en particulier. Le cas s'est présenté lors du paramétrage d'une connexion VPN. Ici on indique que pour joindre l’hôte **10.50.0.1** il faudra utiliser l'interface **tun0**
$ sudo route add -host 10.50.0.1 dev tun0
Maintenant que cet hote est joignable par l'interface tun0, si l'on souhaite rediriger le trafic vers le tunnel VPN on peut supprimer l'ancienne route par défaut et la redéfinir avec cet hote:
===== Le cache de routage =====
Il existe un cache de routage, pour afficher les valeurs dans le cache
route -Cn
Pour forcer le vidage du cache de routage:
echo 0 > /proc/sys/net/ipv4/route/flush
===== Références =====
* %%man -S 8 route%%