Redirection de port ethernet

Redirection de port ethernet - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 07-12-2009 à 10:29:23    

Bonjour,
 
je souhaiterais rediriger un port ethernet vers un autre (eth0 vers eth1). Pour PC est en mode routeur dc 1 ds /proc/sys/net/ipv4/ip_forward.
 
J'ai fait la commande : iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
 
Mais cela ne marche pas.
 
Quelqu'un a une idée?

Reply

Marsh Posté le 07-12-2009 à 10:29:23   

Reply

Marsh Posté le 07-12-2009 à 11:15:49    

kloklo55 a écrit :

Bonjour,

 

je souhaiterais rediriger un port ethernet vers un autre (eth0 vers eth1). Pour PC est en mode routeur dc 1 ds /proc/sys/net/ipv4/ip_forward.

 

J'ai fait la commande : iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

 

Mais cela ne marche pas.

 

Quelqu'un a une idée?


tu mélanges pas mal de chose :
- routage et commutation de niveau 2 : rediriger un port ethernet vers un autre c'est de la commutation, ip_forward et le PC en mode routeur c'est du routage
- outils filtrage et commutation/redirection : iptables -A FORWARD ce n'est pas pour rediriger un flux mais pour accepter un flux. iptables est l'outils de controle du firewall intégré au kernel linux.

 

Explique ton architecture réseau et ce que tu veux VRAIMENT faire, d'un point de vue usage.


Message édité par o'gure le 07-12-2009 à 11:16:29

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-12-2009 à 11:19:20    

j'ai un PC utiliser en mode routeur . Dessus j'ai deux VPN de monté. J'ai 4 ports éthernet. je souhaiterais redirigé le flux arrivant sur le port eth0 sur le port eth1 et vice versa

Reply

Marsh Posté le 07-12-2009 à 11:39:26    

Salut !

 

Alors si je comprend bien, le PC en question joue le rôle de router ?

 

Donc eth0 = WAN et eth1 = LAN ?

 

Si c'est la cas, vérifies en remier que tes cartes sont correctement configurées, eth0 en DHCP ( à moins d'avoir une ip fixe ) et eth1 genre 192.168.0.1 ou 10.0.0.1.
A moins de configurer les PC LAN avec une IP fixe, il faudra installer un serveur DHCP, je te conseille dhcpd.

 

Après pour IpTables, une seule ligne ne suffit pas.

 

On commence par effacer les règles.

 

iptables -F
iptables -t nat -F

Maintenant c propre.

 

Règles de base.

 

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT

 

Les règles pour le NAT

iptables -I FORWARD -i eth1 -d 192.168.0.0/255.255.0.0 -j DROP            
iptables -A FORWARD -i eth1 -s 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE                             <<===== Trèèès important cette ligne, elle effectue la traduction d'ip entre lan et wan

 

Bon la c'est pas un firewall, c'est une passoire mais le routage devrait fonctionner, oublie pas de dire au kernel d'effectuer le routage ip !

 


Il me semble que c'est tout, je suis pas un pro d'iptables par contre :)

 


Message édité par deathblade le 07-12-2009 à 11:50:36
Reply

Marsh Posté le 07-12-2009 à 11:46:21    

deathblade a écrit :

A moins de configurer les PC LAN avec une IP fixe, il faudra installer un serveur DHCP, je te conseille Bind.


Bind est un serveur DNS.


Message édité par o'gure le 07-12-2009 à 11:46:33

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-12-2009 à 11:49:47    

je reformule bien mon probleme. Tout le monde comprendra mieux ^^
 
Je voudrais faire une vrai redirection quelque soit les adresses.
 
Sur mon PC, j'ai du flux qui arrive sur deux tunnels tun1 et tun2 sur eth3. et je voudrais que tout ce qui arrive de tun1 soit transmis sur eth0 et tout ce qui arrive sur tun2 soit transmis sur eth1. Et cela quelque soit les ips.
 
On peut considérer tun1 et tun2 comme des ports ethernet quelque part.

Reply

Marsh Posté le 07-12-2009 à 11:50:16    

kloklo55 a écrit :

j'ai un PC utiliser en mode routeur . Dessus j'ai deux VPN de monté. J'ai 4 ports éthernet. je souhaiterais redirigé le flux arrivant sur le port eth0 sur le port eth1 et vice versa


