Proftpd sur un serveur derrière une livebox - LIST impossible (err425)

Proftpd sur un serveur derrière une livebox - LIST impossible (err425) - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 14-02-2014 à 11:52:16    

Bonjour,
 
J'ai installé Proftpd sur un serveur Ubuntu .
Ce serveur est connecté à une livebox.
Il a une adresse IP publique.
 
Dans la config de Proftpd, j'ai notamment :

Port                            2121
PassivePorts                 50000 50500
 
UseIPv6                         off
IdentLookups                    off
 
ServerName                      "serveur FTP"
ServerType                      standalone
DeferWelcome                    off
 
MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on
 
TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200
 
DisplayLogin                    welcome.msg
DisplayChdir                    .message true
ListOptions                     "-l"
 
DenyFilter                      \*.*/
 
DefaultRoot                     ~
AuthUserFile /etc/ftp.passwd
AuthOrder    mod_auth_file.c
AllowForeignAddress on


 
Sur la livebox, j'ai paramétré dans NAT/PAT l'ouverture du port 2121 et l'ouverture des ports 50000 à 50500.
 
En interne, depuis le serveur ou une autre machine locale, tout fonctionne.
 
De l'extérieur, avec l'IP publique, je parviens aussi bien avec filezilla que avec "FTP" sous DOS à me connecter et à m'authentifier.
Mais dès l'instant où je fais un "dir" (la commande LIST est appelée par Filezilla), que ce soit en mode passif ou actif, j'obtiens :

Etat : Connecté
Etat : Récupération de la liste de répertoires...
Commande : PWD
Réponse : 257 "/" est le répertoire courant
Commande : TYPE A
Réponse : 200 Type paramétré à A
Commande : PORT 192,168,0,24,7,255
Réponse : 200 Commande PORT exécutée avec succès
Commande : LIST
Réponse : 425 Impossible d'établir la connexion de données : Connexion terminée par expiration du délai d'attente
Erreur : N'a pas pu récupérer la liste du répertoire


 
et avec FTP sous DOS :

230 Utilisateur xxxx authentifi├®
ftp> dir
200 Commande PORT ex├®cut├®e avec succ├¿s
425 Impossible d'├®tablir la connexion de donn├®es : Connexion termin├®e par expiration du d├®lai d'attente


 
Dans /var/log/proftpd/proftpd.log, et dans /var/log/proftpd/xferlog, il n'y a aucune trace du problème.
 
Je n'utilise pas TLS.
 
J'ai tenté d'ouvrir tous les ports sur la livebox, ça ne change rien.
 
Que puis-je tenter pour résoudre ce problème ??
Merci !


Message édité par benj63 le 14-02-2014 à 11:53:26
Reply

Marsh Posté le 14-02-2014 à 11:52:16   

Reply

Marsh Posté le 14-02-2014 à 11:55:36    

J'ai essayé avec NetFTP : je parviens à me connecter, à lister les répertoires et les fichiers dans le répertoire racine... mais dès que je veux changer de répertoire, NetFTP bloque.
 
J'ai vérifié les droits d'accès aux fichiers et dossiers, tout va bien sur le serveur...

Reply

Marsh Posté le 14-02-2014 à 13:08:00    

Ton client FTP n'est-il pas derrière un NAT ?

Reply

Marsh Posté le 14-02-2014 à 13:42:00    

Ruliane a écrit :

Ton client FTP n'est-il pas derrière un NAT ?


non...

Reply

Marsh Posté le 14-02-2014 à 14:29:27    

Le port "négocié" est le 2047, c'est-à-dire hors de la plage définie. Ça explique le timeout. Ce port est-il ouvert en sortie de ton serveur ?
À la limite, une capture réseau pourrait aider.


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 14-02-2014 à 16:02:46    

Ruliane a écrit :

Le port "négocié" est le 2047, c'est-à-dire hors de la plage définie. Ça explique le timeout. Ce port est-il ouvert en sortie de ton serveur ?
À la limite, une capture réseau pourrait aider.


Merci pour ta réponse, mais comment sais-tu que le port "négocié" est le 2047 ?
Et quel outil réseau de capture me conseilles-tu d'utiliser ? Il faut que je l'installe sur le poste client ou sur le poste serveur ?

Reply

Marsh Posté le 17-02-2014 à 09:35:30    

Citation :

Commande : PORT 192,168,0,24,7,255


Les deux dernier nombres sont le port négocié : 7 * 256 + 255 = 2047
Par cette commande, le client dit au serveur : "contacte moi à l'adresse 192.168.0.24 sur le port 2047." Mais d'ailleurs c'est peut-être simplement ça : le 192.168.0.24 n'est simplement pas joignable depuis l'extérieur. Je ne sais pas si la Livebox est capable de gérer ça. Sinon, en mode passif ça devrait tourner.
Pour la capture réseau, j'utilise généralement Wireshark, de temps en temps Network Monitor. Pour commencer c'est plus simple de faire la capture sur le client, mais les deux sont intéressants.


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 17-02-2014 à 10:49:42    

Bonjour, et merci !
 
Je ne comprends pas pourquoi il parle de 192.168.0.24, l'adresse du serveur FTP en interne est 192.168.1.10, et dans la translation NAT que j'ai mise en place sur la livebox, c'est bien vers le 192.168.1.10...
 
J'ai tenté de rajouter dans proftpd.conf l'adresse IP publique :

MasqueradeAddress        80.15.xxx.xxx


Mais ça ne change rien, FileZilla se connecte toujours sur :  

Commande : PORT 192,168,0,24,18,27


 
 :(

Reply

Marsh Posté le 17-02-2014 à 11:50:10    

C'est pour ça que j'ai supposé que le client se trouve derrière un NAT. Quelle est son adresse IP ? Il est sur quel type de connexion ? Je pense qu'il faut chercher de ce côté.


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 17-02-2014 à 13:07:35    

Je viens de vérifier et effectivement le souci devait se situer côté client, qui est derrière un NAT.
Je me suis connecté sur le serveur FTP sans problème depuis un autre client, et j'ai pu faire un listing des fichiers et des répertoires.
 
Merci en tout cas pour ton aide  :jap:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed