4 244
modifications
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(10 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 4 : | Ligne 4 : | ||
[[Category:linux]] | [[Category:linux]] | ||
Ordre d'une décision de routage sous linux (dans l'ordre de décision) : | |||
* Most specific route | |||
* Lowest administrative distance | |||
* 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) | |||
ip rule add from 10.0.0.100 table T1 | ip rule add from 10.0.0.100 table T1 | ||
Ligne 21 : | Ligne 28 : | ||
ip route add default via 10.0.0.2 dev eth1 src 10.10.0.200 table T2 | ip route add default via 10.0.0.2 dev eth1 src 10.10.0.200 table T2 | ||
</pre> | </pre> | ||
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> | |||
0: from all lookup local | |||
32766: from all lookup main | |||
32767: from all lookup default | |||
</pre> | |||
Ici nous avons : | |||
* Priority 0 sans selecteur (<code>from all</code>) -> lookup sur la table de routage 'local' (ID 255) (table local / broadcast) | |||
* 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) |