Désolé, mais j'ai du mal à voir ce que tu veux VRAIMENT faire.
Je te demande pas ce que tu penses devoir faire mais ce que tu veux faire réellement. Pas la solution que tu imagines. Et pour ça j'ai besoin de ta conf réseau et de ton problème réel.
 
Pour la redirection de flux d'un port à un autre ça peut être fait de plusieurs manières suivant le besoin et les critères dont tu as besoin : iproute (cf. ton autre topic), via un NAT réalisé par netfilter, une route basique, une collaboration entre iptables/netfilter et iproute, un bridge, etc...


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-12-2009 à 11:50:17    

Ouhla chuis pas réveillé moi...
 
j'ai corrigé

Reply

Marsh Posté le 07-12-2009 à 11:50:30    

je ne sais pas quoi utilisé j'avais juste tester iptables mais c'est pas etre pas le mieux adapter

Reply

Marsh Posté le 07-12-2009 à 11:52:13    

kloklo55 a écrit :

je reformule bien mon probleme. Tout le monde comprendra mieux ^^
 
Je voudrais faire une vrai redirection quelque soit les adresses.
 
Sur mon PC, j'ai du flux qui arrive sur deux tunnels tun1 et tun2 sur eth3. et je voudrais que tout ce qui arrive de tun1 soit transmis sur eth0 et tout ce qui arrive sur tun2 soit transmis sur eth1. Et cela quelque soit les ips.
 
On peut considérer tun1 et tun2 comme des ports ethernet quelque part.


C'est déjà un poil mieux... nous ne sommes pas devin désolé [:spamafote]
Je dirais que ça peut se faire en deux étapes :
1. règle iptables qui marque ton trafic lorsqu'il entre sur tun1 ou tun2 (deux marques différentes)
2. routage via iproute en fonction de la marque (c'est décrit dans un des liens que je t'ai fourni dans un autre topic).


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-12-2009 à 11:52:13   

Reply

Marsh Posté le 07-12-2009 à 13:59:28    

tu peux utiliser bridge-utils
 
plus d'info ici : http://www.linuxjournal.com/article/8172
 

Reply

Marsh Posté le 07-12-2009 à 14:11:52    

voici ma topologie
 
http://nsa10.casimages.com/img/2009/12/07/091207021538990867.jpg
 
j'y suis presque..
 
pour marquer les paquets, ok pas pb :  
iptables -A PREROUTING  -i tun1 -t mangle -j MARK --set-mark 1
iptables -A PREROUTING  -i tun2 -t mangle -j MARK --set-mark 2
 
pour le routage  
echo 200 T1 >> /etc/iproute2/rt_table
echo 201 T2 >> /etc/iproute2/rt_table
 
ip rule add fwmark 1 table T1
ip rule add fwmark 2 table T2
 
ip route add default via 192.10.40.1 dev eth1 table T2
ip route add default via 192.10.30.1 dev eth0 table T1
 
sachant que 192.10.40.1 est l'adresse de mon eth1
et que 192.10.30.1 est l'adresse de mon eth0
 
Le soucis c'est que lorsque je fait un ping sur le vpn tun1, la requête ICMP arrive bien mais il repart une trame ARP sur eth0 au lieu de la même requête ICMP. C'est normal que le PC renvoie de l'arp vu qu'il ne sais pas faire l'association IP-MAC mais je voudrais qd même que la requête soit transmisse pour facilité le routage derrière (car les routeurs en avals je ne suis pas sencé les avoir)...

Reply

Marsh Posté le 07-12-2009 à 14:24:54    

si les deux routeurs PC5 et PC6 sont censé router le trafic après, tu ne dois pas indiquer l'interface de sortie mais juste le "next-hop". La pile IP de Linux routera le trafic gentiment en fonction de la marque vers le next-hop. Ce sera au next-hop (PC5 ou PC6) de router le trafic correctement.

 

Par contre, ton routage est spécifiqe noeud par noeud (ton autre topic pour PC1, maintenant PC2), vas tu créer un troisième topic pour PC5 et 6 ? Je ne sais pas quel est ton but mais j'ai limpression que tu es en train de monter une usine à gaz. Si tu as une problématique réelle, je te conseille de la poser dans ce forum au lieu de tenter de la résoudre point par point que tu rencontres au fil de l'eau...

 

Je me dis quelque part que :
  - les deux VPN entre les 2 mêmes équipements : inutile un seul VPN est suffisant, AMHA, après tu dois avoir tes raisons...
  - le routage forcé à la sortie du VPN : inutile : je pense que ça doit être gérable par routage simple, quitte à mettre des ACL si tu ne veux pas qu'un PC envoie du trafic vers une destination interdite.

 


Là tu vas réussir à envoyer du trafic comme tu l'entends, mais c'est une vraie usine à gaz super chiante à maintenir et non évolutive (si ce n'est au prix d'une perte de temps potentielle...) et on n'a pas encore parler de trafic retour...

 

Et pour terminer : quand tu poses une questions, indique tout le contexte. C'est particulièrement lourd d'avoir des bribes d'informations à chacun de tes postes. C'est une perte de temps autant pour toi que pour nous [:spamafote]

Message cité 1 fois
Message édité par o'gure le 07-12-2009 à 14:32:52

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-12-2009 à 14:35:12    

A la base ce que je cherche a faire c'est à partir du PC3 pingué(ou envoyé du flux) vers le PC4 en faisant le trajet PC3---PC1--tun1--PC2--PC5--PC6--PC2--tun2--PC1--PC4.
et l'inverse.
 
Pour le moment je suis bien arrivé a interdir le ping direct PC3 -- PC4 via le PC1 en obligant tous les flux sortant du LAN du PC3 a passer par le VPN tun1 , en obligeant aussi tous les flux sortant du lan du PC4 a passer par le VPN tun2 .(tout ca sur le PC1)
 
Maintenant sur le PC2, je souhaite faire passe le flux venant du vpn tun1 sur eth0 ou étant brancher le PC5 et pour tun2 sur eth1 ou est brancher le PC6.
 
Apres bon PC5 et PC6 routeront entre eux pour router la ou il va bien.
 
Le probleme maintenant c'est que si ce qui est envoyé au PC5 ou PC6 c'est de l'ARP une table de routage bete ne suffira plus.

Reply

Marsh Posté le 07-12-2009 à 14:43:57    

o'gure a écrit :

si les deux routeurs PC5 et PC6 sont censé router le trafic après, tu ne dois pas indiquer l'interface de sortie mais juste le "next-hop". La pile IP de Linux routera le trafic gentiment en fonction de la marque vers le next-hop. Ce sera au next-hop (PC5 ou PC6) de router le trafic correctement.


L'ARP est obligatoire à un moment ou un autre lorsque l'adresse MAX de PC5 n'est pas dans le cache de PC2


Message édité par o'gure le 07-12-2009 à 14:44:58

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-12-2009 à 14:53:47    

je le concoit tres bien ca mais avec une table de routage comme celle la sur le PC5 et l'équivalent sur le PC6 ne marchera pas alors :
 
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.10.10.0     *               255.255.255.0   UG    0      0        0 eth0
100.10.10.0     *               255.255.255.0   U     1      0        0 eth3
192.10.30.0     *               255.255.255.0   U     1      0        0 eth0
192.10.20.0     100.10.10.1               255.255.255.0   U     0      0        0 eth3
default         192.10.30.1     0.0.0.0         UG    0      0        0 eth0
 
sachant que 100.10.10.1 est l'adresse du PC6
 
 

Reply

Marsh Posté le 07-12-2009 à 15:03:05    

La route pour 192.10.10.0 est mauvaise

 

La table de routage de PC5 doit être :
   pour le trafic vers 192.10.10.0/24   next-hop 192.10.30.1
   pour le trafic vers 192.10.20.0/24   next-hop 100.10.10.1
   pour le trafic vers 192.10.30.0/24   dev eth0
   pour le trafic vers 100.10.10.0/24   dev eth3

 


Message édité par o'gure le 07-12-2009 à 15:03:40

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-12-2009 à 15:11:14    

ca veux dire dans un premier temps sur le PC2, j'aurai la config :
 
iptables -A PREROUTING  -i tun1 -t mangle -j MARK --set-mark 1
iptables -A PREROUTING  -i tun2 -t mangle -j MARK --set-mark 2
 
pour le routage  
echo 200 T1 >> /etc/iproute2/rt_table
echo 201 T2 >> /etc/iproute2/rt_table
 
