Routage avancé avec Linux-2.2

Le noyau 2.2 a accru les possibilités de routage de Linux de manière certaine. Malheureusement la documentation pour exploiter ces nouvelles possibilités est presque impossible à trouver, même si elle existe.

J'y ai passé un peu de temps et ai été en mesure de faire un petit quelque chose. J'en mettrai plus quand j'aurai le temps et l'aide nécessaire pour comprendre tout ce qui a été dit.

Dans les versions du noyau 2.0 et antérieures, Linux utilise la commande route standard pour positionner les routes dans une seule table de routage. Si vous aviez tapé netstat -rn à l'invite vous auriez pu voir un exemple.

Dans les noyaux récents (2.1 et au-delà) vous avez une autre option. Cette option est autorisée et vous permet d'avoir plusieurs tables de routage. Les nouvelles règles donnent beaucoup plus de souplesse sur la façon de manipuler les paquets. Vous pouvez choisir entre des routes basées non seulement sur l'adresse de destination, mais aussi l'adresse de départ, TOS, ou un périphérique de réception.

Les bases

Afficher la table de routage :

ip route

Maintenant sur ma machine cela donne la sortie suivante :

207.149.43.62 dev eth0  scope link
207.149.43.0/24 dev eth0  proto kernel  scope link  src 207.149.43.62
default via 207.149.43.1 dev eth0

La première ligne :

207.149.43.62 dev eth0 scope link est la route vers l'interface

La deuxième :

207.149.43.0/24 dev eth0 proto kernel scope link src 207.149.43.62 est la route qui dit tout ce qui va vers 207.149.43.0 doit aller vers 207.149.43.62.

La troisième :

default via 207.149.43.1 dev eth0 est la route par défaut.

Utiliser les informations

Maintenant que nous avons vu une table de routage de base, voyons comment l'utiliser. Tout d'abord lisez name="the Policy routing text." Si vous êtes embêtés, ne vous en faites pas -- c'est un texte confus. Il vous donne tout ce que les nouvelles tables de routage peuvent faire.