Une sorte de "Bridging/Forwarding d'interface"

Une sorte de "Bridging/Forwarding d'interface" - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 10-12-2004 à 15:01:19    

:hello: à vous
 
 
Je m'en remets à vos lumières en bidouilles Linux pour résoudre un problème dont je n'arrive pas à me sortir... :/
 
Je m'explique, j'ai ce type de réseau avec trois pc's reliés entre eux.
 
 
     PC1 ----------------------  PC2  ------------------ PC3            
IP: 60.0.0.6/30          IP: 60.0.0.5/30           IP: 60.0.0.2/29  
Dev: toLAC               Dev : toPC1               Dev : ppp0
                                      et
                                 IP: 60.0.0.1/30
                                 Dev: ppp0
 
 
NB: les device toLAC et toPC1 sont des tunnels GRE.
 
Je voudrais pouvoir transmettre un flux multicast provenant du PC3 en direction du PC1 sans que le PC2 ne fasse aucune modification des paquets et qu'il soit finalement entièrement transparent.
 
Ceci implique plusieurs choses:
- Changer le champs TTL des paquets multicast au niveau du PC2 : no pb
- Entrer deux règles de forwarding sur le PC2 qui disent de rediriger le trafic vers PC1 dans un sens et PC3 dans l'autre sens.
 
J'ai tenté plusieurs solutions à base de iptables et de ebtables, j'ai jamais réussi à faire ce que je voulais. En réalité, je veux juste dire à mon PC2 :  
- Tous les paquets qui arrivent de PC3 par ppp0 sont ré émis vers PC1 par toPC1
- Tous les paquets qui arrivent de PC1 par toPC1 sont ré émis vers PC3 par ppp0
 
Il m'est impossible de créer un pont puisque mes interfaces sont logiques (aussi bien ppp0 que toLAC).  
 
Des commandes qui sembleraient correspondre mais qui échouent :
iptables -t nat -A FORWARD -i ppp0 -o toPC1 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -o toPC1 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -o eth0  
 
je n'arrive à rien pour résumer, les paquets sont pas ré émis hormis quand je modifie l'@IP destination et configure la table de routage, mais ce mécanisme ne me convient pas non plu puisqu'il ne marche pas pour du multicast et des adresses de destination diverses... :/
 
 
Est-ce que quelqu'un sait pourquoi ça ne fonctionne pas ? Mes commandes sont elles merdiques ? Y en a t'il d'autres ? Dois-je passer par ebtable un niveau en dessous ? Celui qui m'aide je l'aime :D :D :D
 
J'attends déjà des réponses, merci d'avance :p :)


Message édité par le gnou le 10-12-2004 à 15:04:14
Reply

Marsh Posté le 10-12-2004 à 15:01:19   

Reply

Marsh Posté le 10-12-2004 à 17:34:52    