ip rule add fwmark 1 table T1
ip rule add fwmark 2 table T2
 
ip route add default nexthop 192.10.40.2 table T2
ip route add default nexthop 192.10.30.2 table T1  
 
et sur le PC5 j'aurai
ip route add 192.10.10.0/24 nexthop 192.10.30.1
ip route add 192.10.20.0/24 nexthop 100.10.10.1
ip route add 192.10.30.0/24 dev eth0
ip route add 100.10.10.0/24 dev eth3
 
si j'ai bien compris.
 
Mais a ce moment la, la table de routage que j'ai rentré avec la commande route, es ce qu'il faut que je la supprime?

Reply

Marsh Posté le 07-12-2009 à 15:21:55    

ça doit être ça, il faut que tu vires la route suivante du PC5

192.10.10.0     *               255.255.255.0   UG    0      0        0 eth0


La route par défaut, je l'enlèverai également, histoire d'être clean et de ne pas avoir d'effet "non-compris".


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-12-2009 à 16:59:34    

ok c cool merci. Comme ca, ca marche niquel.
 
Une autre petite question, es ce que je peux rajouter sur les PC5 et PC6 un LAN sur chacun qui on la meme plage ip que ceux sur les PC3 et PC4.
 
cad PC3 ip 192.10.10.X
      PC5 ip 192.10.10.X
 
     PC4 ip 192.10.20.X
     PC6 ip 192.10.20.X
 
bon avec le X existant une seule fois sur le réseau.
 
si oui comment gérer ca??

Reply

Marsh Posté le 07-12-2009 à 17:20:40    

kloklo55 a écrit :

Une autre petite question, es ce que je peux rajouter sur les PC5 et PC6 un LAN sur chacun qui on la meme plage ip que ceux sur les PC3 et PC4.
 
cad PC3 ip 192.10.10.X
      PC5 ip 192.10.10.X
 
     PC4 ip 192.10.20.X
     PC6 ip 192.10.20.X
 
bon avec le X existant une seule fois sur le réseau.
 
si oui comment gérer ca??


[:pingouino]
Pourquoi tu cherches tant à te compliquer la vie ?
 
En réseau pratiquement tout est possible mais tu vas te galérer la vie à un niveau monstre :
ie. : pour que cela marche, il va fallloir :
 - Soit rajouter à peu près partout dans le réseau des routes très précises (des routes en /32)  pour que le routage se face correctement et que le trafic pour une adresse du sous réseau existant partout n'aille pas sur le LAN du PC5 au lieu d'aller au PC6 ou PC3.
 
 - Soit faire de la translation d'adresse pour masquer cela
 
Bref. c'est ridicule.
 
Si tu peux te passer de plan d'adressage recouvrant pourquoi vouloir se compliquer la vie.


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-12-2009 à 17:23:32    

perso je m'en passerais bien rassure toi mais j'en connais un qui risque de vouloir faire ca (mon chef^^)
 
merci:)

Reply

Marsh Posté le 07-12-2009 à 17:37:51    

kloklo55 a écrit :

perso je m'en passerais bien rassure toi mais j'en connais un qui risque de vouloir faire ca (mon chef^^)
 
merci:)


 :pfff:  
Par moment il faut savoir dire non à son chef en lui expliquant pourquoi son idée est mauvaise et arrêter d'opiner "bêtement" ce que dit la hiérarchie [:spamafote] :
1. complexité de la configuration
2. perte de temps pour le débuggage
3. perte de temps pour la configuration
4. non évolutif ou au prix d'énorme perte de temps à venir
5. si le personnel change perte de temps et risque de faire tout péter sans savoir d'où vient le problème.
 
Dans pleins de boites que je rencontre d'ancien ingé ont mis des trucs compliqués/non standard en place : ça coute un max mais vu que personne ne sait comment ça fonctionne, on laisse tourner tant que ça marche. Et quand ça pète... ben on trime jour et nuit pour comprendre comment ça fonctionne jusqu'à ce que quelqu'un qui prenne son courage à deux mains et fasse un RAZ !
 
Les solutions temporaires et les bidouilles c'est bien et ça fait technique/joli mais tu en payes forcément le coup un jour.
 
Plus c'est simple, mieux ça marche, moins tu perds de temps. A toi de proposer !


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-12-2009 à 17:43:14    

effectivement

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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