François TOURDE a écrit :
Je ne sais pas vraiment comment ça marche (et ce n'est pas mon souci
pour le moment ^^), mais j'ai observé que quand j'ai eu la double
liaison FAI, les réponses aux PING ne marchaient correctement que
quand je les recevais par l'interface définie par défaut dans ma table
de routage barbare :)
Quand tu recevais quoi par l'interface de la route par défaut ? Les
pings ou les réponses au ping ?
Un problème courant avec le routage avancé ou lorsqu'on a plusieurs
liens vers internet est la validation d'adresse source des paquets reçus
par vérification du chemin inverse, contrôlée pour chaque interface par
le paramètre du noyau /proc/sys/net/ipv4/conf/<interface>/rp_filter.
Dans Debian, une option du fichier /etc/network/options, maintenant
déclaré obsolète, permet d'activer ce réglage au démarrage. Lorsque ce
paramètre est activé pour une interface, le noyau jette un paquet
entrant par une interface avec une adresse source donnée s'il n'aurait
pas routé un paquet vers cette adresse via la même interface. L'ennui,
c'est que cette vérification ne prend pas en compte le routage avancé.
Cela peut expliquer que les paquets entrants n'étaient acceptés que
lorsqu'ils arrivaient par l'interface de la route par défaut.
Un autre problème potentiel lorsqu'on a plusieurs liens est le filtrage
d'adresse source des paquets sortants qui peut être effectué par les
opérateurs des liens (les FAI). Ta machine a deux liens avec deux
adresses IP, et en théorie rien n'interdit d'émettre des paquets sur un
lien avec l'adresse IP de l'autre. Mais en pratique il arrive que les
FAI bloquent ces paquets pour éviter les attaques avec usurpation
d'adresse IP source (IP spoofing). Ce filtrage du FAI a le même effet
que rp_filter, mais en sortie cette fois. Le routage avancé permet de
forcer le routage par le lien correspondant à l'adresse source.
Mes soucis se sont résolus après l'utilisation de l'iprouting,
permettant (je ne sais pas comment) de répondre à un paquet au travers
de l'interface ayant reçu la requête.
Je soupçonne que cela permettait plutôt d'envoyer un paquet par
l'interface en fonction de son adresse source, ce qui est légèrement
différent dans l'absolu. C'est beaucoup plus facile que de router la
réponse par l'interface ayant reçu la requête.
C'est pour cela que j'ai utilisé l'expression "source routing", et je
m'en excuse si elle a pû prêter à confusion ou erreur.
Bah, c'est une confusion courante parce que d'une part presque personne
ne connaît l'existence de l'option "source routing" du protocole IP
étant donné sa faible utilisation, et d'autre part "source based routing
policy" ça fait vachement long pour des feignasses d'unixiens habitués
aux sigles à 3 ou 4 lettres et aux commandes à 2 lettres. ;-) Alors on a
facilement la tentation d'abréger en "source routing", sans savoir que
ça désigne déjà autre chose.
Je suis d'ailleurs preneur d'explications sur ce mécanisme ...
Quel mécanisme ? L'option "source routing" du protocole IP ou le routage
avancé basé sur l'adresse source de Linux ?
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]