[gull] Routing

Daniel Cordey dc at mjt.ch
Mon Jun 21 17:26:02 CEST 2004


Question a propos de table de routage :

Schema :

	System A <--- Net X -----> System B <---- Net Y -------> System C

Le systeme B a deux interfaces (en fait 4 dans ma config). Depuis le systeme 
A, je desire atteindre le systeme C en utilisant le systeme B comme relai.

Je configure donc le systeme A avec :

route add -net NetY netmask 255.255.255.0 gw <address Systeme B sur Net X>

Puis, sur le systeme B, je fais :

echo 1 >/proc/sys/net/ipv4/ip_forward

J'ai aussi effectue la meme operation sur /proc/sys/net/ipv4/eth*/forwarding 
des cartes connectees aux reseaux X et Y. Ceci n'est pas necessaire mais 
comme j'ai deux autres cartes pour lesquelles je ne veux pas de forwarding, 
je veux m'assurer que tous les parametres sont bien OK pour chacune des 
cartes.

Tout devrait aller pour le mieux et j'arrivais a faire fonctionner cela la 
semaine passee... mais plus aujourd'hui. J'ai sans doute fait quelque chose 
qui bloque mon 'forwarding', mais je ne vois vraiment pas quoi. Voici les 
tables de routage du systeme A (le reseau X est 192.6.1.0 et le reseau Y est 
192.168.1.0) :

mjtfw2:/home/dc # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
194.209.241.0   mjtlnx3.hesse.m 255.255.255.0   UG    0      0        0 eth0
192.168.1.0     mjtlnx3.hesse.m 255.255.255.0   UG    0      0        0 eth0
194.88.9.0      *               255.255.255.0   U     0      0        0 eth1
192.6.1.0       *               255.255.255.0   U     0      0        0 eth0
default         194.88.9.1      0.0.0.0         UG    0      0        0 eth1

Celle du systeme B est :


mjtlnx3:~ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
194.209.241.0   *               255.255.255.0   U     0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth2
194.88.9.0      *               255.255.255.0   U     0      0        0 eth3
192.6.1.0       *               255.255.255.0   U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         cisco.mjt.ch    0.0.0.0         UG    0      0        0 eth1

L'adresse IP du systeme B sur Net Y est 70 (192.168.1.70). 

Lorsque je fais ping 192.168.1.70 depuis le systeme A, j'obtiens bien une 
reponse. Mais lorsque j'essaie la meme chose en direction du systeme C, je 
n'obtien aucune reponse. En faisant un tcpdump de l'interface du Net Y sur le 
systeme B, je "vois" bien les requetes icmp, du ping du systeme A, passer 
"sois-disant" par cet interface... mais j'ai des doutes... (Je precise que le 
systeme B est un switch sur lequel je ne peux pas tourner de tcpdump...). 

J'en suis arrive a deduire que les paquest IP ne sont pas "forwardes" comme 
prevus; bien que les parametres de /proc/... soient bien comformes.

Le probleme est que je ne vois pas comment investiguer. Je ne sais pas 
vraiment a quel niveau situer le probleme. Mes paquets doivent bien etre 
quelque part mais je ne vois pas ou. Comme j'arrivais a feir ce genre de 
manip la semaine passee, c'est donc un tout petit detail qui semble 
bloquer... mais quoi ? Quelqu'un a-t-il une idee ?

Daniel






More information about the gull mailing list