Iptables et FORWARD

Fermé
flolag Messages postés 28 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 26 mai 2011 - 26 mai 2011 à 10:03
annetthe Messages postés 96 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 15 juin 2011 - 26 mai 2011 à 15:24
Salut,
Dans le cadre d'une mise en place du Wake on Lan multi VLAN je souhaiterais à l'aide d'iptables faire du Forwarding.
Explications :
J'ai un serveur (FOG qui gère le déploiement d'image à distance) qui permet grâce à son interface web de planifier le Wake on Lan.
Ce serveur est sur un VLAN particulier et ne dois pas avoir tout les VLAN sur ses interfaces réseau (cela provoquerais des lenteurs dû au trafic réseau important).
Le Wake on Lan ne passant pas les routeurs l'idée est d'avoir un autre serveur sur lequel les magic paquets sont envoyés et qui les redirige ensuite sur le bon VLAN. (ce serveur disposant d'une patte sur les VLAN voulus, interface réseau taguée)

Sur ce serveur qui gèrera le Wake on Lan, les VLAN voulus sont donc tagués sur l'interface réseau (exemple eth0.1000 eth0.2000).
Le serveur FOG qui envoi les paquets magiques sur ce serveur qui gère le wake on lan les envoi de la sorte (wakeonlan -i IP @MAC).
Je voudrais donc que ces paquets qui arrive soit redirigé sur le VLAN qui les concerne.
Le filtrage pour identifier le VLAN se ferait sur l'IP.
Exemple : les IP 172.20.1.* redirigés sur le VLAN 1000
les IP 172.22.8.* redirigés sur le VLAN 2000

Tout d'abord iptables permet-il de faire cela ?
Si oui j'avais pensé à ceci mais je pense que cela n'est pas complet :
iptables -t filter -A INPUT -p udp --dport 9 -j ACCEPT
iptables -FORWARD -i eth0 -s 172.20.1.* -o eth0.1000 -d 172.20.1.255 -p udp -dport 9 -j ACCEPT

Merci pour votre aide.

3 réponses

annetthe Messages postés 96 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 15 juin 2011 6
26 mai 2011 à 10:14
il te faudra aussi activer le forwarding des paquets par le noyaux Linux

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

sinon si tu laisse ton iptable en full accept (input forward output pre/post routing)

la seule ligne don tu as besoin c'est

iptables -t nat -A PREROUTING -i (carte input) -p udp --dport 9 -j DNAT --to-destination (ip serveur)

en espérant que ça t'aide

coin!
0
flolag Messages postés 28 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 26 mai 2011
Modifié par flolag le 26/05/2011 à 14:57
Merci pour ta réponse rapide.
Avec ta proposition j'obtiendrais donc :
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 9 -j DNAT --to-destination eth0.1001

Ce qui signifierais que tout les paquets arrivant sur le port 9 sont redirigé sur eth0.1001.

Est-ce exact ?
0
annetthe Messages postés 96 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 15 juin 2011 6
26 mai 2011 à 15:24
le --to-destination doit être vers une IP précise non pas une carte de sortie mais oui c'est bien ça
0
flolag Messages postés 28 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 26 mai 2011
26 mai 2011 à 15:08
Ou plus simplement je voudrais créer un règle qui redirige tout les paquets arrivant sur eth0.1001 (port 9) == vers ==> eth0.3008 (port 9).

Merci d'avance
0