Outils pour utilisateurs

Outils du site


netadmin:linux:gestion-des-routes

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 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 Up.
    • G pour Gateway.
    • H pour Host.
    • ! 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
netadmin/linux/gestion-des-routes.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1