Ben ya po beaucoup de réponses :(
 
Après réflexion :  
iptables -t nat -A FORWARD -i ppp0 -o toPC1 -j ACCEPT  
-> Ne fonctionne pas car correspond pas à des règles pour la table nat
iptables -t filter -A FORWARD -i ppp0 -o toPC1 -j ACCEPT  
-> Ne fonctionne pas car -o sert seulement pour "matcher" les paquets apparemment
iptables -t nat -A PREROUTING -i ppp0 -o eth0  
-> Ne fonctionne pas car -o eth0 n'a pas de signification ici, ça voudrait dire qu'on match les paquets en prerouting en fonction de l'interface de sortie, ce qui est stupide.
 
J'ai alors essayé ça :
 
iptables -t filter -A FORWARD -i toPC1 -d 60.0.0.2 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -d 60.0.0.6 -j ACCEPT
 
ca n'a pas marché... ou encore ça :
 
iptables -t filter -A FORWARD -s 60.0.0.6 -d 60.0.0.2 -j ACCEPT
iptables -t filter -A FORWARD -s 60.0.0.2 -d 60.0.0.2 -j ACCEPT
 
Qui n'a pas fonctionné non plu...
 
Mais y a t'il quelque chose qui fonctionne et me permet de faire ce satané bridging/forward/routing entre interfaces ???  :cry:  :cry:  
 
Pitiiiiiiiiiiiiiiié :D


Message édité par le gnou le 10-12-2004 à 17:35:56
Reply

Marsh Posté le 10-12-2004 à 18:02:04    

:bounce:  please I need help :d


Message édité par le gnou le 10-12-2004 à 18:02:18
Reply

Marsh Posté le 10-12-2004 à 18:41:07    

:cry: :cry: :cry:

Reply

Marsh Posté le 12-12-2004 à 18:44:56    

:hello: les gens
 
 
Pas de spécialiste qui traine en ce magnifique dimanche congelé ? :p

Reply

Marsh Posté le 12-12-2004 à 19:27:30    

Tu devrais pouvoir bridger tes interfaces sur ton PC2 du moment que le MTU est le même. voir la FAQ : http://bridge.sourceforge.net/faq.html
 
Est ce que ip_forwarding est activé?
 
Autrement si ça ne marche pas essaye avec du nat et snat:
iptables -t nat -A PREROUTING -p tcp -i ppp0 -j DNAT --to-destination PC1
iptables -t nat -A POSTROUTING -p tcp -o toPC1 -j SNAT --to-source PC3
 
et inversement dans l'autre sens.
En espérant te faire avancé ...

Reply

Marsh Posté le 13-12-2004 à 10:15:47    

:hello: Nikosaka
 
 
merci bien poour ta réponse :)
 
L'IP Forwarding est bien activé. Pour tes possibilités de SNAT et de DNAT, je ne peux pas l'utiliser malheureusement puisque ça change les adresses IP des paquets. Je l'avais fait et en effet ça fonctionne comme je le souhaite, mais les @IP modifiées ne me permettent pas de faire le bridging transparent dont j'ai besoin et le flux mutlicast en passe pas... Ca aurait été de l'unicast ça aurait fonctionné, mais en multicast les @IP sont spéciales :/
 
Je vais voir pour le bridging, j'avais patché mon kernel pour faire tout ça, y compris avec ebtable, mais zero réussite... :(

Reply

Marsh Posté le 13-12-2004 à 10:24:50    

PS: le bridging semble pas trop pouvoir m'aider malheureusement... En effet, j'ai simplifier mon probleme dans ma description ici, mais en réalité derrière le PC qui doit faire ce bridging d'interface il y a plusieurs PC's. Il a donc plusieurs interfaces... c equi donne rien que pour mon PC2 les interfaces suivantes :
 
Interfaces physiques :
Eth0 : 192.168.18.158
Eth1 : 192.168.1.1
 
Interfaces ppp :
ppp0: 60.0.0.1/30  
ppp1: 60.0.0.9/30
ppp2: 60.0.0.17/30
ppp3: 60.0.0.25/30
 
Interfaces logiques GRE :
toPC1 : 60.0.0.6/30
toPC2 : 60.0.0.14/30
toPC3 : 60.0.0.22/30
toPC4 : 60.0.0.30/30
 
Donc c'est plutot la galère qu'autre chose... et j'ai pas le sentiment de pouvoir établir un bridge pour chaque association pppX <-> toPCX ... si quelqu'un a une idée ce serait cool! :)


Message édité par le gnou le 13-12-2004 à 10:26:28
Reply

Marsh Posté le 13-12-2004 à 12:16:13    

:bounce: plizz :cry:


Message édité par le gnou le 13-12-2004 à 12:16:23
Reply

Marsh Posté le 13-12-2004 à 15:50:21    

:bounce: à tout hasard :D

Reply

Marsh Posté le 13-12-2004 à 15:50:21   

Reply

Marsh Posté le 14-12-2004 à 18:11:01    

Ah bah c'est ici aussi  [:paysan]  
 
Bon qu'as tu tenté dans le bridging concretement ??

Reply

Marsh Posté le 15-12-2004 à 09:58:04    

Yep :)
 
J'avais tenté les commandes du style :
 
brctl addbr pour créer le pont
brctl addif pour ajouter les interfaces au pont (2par2 bien entendu)
 
Il voulait pas faire de brctl addif car les interfaces ppp et GRE sont virtuelles :/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed