Probleme redirection de port iptables

Bonjour à tous,

Je débute avec le firewall iptables et j’aimerais pouvoir accépter des connexion sur le port 4427 puis le rediriger sur une machine d’adresse IP 192.168.0.4 sur le port 21 du serveur ftp qu’elle héberge. Apres de nombreuses tentatives je suis déséspéré alors je fais appelle à la communauté pour m’aider.

Voici momn script de configuration :

#!/bin/sh
# Configuration de netfilter via iptables

# Remise à default
iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# On accepte tous les communication sur lo
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# On définit l'interface eth1 comme interface dite de confiance
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT

# On autorise le flux IP à sortir
iptables -A OUTPUT -o eth0 -j ACCEPT

# Autorisation du retour des flux IP que l'on connait déjà
iptables -A INPUT -i eth0 -m state --state ESTABLISH,RELATED -j ACCEPT

# On autorise le routage des paquets IP vers le réseau local
/bin/echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -o eth1 -j ACCEPT

# Masquerade pour changer l'ip source des paquets sur la toile mondiale
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Et voici les commandes que j’ai tapé pour la redirection de port

iptables -A INPUT -i eth0 -p tcp -m state --state NEW  -m multiport 4427 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 4427 -j DNAT --to-destination 192.168.0.4:21

Je n’arrive pas du tout à voir ce qui peut clocher là dedans. :unamused:

ha oui j’oubliais lorsque que je scanne les ports de ma passerelle je ne vois pas le port 4427 d’ouvert alors que je devrai normalement le voir non ?

Ca dépend si le service qui utilise le port 4427 est lancé si ce n’est pas le cas c’est normal que tu ne le vois pas ouvert :slightly_smiling:

Pour tes autres questions tu peux regarder le post de Ricardo
forum.debian-fr.org/viewtopic.php?t=1901

Si tu modifies l’adresse de destination du paquet, et que cette adress n’est pas celle de ton firewall, alors ton paquet sera traité par la chaîne FORWARD et non pas INPUT.

en fait aucun service n’est associé à ce port je veux juste que celui-ci serve de point d’entré au personne voulant se connecter à mon serveur ftp en interne.

Sinon comment faire pour l’activer ce port ?

En fait il faudrait que j’ecrive la règle de cette manière ?

iptables -A FORWARD -i eth0 -p tcp -m state --state NEW  -m multiport 4427 -j ACCEPT 

Pas tout à fait. Une ta rêgle passée dans le PREROUTING, son port de destination n’est plus le 4427. De plus, à ta place, je rajouterais les rêgles de suivi de connexion au début de chaque chaîne de la table filter, ça évite d’avoir à multiplier les rêgle pour laisser passer un seul flux au final.