4 231
modifications
(Page créée avec « Category:serveur Category:desktop Category:networking ») |
Aucun résumé des modifications |
||
(13 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
[[Category:desktop]] | [[Category:desktop]] | ||
[[Category:networking]] | [[Category:networking]] | ||
[[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 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> | |||
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 | |||
</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) |