« Routage linux » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (5 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 7 : | Ligne 7 : | ||
* Most specific route | * Most specific route | ||
* Lowest administrative distance | * Lowest administrative distance | ||
* lowest metric (ou preference sous linux) | * lowest metric (ou preference sous linux, a ne pas confondre avec le champ 'pref' pour les routes ipv6) | ||
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 : | 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 suite à une décision de routage (et uniquement suite à une décision de routage). | |||
<br>On peut cependant créer des tables de routages indépendantes dans cette situation : | |||
<pre> | <pre> | ||
echo '252 T1' >> /etc/iproute2/rt_tables | echo '252 T1' >> /etc/iproute2/rt_tables | ||
echo '251 T2' >> /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) | # 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 rule add from 10.0.0.100 table T1 | ||
| Ligne 26 : | Ligne 29 : | ||
</pre> | </pre> | ||
Vous pouvez voir les rules par défaut avec <code>ip rule show</code> : | Dans le cas présent : | ||
* Les paquets provenant (directive <code>from</code> de l'IP 10.0.0.100 seront adressé à la table de routage T1 qui route ses paquets vers la gateway 10.0.0.2 de l'interface eth0 si leur IP source est 10.0.0.100 | |||
* Les paquets provenant (directive <code>from</code> de l'IP 10.0.0.200 seront adressé à la table de routage T2 qui route ses paquets vers la gateway 10.0.0.2 de l'interface eth1 si leur IP source est 10.10.0.200 | |||
<br>A noter que cette solution : | |||
* ne nécessite aucun marquage des paquets avec ipfilter/netfilter | |||
* fonctionne car le paquet dit sortant (=la réponse) aura le champ ip-src défini à la valeur du ip-dst du paquet entrant initial (=la requête) : | |||
** Paquet entrant (initial) ip-src=IP-AAAA ip-dst='''IP-BBBB''' | |||
** Paquet sortant (réponse) ip-src='''IP-BBBB''' ip-dst=IP-AAAA | |||
<br> | |||
Vous pouvez voir les rules par défaut avec <code>ip rule show</code> (ici la table de rule par défaut) : | |||
<pre> | <pre> | ||
0: from all lookup local | 0: from all lookup local | ||
| Ligne 37 : | Ligne 51 : | ||
* Priority 32766 sans selecteur (<code>from all</code>) -> lookup sur la table de routage 'main' (ID 254) (table par défaut) | * Priority 32766 sans selecteur (<code>from all</code>) -> lookup sur la table de routage 'main' (ID 254) (table par défaut) | ||
* Priority 32767 sans selecteur (<code>from all</code>) -> lookup sur la table de routage 'default' (ID 255) (table vide réservée) | * Priority 32767 sans selecteur (<code>from all</code>) -> lookup sur la table de routage 'default' (ID 255) (table vide réservée) | ||
<br> | |||
Vous pouvez inspecter une table de routage avec la commande suivante : <pre>ip route show table NOM_DE_LA_TABLE</pre> | |||