Iptables et ftp

Bonjour,

J’essaye de mettre en place pour la première fois un serveur ftp, mais j’ai un problème avec iptables.

J’ai un serveur avec une ip fixe sur lequel j’ai installé le serveur vsFTPd eb mode actif (si j’ai bien compris…)

Lorsque le pare-feu est désactivé sur le serveur, je peux accéder à partir de chez moi à l’adresse ftp://user@adresse_ip/.

Là on me demande mon mot de passe et l’arborescence de mon ftp s’affiche… donc çà marche.

Si j’active le pare-feu, je peux accéder à partir de chez moi à l’adresse ftp://user@adresse_ip/, on me demande mon mot de passe, et là, le navigateur tourne en rond et me renvoie une erreur.

425 : failed to establish connexion pour firefox
erreur de dossier ftp (vérifiez les autorisations, etc) pour internet explorer.

Voici mes règles iptables, seules les 4 lignes sur les ports 20 et 21 concernent le serveur ftp.
Pouvez vous me dire ce qui cloche svp ?

[code]# Generated by iptables-save v1.3.0 on Fri Jul 7 12:49:18 2006
*nat
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:PREROUTING ACCEPT [4:720]
COMMIT

Completed on Fri Jul 7 12:49:18 2006

Generated by iptables-save v1.3.0 on Fri Jul 7 12:49:18 2006

*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [40:5925]
:OUTPUT ACCEPT [44:37728]
:POSTROUTING ACCEPT [44:37728]
:PREROUTING ACCEPT [40:5925]
COMMIT

Completed on Fri Jul 7 12:49:18 2006

Generated by iptables-save v1.3.0 on Fri Jul 7 12:49:18 2006

*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -o eth0 -j LOG --log-level 7 --log-prefix BANDWIDTH_OUT:
-A FORWARD -i eth0 -j LOG --log-level 7 --log-prefix BANDWIDTH_IN:
-A OUTPUT -o eth0 -j LOG --log-level 7 --log-prefix BANDWIDTH_OUT:
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9321 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9331 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9441 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9442 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9600 -j ACCEPT
-A INPUT -j DROP
COMMIT

Completed on Fri Jul 7 12:49:18 2006[/code]

Je vous remercie d’avance pour vos réponses.

Nicolas

Salut, bienvenue
Ca a été traité y a pas longtemps, fait une tite recherche.
Si en plus tu lis cette doc:
slacksite.com/other/ftp.html
Tu devrais y arriver.

Après ca, si ca marche toujours pas, n’hesite pas a demander de l’aide

[quote=“BorisTheButcher”]Salut, bienvenue
Ca a été traité y a pas longtemps, fait une tite recherche.
Si en plus tu lis cette doc:
slacksite.com/other/ftp.html
Tu devrais y arriver.

Après ca, si ca marche toujours pas, n’hesite pas a demander de l’aide[/quote]

Salut,
j’ai déjà parcouru le lien ci-dessus, car avant d’écrire ce post j’ai étudié le post de stanguy : forum.debian-fr.org/viewtopic.ph … tables+ftp

Seulement voilà, je ne vois pas ce qui cloche dans ma config par rapport à ce qui a résolu son problème…
Je précise ce qui se passe lorsque je fais un lsmod si çà peux aider :

ip_conntrack_ftp 8285 0 xt_state 2497 4 iptable_filter 3393 1 iptable_mangle 3137 0 iptable_nat 8005 0 ip_nat 18517 1 iptable_nat ip_conntrack 53625 4 ip_conntrack_ftp,xt_state,iptable_nat,ip_nat nfnetlink 7257 2 ip_nat,ip_conntrack ip_tables 13209 3 iptable_filter,iptable_mangle,iptable_nat xt_multiport 3649 0 ipv6 248513 25 autofs4 21957 1 rfcomm 37973 0 l2cap 24513 5 rfcomm bluetooth 49061 4 rfcomm,l2cap sunrpc 163557 1 xt_tcpudp 3393 11 ipt_LOG 7489 3 x_tables 15173 6 xt_state,iptable_nat,ip_tables,xt_multiport,xt_tcpudp,ipt_LOG acpi_cpufreq 7625 0 dm_mod 61269 0 video 17733 0 button 7121 0 battery 10821 0 ac 5189 0 i2c_viapro 9045 0 i2c_core 22721 1 i2c_viapro via_velocity 34153 0 crc_ccitt 2369 1 via_velocity ext3 136137 5 jbd 60629 1 ext3 sata_via 8645 6 libata 69841 1 sata_via sd_mod 21697 7 scsi_mod 139341 2 libata,sd_mod

Je comprends pô…

Nico :blush:

bonjour,
au fait, tu nous as toujours pas dit si tu étais derrière un routeur ?
Pour info, j’ai un proftpd que je n’utilise pas en ce moment pour la bonne et simple raison (heu … double) que :
Vous avez ssh ? Oubliez ftp et que [quote=“BorisTheButcher”]Après avoir compris le protocole ftp, je n’ai plus eu envie de l’utiliser, trop compliqué et son implémentation en suivant les standards est dangereuse.[/quote], mais qui semblait bien vouloir fonctionner (quoique …) et voici mon lsmod :

$ lsmod |grep ip ipt_LOG 6400 8 ipt_MASQUERADE 3328 0 ipt_TOS 2176 0 ipt_REJECT 4480 5 ip_conntrack_irc 5616 0 iptable_raw 1792 0 iptable_mangle 2560 0 iptable_nat 8196 0 iptable_filter 2560 1 ip_tables 11352 4 iptable_raw,iptable_mangle,iptable_nat,iptable_filter x_tables 10244 9 xt_limit,xt_tcpudp,ipt_LOG,ipt_MASQUERADE,ipt_TOS,ipt_REJECT,xt_state,iptable_nat,ip_tables ip_nat_ftp 3072 0 ip_nat 15020 3 ipt_MASQUERADE,iptable_nat,ip_nat_ftp ip_conntrack_ftp 6384 1 ip_nat_ftp

Salut,

mon serveur n’est pas derrière un routeur (pas que je sache, mais c’est une dedibox, alors je sais pas trop…),

et mon poste client se trouve su un vpn derrière une freebox.

Chose étrange, avec la configuration que j’ai cité dans mon premier poste, si j’essaye de me connecter au ftp via mon pc qui a comme adresse 192.168.0.3 (sur mon vpn), j’ai le problème que je vous ai exposé.
Mais si je me connecte à partir de mon pda qui est relié par wifi à mon réseau (192.168.0.4), tout fonctionne correctement.

Mon but était d’arriver à çà : acces à mon ftp à partir du pda.
Mais j’avoue ne pas omprendre pourquoi je ne peux pas me connecter d’un poste classique alors qu’il est sur le même réseau que mon pda… bizarre.

Est-ce que quelqu’un a une idée du pourquoi du cmment ?

Nico

[edit] Je dois avoir acces au ftp à partir d’un pda… voilà pourquoi je n’utlise pas ssh.

dedibox … freebox … c’est pas dans la box à mon avis …
C’est quoi pda ? Phénylalanine désaminase en bactériologie ou Personal Digital Assistant en informatique ? quand je vois les parts de marché :

Windows CE 1,375,866 48.1 Palm OS 850,821 29.8 Research In Motion 565,000 19.8 Linux 24,500 0.9
je me dis que c’est ptêt pas trop compatible linux … Tu n’aurais pas des options à activer en recompilant le noyau, du genre bluetooth, telephonie ?

Dedibox c’est mon serveur linux -> dedibox.fr
Freebox c’est ma connexion à la maison

Après le choix du support PDA vient de mon employeur, donc je peux pas dire grandchose…

Mais le pire dans tout çà, c’est que justement j’arrive très bien à accéder à mon ftp via le PDA!

C’est à partir de mon poste normal que je n’arrive pas à y accéder !

Tu comprends mon désarroi???

[quote=“sanchou”]Mais le pire dans tout çà, c’est que justement j’arrive très bien à accéder à mon ftp via le PDA!
[/quote] ah j’avais compris l’inverse …
ça serait bien de nous donner des logs, des messages d’erreurs par copier/coller, au lieu de dire “ça marche pas” … :wink:
Si on reprend du début, pour ton iptables, je viens de lire ça :

[quote=“MattOTop, dans Faire fonctionner … une adresse FTP”]… en fait, je verrais plutot [size=134]ip_nat_ftp[/size].
Sinon, pour accèder à un serveur ftp, j’ai dû mettre la règle iptables -A INPUT -p tcp -m tcp --sport 20 -j ACCEPT mais c’est pour du firewall sortant, et il y a plus fin à faire, en utilisant le deuxiême post ici: forum.debian-fr.org/viewtopic.php?t=3492[/quote]
ps: Freebox, c’est du routeur … renseigne toi pour configurer ton routeur … dedibox, connais pas, mais ça simplifie pas … attends l’avis des experts …

Voici le contenu de /var/log/vsftpd.log après une tentaive de connexion:

Fri Aug 11 15:22:59 2006 [pid 28850] CONNECT: Client "88.191.254.20" Fri Aug 11 15:23:30 2006 [pid 28996] CONNECT: Client "82.253.177.187" Fri Aug 11 15:23:34 2006 [pid 28995] [mwpc] OK LOGIN: Client "82.253.177.187" Fri Aug 11 15:23:36 2006 [pid 28997] [mwpc] FAIL DOWNLOAD: Client "82.253.177.187", "/", 0.00Kbyte/sec

J’ai donc essayé d’activer ip_nat_ftp (en + d’ip_conntrack_ftp) et d’uiliser la règle que tu m’as proposé, mais j’ai toujours une erreur 425 au bout d’un certain temps sur le client.

La reègle que tu m’a proposé ne doit-elle pas être :

iptables -A OUTPUT -p tcp -m tcp --sport 20 -j ACCEPT

plutôt?

Je relis encore le lien que tu m’as donné, mais rien n’avait résolu mon pb…
Si j’ai du nouveau je vous tient au courant.

Nico

ok … pour la règle, dsl, je ne l’ai pas utilisée , mais je fais confiance à MattOTop …

[quote=“sanchou”]Voici le contenu de /var/log/vsftpd.log après une tentaive de connexion:

Fri Aug 11 15:22:59 2006 [pid 28850] CONNECT: Client "88.191.254.20" Fri Aug 11 15:23:30 2006 [pid 28996] CONNECT: Client "82.253.177.187" [/quote] Pourquoi il y a deux adresses connectées à 1 minute d’intervalle ?

[quote=“sanchou”]J’ai donc essayé d’activer ip_nat_ftp (en + d’ip_conntrack_ftp) et d’uiliser la règle que tu m’as proposé, mais j’ai toujours une erreur 425 au bout d’un certain temps sur le client.
[/quote] heu … ah bon 425 ? et c’est laquelle déjà 425 ? (je les ai pas toutes en tête :wink: ). Tu as essayé d’activer ip_nat_ftp ? comment ?As tu réussi ?
ps: bon courage, j’espère que quelqu’un va prendre le relais, je nage là …