Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/11/2015, à 16:40

systane

[Résolu] ftp passif et iptables

Bonjour,

J'ai passé plusieurs heures sur ma configuration iptables mais cela ne fonctionne toujours pas. Le client parvient à se connecter mais dès qu'il passe en passive mode, la connexion échoue.

Mes règles iptables :

# We block all requests
iptables -t filter -P INPUT DROP 
iptables -t filter -P FORWARD DROP 
iptables -t filter -P OUTPUT DROP 

# We allow loopback and established connections

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT 
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# FTP Actif

modprobe ip_conntrack
modprobe ip_conntrack_ftp ports=33333

# glftpd in

iptables -t filter -A INPUT -p tcp --dport 33333 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 40000:50000 -m state --state RELATED,ESTABLISHED -j ACCEPT

Si je change la dernière ligne en rajoutant "New", cela fonctionne (iptables -A INPUT -i eth0 -p tcp --dport 40000:50000 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT). J'ai donc l'impression que le conntrack ne fonctionne pas hmm

Vous auriez une idée ?

Merci par avance !

Systane

--- edit :

Ca ne peut pas fonctionner ! Le ftp utilise ssl, le module conntrack ne peut donc pas gérer la connexion. Il convient de gérer le mode passif par soi-même.

Dernière modification par systane (Le 30/11/2015, à 23:05)

Hors ligne

#2 Le 01/12/2015, à 00:40

mikael8349

Re : [Résolu] ftp passif et iptables

Salut, je ne me suis pas vraiment penché sur ton script, mais je constate que tu utilises le module state qui est déprécié. Il faut utiliser le module conntrack à la place. Tu dois donc remplacer -m state --state par -m conntrack --ctstate. Du coup tu aurais par exemple :

iptables -A INPUT -i eth0 -p tcp --dport 40000:50000 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

En lieu est place de :

iptables -A INPUT -i eth0 -p tcp --dport 40000:50000 -m state --state RELATED,ESTABLISHED -j ACCEPT

Je pense que l'erreur peut venir de là, mais pas sur à 100%, donc à tester.

En attente de ton retour (-;

Hors ligne