Iptables prerouting

Bonjour
J’ai un problème lorsque je configure iptables avec une regle dnat.

J’ai un firewall 192.168.0.253 et un serveur derriere 192.168.0.1

mon script

#activation ip forward
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -X

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#ajout des modules
modprobe ip_conntrack_ftp

#supp redirection de port
iptables -t nat -F

iptables -t nat -A PREROUTING -p tcp --dport 20 -j DNAT --to-destination 192.168.0.1
iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 192.168.0.1
iptables -A INPUT -s 192.168.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT

Le problème c’est que si je fait une connexion sur 192.168.0.253 sur le port 21 la connexion n’est pas re-dirigée vers 192.168.0.1.
J’ai du oublier quelque chose mais je ne vois pas quoi…

Si quelqu’un peut m’éclairer je suis preneur :slightly_smiling:

Merci d’avance

PS : je suis sous squeeze à jour

Ca fait un bail que j’ai pas touché à mes règles iptables. Tu as l’air de vouloir faire du ftp ?
Si oui, il me semble qu’il faut charger le module nf_conntrack_ftp.

J’imagine que tu fais ta connexion depuis le LAN dans tes tests.
Un indice: une connexion c’est IP1,port1 <-> IP2,port2 et pas IP1,port1 -> IP2,port2. En clair t’es tu posé la question du retour? Une suggestion: MASQUERADE. Des pistes de recherches: c’est un pbm maintes fois posé sur ce forum.

Effectivement mais il me semble que masquerade ne s’applique que si mon serveur possède 2 cartes réseaux. Mon pb dans ce cas c’est que je n’en possède qu’une, mon serveur étant dans une dmz.

Essaye

iptables -t nat -D POSTROUTING -s 192.168.0.0/24 -d 192.168.0.1 -p tcp -m tcp --dport 20 -j MASQUERADE iptables -t nat -D POSTROUTING -s 192.168.0.0/24 -d 192.168.0.1 -p tcp -m tcp --dport 21 -j MASQUERADE

et si ça coince, remplace tout ça par

qui est un chouïa brutal.