[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DNAT probleme



Le Sat, Aug 18, 2001 at 04:15:26AM +0200, jc a tapoté:
-> Subject: DNAT probleme
-> 
-> bonjour, 

Salut,

-> que manque il ?
-> 
-> j'accepte les connexions sur le port a
-> puis
-> iptables -t filter -A INPUT -i ppp0 -p tcp --dport a -j ACCEPT

La ligne ci-dessus signifie que ta machine sur laquelle
tu execute la regle accepte les connexions provenant du net (-i ppp0)
a destination du port 'a' de cette même machine.



-> iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport a -j DNAT --to myhost:b

La ligne ci-dessus quand a elle dit a la machine sur laquelle la regle
est executée, de rediriger tous les packets a destinations du port 'a'
arrivant par l'interface ppp0 (net, la mm que la règle d'avant !) vers
une autre machine sur le port b.


1/ Faut faire un choix. Soit c'est la machine (firewall certainement) qui accepte 
les packets pour le port 'a'.
Dans ce cas:
iptables -A INPUT -p tcp --dport a -i ppp0 -m state --state \
ESTABLISHED,RELATED -j ACCEPT

2/ Soit tu les rediriges:
iptables -t nat -A PREROUTING -p tcp -s <Ton_IP_public_INTERNET> --dport a\
-i ppp0 -j DNAT --to <myhost>:b

(J'utilise moi même ces deux regles et elles fonctionnent pas de doute.)
Il peut y avoir un autre problème.

Selon le port verifie qu'il s'agit bien d'un '-p tcp' et non udp.
Verifie que tu fait bien du MASQUERADE sur le POSTROUTING.
Verifie ta chaîne intermédiaire 'FORWARD'.

Voila j'ai un peu du mal a piger pourquoi tu voulais a la fois que la
machine accepte les connexion a destination de ce port 'a' et quand même
temps elle les redirige.

J'éspère avoir pus t'aider un peu, ou au moins t'orrienter dans ta
recherche de l'erreur. Si j'ai étais Hors Sujet escuse moi ;-)
N'hésite pas a me recontacter en précisant plus ton problème.



PS: Peut etre veux tu que seulement certaine machine (IP sur le net)
est accès au port 'a' sur ta gateway, les autres étant redirigés sur
une autre machine (sur un autre port en plus).
Si c'est ca, utilise juste un -s (pour préciser la source)
Ou sur la chaine prerouting de la table net, utilise le symbole '!' 
qui signifie différent de. Donc tous ce qui ne vient *pas* de cette
machine sera redirigé sur l'autre....

Amuse toi bien, netfilter est vraiment sympa.

http://netfilter.samba.org/

-- 
  /======-====-====: ADrien Auzanneau :====-====-======\
 * DarkSnow Project:		www.darksnow.org	*
 | wwwkeys.us.pgp.net  		6FD67F64		|
 * Perso:			www.darksnow.org/~ada	*
  \______________________#102068424____________________/

Attachment: pgpdxApSchm3q.pgp
Description: PGP signature


Reply to: