Routage linux

De Linux Server Wiki
Aller à la navigation Aller à la recherche


Ordre d'une décision de routage (dans l'ordre de décision) :

  • Most specific route
  • Lowest administrative distance
  • lowest metric (ou preference sous linux)

Les paquets sont considérés individuellement pour les décisions de routage. La décision de routage ne prend donc pas en considération qu'un paquet puisse être la réponse à un autre paquet. Cela peut poser soucis dans les installations avec plusieurs interfaces réseaux et générer un routage asymétrique (paquet entrant par un couple interface/gateway et sortant par un autre couple interface/gateway. On peut cependant créer des tables de routages indépendantes dans cette situation :

echo '252 T1' >> /etc/iproute2/rt_tables
echo '251 T2' >> /etc/iproute2/rt_tables
# notez que les numéros ici ne sont PAS une priorité. C'est un identifiant numérique de la table (de 0 à 255, sachant que 0 253 254 et 255 sont réservés)

ip rule add from 10.0.0.100 table T1
ip route add 10.0.0.0/24 dev eth0 src 10.0.0.100 table T1
ip route add default via 10.0.0.2 dev eth0 src 10.0.0.100 table T1

ip rule add from 10.0.0.200 table T2
ip route add 10.0.0.0/24 dev eth1 src 10.0.0.200 table T2
ip route add default via 10.0.0.2 dev eth1 src 10.10.0.200 table T2

Vous pouvez voir les rules par défaut avec ip rule show :

0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default

Ici nous avons :

  • Priority 0 sans selecteur (from all) -> lookup sur la table de routage 'local' (ID 255) (table local / broadcast)
  • Priority 32766 sans selecteur (from all) -> lookup sur la table de routage 'main' (ID 254) (table par défaut)
  • Priority 32767 sans selecteur (from all) -> lookup sur la table de routage 'default' (ID 255) (table vide réservée)