Bonjour,
Sur ma Debian, j’ai un problème assez fâcheux : je peux me connecter à un serveur FTP, par exemple :
root@serveur-maison:~# ftp ftp.fr.debian.org
Connected to debian.proxad.net.
220 Welcome to french Debian FTP server
Name (ftp.fr.debian.org:guillaume21): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Mais après, je ne peux pas faire grand chose… En effet, la commande ls est “interminable” :
[ul][li]J’entre ls[/li]
[li]200 PORT command successful. Consider using PASV. arrive directement, sans problème[/li]
[li]Après 20/30 secondes, 150 Here comes the directory listing. s’affiche et plus rien ne se passe (je n’obtiens pas la liste)[/li][/ul]
Je suis obligé de faire un Ctrl + C :
[code]^Cftp: accept: Interrupted system call
receive aborted
waiting for remote to finish abort
426 Failure writing network stream.
225 No transfer to ABOR.
ftp>[/code]
Alors que sous Windows, tout fonctionne très bien (malgré une légère attente de 3/4 secondes) :
C:\Users\Guillaume21>ftp ftp.fr.debian.org
Connecté à debian.proxad.net.
220 Welcome to french Debian FTP server
Utilisateur (debian.proxad.net:(none)) : anonymous
331 Please specify the password.
Mot de passe :
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
debian
debian-amd64
debian-backports
debian-non-US
debian-security
debian-volatile
tmp
226 Directory send OK.
ftp : 94 octets reçus en 0,00 secondes à 94000,00 Ko/s.
ftp>
En plus, j’ai les ports TCP 20 et 21 ouverts sur la Debian (et pas sur Windows).
La configuration du firewall :
[code]root@serveur-maison:~# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all – anywhere anywhere
ACCEPT icmp – anywhere anywhere
ACCEPT tcp – anywhere anywhere tcp dpt:ssh
ACCEPT tcp – anywhere anywhere tcp dpt:domain
ACCEPT udp – anywhere anywhere udp dpt:domain
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT tcp – anywhere anywhere tcp dpts:ftp-data:ftp
ACCEPT tcp – anywhere anywhere tcp dpt:smtp
ACCEPT tcp – anywhere anywhere tcp dpt:pop3
ACCEPT tcp – anywhere anywhere tcp dpt:imap2
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all – anywhere anywhere
ACCEPT icmp – anywhere anywhere
ACCEPT tcp – anywhere anywhere tcp dpt:ssh
ACCEPT tcp – anywhere anywhere tcp dpt:domain
ACCEPT udp – anywhere anywhere udp dpt:domain
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT tcp – anywhere anywhere tcp dpts:ftp-data:ftp
ACCEPT tcp – anywhere anywhere tcp dpt:smtp
ACCEPT tcp – anywhere anywhere tcp dpt:pop3
ACCEPT tcp – anywhere anywhere tcp dpt:imap2
ACCEPT udp – anywhere anywhere udp dpt:ntp
root@serveur-maison:~#[/code]
Je viens de tester sur ftp.free.fr, sous Windows ça fonctionne encore une fois très bien mais sous Debian j’ai une erreur :
root@serveur-maison:~# ftp ftp.free.fr
Connected to ftp.proxad.net.
220 Welcome to ProXad FTP server
Name (ftp.free.fr:guillaume21): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
ftp>
Pour finir, j’ai essayé avec le client FileZilla sous Debian, et encore une fois, ça bloque au moment de lister les fichiers/dossiers (et encore une fois, ça fonctionne sous Windows) :
Statut : Résolution de l'adresse de ftp.fr.debian.org
Statut : Connexion à 212.27.32.66:21...
Statut : Connexion établie, attente du message d'accueil...
Réponse : 220 Welcome to french Debian FTP server
Commande : USER anonymous
Réponse : 331 Please specify the password.
Commande : PASS **************
Réponse : 230 Login successful.
Commande : SYST
Réponse : 215 UNIX Type: L8
Commande : FEAT
Réponse : 211-Features:
Réponse : EPRT
Réponse : EPSV
Réponse : MDTM
Réponse : PASV
Réponse : REST STREAM
Réponse : SIZE
Réponse : TVFS
Réponse : 211 End
Statut : Connecté
Statut : Récupération du contenu du dossier...
Commande : PWD
Réponse : 257 "/"
Commande : TYPE I
Réponse : 200 Switching to Binary mode.
Commande : PASV
Réponse : 227 Entering Passive Mode (212,27,32,66,204,25)
Commande : LIST
Erreur : Délai d'attente expiré
Erreur : Échec lors de la récupération du contenu du dossier
Ça vient du pare-feu à mon avis mais comme je suis un petit nouveau je ne vois pas très bien ce qu’il y aurait à corriger …
Aussi, mon serveur FTP sous ProFTPD bloque sur les commandes LIST et MLSD (quand je veux me connecter à mon serveur avec FileZilla sous Windows j’ai la même erreur). Il semble que ma Debian fasse une fixette sur cette fonction pour lister les fichiers …
Quelqu’un pourrait m’aider ?
Merci !
[color=#00BF00][b]EDIT : j’ai trouvé sur cette page qu’il fallait activer le module ip_conntrack_ftp dans le kernel. J’ai donc bêtement recopié la commande :
modprobe ip_conntrack_ftp
et… ça fonctionne !
Par contre il faut le réactiver à chaque démarrage (mais bon, on s’en fiche, il faut juste rajouter une ligne dans votre fichier de config iptables, si vous en avez un bien sûr, sinon… créez-en un )[/b].[/color]