OVH Cloud OVH Cloud

iptable et règles de redirection...

1 réponse
Avatar
C. Mourad Jaber
Bonjour,
J'ai une question concernant la règle PREROUTING d'iptables
J'ai fait une règle pour envoyer les paquets de ma passerelle vers mon
server web qui est derrière :
$IPTABLES -A INPUT -p tcp --dport 8080 -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp -m tcp --dport 8080 -j DNAT --to
10.1.1.11:80

ça marche, mais le serveur web à l'impression qu'il communique
uniquement avec ma passerelle et dans le log, j'ai toujours 10.1.1.1 (l'adresse
interne de ma passerelle) comme client au lieu de l'adresse réelle... C'est trés
gènant puisque du coup, je perd compètement
l'information de qui se connecte à mon serveur... comment est-ce
possible de ne pas modifier les paquets à ce point là ?
Merci
@ +


Mourad


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

1 réponse

Avatar
Pascal
Salut,

C. Mourad Jaber a écrit dans duf:
J'ai une question concernant la règle PREROUTING d'iptables
J'ai fait une règle pour envoyer les paquets de ma passerelle vers mon
server web qui est derrière :



$IPTABLES -A INPUT -p tcp --dport 8080 -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT



Cette règle est inutile car la chaîne INPUT ne traite que les paquets
destinés à la passerelle *après* les éventuelles redirections dans la
chaîne PREROUTING. Les paquets qui traversent la passerelle sont traités
dans la chaîne FORWARD. Mais si ça passe, ça veut dire qu'il existe déjà
une autre règle ou une politique par défaut FORWARD qui accepte ces
paquets. D'autre part, le RELATED est aussi inutile car le protocole
HTTP ne produit pas de connexion TCP RELATED.

$IPTABLES -t nat -A PREROUTING -p tcp -m tcp --dport 8080 -j DNAT --to
10.1.1.11:80

ça marche, mais le serveur web à l'impression qu'il communique
uniquement avec ma passerelle et dans le log, j'ai toujours 10.1.1.1
(l'adresse interne de ma passerelle) comme client au lieu de l'adresse
réelle...



Une modification de l'adresse source ne peut être provoquée par une
règle DNAT dans la chaîne PREROUTING. Sauf règles de routage avancé ip
rules nat, elle ne peut provenir que d'une règle DNAT dans OUTPUT pour
les paquets émis par la passerelle elle-même ou d'une règle SNAT ou
MASQUERADE dans la chaîne POSTROUTING pour tous les paquets sortants. Je
parie sur la règle qui fait le masquerading du LAN vers internet qui ne
tient pas compte de l'interface de sortie ni de l'adresse source, du genre :

iptables -t nat -A POSTROUTING -j MASQUERADE

à remplacer par (si ppp0 est l'interface internet) :

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

ou (si 10.0.0.0/8 est la plage d'adresses locales)
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE

ou la combinaison des deux :

iptables -t nat -A POSTROUTING -o ppp0 -s 10.0.0.0/8 -j MASQUERADE


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact