HOWTO du routage avancé et du contrôle de trafic sous Linux | ||
---|---|---|
Précédent | Chapitre 4. Règles - bases de données des politiques de routage | Suivant |
Prenons encore une fois un exemple réel. J'ai 2 modems câble, connectés à un routeur Linux NAT (masquerading). Les personnes habitant avec moi me paient pour avoir accès à Internet. Supposons qu'un de mes co-locataires consulte seulement hotmail et veuille payer moins. C'est d'accord pour moi, mais il utilisera le modem le plus lent.
Le modem câble << rapide >> est connu sous 212.64.94.251 et est en liaison PPP avec 212.64.94.1. Le modem câble << lent >> est connu sous diverses adresses IP : 212.64.78.148 dans notre exemple avec un lien vers 195.96.98.253.
La table locale :
[ahu@home ahu]$ ip route list table local broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1 local 10.0.0.1 dev eth0 proto kernel scope host src 10.0.0.1 broadcast 10.0.0.0 dev eth0 proto kernel scope link src 10.0.0.1 local 212.64.94.251 dev ppp0 proto kernel scope host src 212.64.94.251 broadcast 10.255.255.255 dev eth0 proto kernel scope link src 10.0.0.1 broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1 local 212.64.78.148 dev ppp2 proto kernel scope host src 212.64.78.148 local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1 local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1 |
Il y a beaucoup de choses évidentes, mais aussi des choses qui ont besoin d'être précisées quelque peu, ce que nous allons faire. La table de routage par défaut est vide.
Regardons la table principale (main) :
[ahu@home ahu]$ ip route list table main 195.96.98.253 dev ppp2 proto kernel scope link src 212.64.78.148 212.64.94.1 dev ppp0 proto kernel scope link src 212.64.94.251 10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1 127.0.0.0/8 dev lo scope link default via 212.64.94.1 dev ppp0 |
Maintenant, nous générons une nouvelle règle que nous appellerons John, pour notre hypothétique co-locataire. Bien que nous puissions travailler avec des nombres IP purs, il est plus facile d'ajouter notre table dans le fichier /etc/iproute2/rt_tables.
# echo 200 John >> /etc/iproute2/rt_tables # ip rule add from 10.0.0.10 table John # ip rule ls 0: from all lookup local 32765: from 10.0.0.10 lookup John 32766: from all lookup main 32767: from all lookup default |
Maintenant, tout ce qu'il reste à faire est de générer la table John, et de vider le cache des routes :
# ip route add default via 195.96.98.253 dev ppp2 table John # ip route flush cache |
Et voilà qui est fait. Il ne reste plus, comme exercice laissé au lecteur, qu'à implémenter cela dans ip-up.
Précédent | Sommaire | Suivant |
Règles - bases de données des politiques de routage | Niveau supérieur | GRE et autres tunnels |