Besoin d'aide pour configurer Livebox 2

Guile34

Membre confirmé
22 Mai 2012
29
0
Bonjour,

Je souhaite (depuis un certain temps) installer un serveur FTP (PureFTPd) sur mon mac mini. Je ne dispose pas d'IP fixe, j'ai donc ouvert un compte chez No-Ip pour contourner ce problème.
L'installation du soft s'est déroulée sans problème, en revanche, je bute depuis longtemps sur la configuration de la box, à l'ouverture du port 21. Beaucoup de posts rappellent qu'il faut créer une règle NAT/PAT, ce que j'ai fait, mais visiblement ça ne fonctionne toujours pas.
Voici la configuration actuelle de la box :
Configuration DHCP :
Une adresse IP assignée pour l'ordinateur, dans la plage d'adresse 192.1.168.1.10 à 50

Au niveau du pare-feu : faible
Règle NAT/PAT : application : FTP Server - Port externe : 21 - port interne : 21 - protocole : TCP - équipement : mac-mini

au niveau de l'OS :
partage de fichier et dossier via FTP : activé
mode passif : activé

Alors, je ne sais pas où ça coince, d'autant que lorsque je teste à l'aide d'un site distant les ports ouverts, ce site me répond que le port 21 est fermé.

Ma config matérielle :
OS X 10.6.8, 2,26 GHz Intel Core 2 Duo
8 Go de mémoire

Merci de votre aide à venir.


Guile34
 
Bonjour,

Alors, plusieurs choses en vrac:

Essayer en désactivant le pare-feu du Mac.

Dans le Mac (utilitaire de réseau), faire un scan des ports pour voir les ports TCP ouverts.

Je n'ai pas PureFtp, mais je pense que si il est en mode passif, ce ne sont pas les ports TCP 20 et 21 qui sont ouverts, mais les ports configurés pour le mode passif.

Globalement, pour mettre le maximun de chances de son côté, dans la table NAT/PAT, il faut ouvrir les ports TCP 20 et 21, plus les plages pour le mode passif.
Ces ports étant associés (dans la table NAT de la box) à l'adresse IP du Mac (en 192.1.168.x)
Entre parenthèse, il vaut mieux mettre une adresse IP fixe au Mac.

Dans la box également, je crois qu'il faut déclarer l'adresse IP du Mac serveur FTP dans la DMZ.
 
Merci Polo35230 de votre réponse

Alors, le pare-feu (mac) était déjà désactivé.
Quand à celui de la box, je l’ai réglé au plus faible de manière à ce qu’il ne filtre rien.

J’ai suivi la méthode que vous m’indiquez pour scanner les ports. Il apparaît qu’avec l’adresse IP (wan) les ports 20-21 sont fermés.

Concernant PureFtp, le port d’écoute est le 21. En revanche, la plage des ports du mode passif n’est pas indiquée (champs vides) dans la mesure ou l’on peut indiquer là, ceux que l’on a déterminé au niveau du routeur.

Ensuite, concernant les règles NAT/PAT, je pense (à priori) avoir correctement ouvert les ports 20-21 (TCP/UDP), par contre, là où je n’arrive plus à suivre, c’est lorsque vous m’indiquez d’ajouter les plages pour le mode passif, toujours au niveau des règles NAT/PAT. À quel niveau ?

Enfin, j’avais déjà assigné une adresse fixe à la machine, de manière à tester en déclarant une DMZ, mais toujours sans succès.

Je pense déjà qu’il faudrait avant tout que les ports 20-21 soient effectivement ouverts.

Dans la pratique, lorsque j’effectue un test à l’aide d’un site distant dédié à ça, voici la réponse que j’obtiens : « Error: Server returned unroutable private IP address in PASV reply » Si cela vous dit quelque chose, je suis preneur.

Je crois qu’il y a de plus en plus de mécontents de la box 2 à ce niveau. Avant, j’avais l’ancien modèle (en pyramide) et je ne me souviens pas avoir eu autant de problèmes à déclarer mon serveur. Comme on dit, « le mieux est l’ennemi du bien ».

Merci encore de votre aide, et si toutefois vous avez du nouveau… pendant ce temps, je continue de chercher.

Guile34
 
J’ai suivi la méthode que vous m’indiquez pour scanner les ports. Il apparaît qu’avec l’adresse IP (wan) les ports 20-21 sont fermés.
Je me suis peut-être mal expliqué.
Le scan des ports est à faire sur la machine sur laquelle le serveur FTP est installé.
Il faut scanner sur l'adresse IP locale (et non wan) de cette même machine.


Dans la pratique, lorsque j’effectue un test à l’aide d’un site distant dédié à ça, voici la réponse que j’obtiens : « Error: Server returned unroutable private IP address in PASV reply » Si cela vous dit quelque chose, je suis preneur.

Si ce message est retourné alors que vous essayez de vous connecter (via internet) sur le serveur PureFTPd, alors, le dialogue a bien débuté entre le client et le serveur.
L'authentification utilisateur/mot de passe s'est bien faite, et le client a dû envoyer la commande PASV au serveur pour dire qu'il va utiliser le mode passif.
C'est après que ça foire.
Ca veut dire que la box a bien laissé passer le début du dialogue FTP (sur le port21).
En mode Passif, le dialogue de début se fait sur le port 21 (comme en mode actif).
Ensuite, ce sont les ports de la plage définie pour le mode passif qui sont utilisés.
Dans PureFTPd, on doit pouvoir déclarer cette plage de ports (par exemple:8001-8020). Le serveur communiquera alors un numéro de port au client.
Il faudra aussi déclarer ces ports dans la table NAT/PAT de la box. (idem que les ports 20 et 21)

Maintenant, le message d'erreur semble vouloir dire que le serveur essaye de router sur l'adresse locale du client (qui voyage dans les datas).
Dans le serveur, il n'y pas une petite case à cocher disant qu'il faut utiliser l'adresse publique (ou externe) du client?
Le pb est peut-être là...
Il doit bien y avoir un log dans le serveur FTP qui donnera des indications.

En remarque, je pense que si vous faites un transfert en mode actif, ça va marcher.
La box doit être bien configurée pour ce mode...
 
Dernière édition:
Merci Polo de votre aide.

À priori, le « début » de connection se passe normalement, et effectivement, ca foire lors de la requête en mode passif. J’ai bien, au niveau de Pure FTPd un champ permettant de « forcer » l’actif, en indiquant une adresse IP ou DNS, mais ça ne fonctionne toujours pas.
L’autre souci, est que je n trouve pas de « bons » tutos concernant le paramétrage de PureFTPd, et j’y vais de mes maigres connaissances (ce qui fait que je tourne en rond)

Enfin, j’ai tout refait : (réinitialisation usine de la livebox, réinstallation de PureTPd… et je retombe toujours dans le même shéma.

J’ai donc fait des captures d’écran ; à ce stade, je crois pour moi que des images valent mieux qu’un long discours !!!

4 autres captures d'écran dans une réponse suivante, (si j'ai le droit)

Si vous voyez quelque chose qui ne colle pas ou besoin de captures supplémentaires, faites moi savoir.

Guile 34
 
Dans la conf de la box, je ne vois pas les ports pour une utilisation en mode passif.
Pour moi, dans pure-FTPd, côté serveur, il faut, dans les propriétés, déclarer une plage (au dessus de 1024), du genre 8000-8020
Il faudra aussi les déclarer dans la table NAT/PAT de la box, de la même façon que le port 21.

Ensuite, on retombera peut-être sur le pb de routage de l'adresse locale.
Mais avant tout, il faut déclarer les ports pour une utilisation en mode passif. C'est impératif...
 
Oui, c'est ce qu'il est dit de faire dans PureFTPd ; il faut indiquer une plage de ports pour le mode passif. j'ai rentré la plage 42000-42010. Ensuite, je reporte cette plage de ports dans les règles NAT/PAT (captures, jointes) ; c'est peut-être là que je me trompe dans les manips. Lorsque je rentre la plage de ports 42000-42010 dans la 3e colonne (port interne), après validation, la plage disparait, pour ne laisser qu'un seul port, le 42000. Pour obtenir la plage 42000-42010 en port interne, il me faut renter la plage 20-30 en port externe ; démonstration en images

1re capture : PureFTPd, ports du mode passif renseignés (42000 à 42010)


2e capture : règles NAT/PAT : port externe 21 - inaccessible - port interne : renseignement de la plage de ports 42000-42010 ; Vous remarquerez que je n'ai pas encore sauvé les modifications.

3e capture :
Idem à la précédente, mais après validation, la plage de port 42000-42010 disparait pour ne laisser que le port 42000

4e capture : pour obtenir ma plage 42000-42010, je suis obligé de rendre accessible le port externe, et d'y indiquer la plage de ports 20-30 pour obtenir en port interne la plage 42000-42010, ce qui se fait automatiquement.

Maintenant, je ne sais pas si j'ai fait ça comme il faut, mais ça me semble logique, comme ça.

Cependant, lorsque j'essaye de me connecter (maintenant que j'ai renseigné ces ports dans PureFTPd), j'obtiens la réponse que voici "Error: Could not connect to server: Connection refused"

Voilà, et ça commence sérieusement à me frustrer cette histoire, voire même me vexer…

Guile34
 
Alors, il ne faut pas déclarer les ports comme ça dans la box.
Il faut faire trois lignes:

FTP Server1 Port externe :21 port interne: 21 port TCP mac-mini
FTP Server2 Port externe :20 port interne: 20 port TCP mac-mini (pas sûr que cette ligne soit nécessaire, mais ça mange pas de pain...)
FTP Server3 Port externe :42000-42010 port interne: 42010-42010 port TCP mac-mini
 
Dernière édition:
Bon, j'ai essayé comme dit. La réponse est quelque peu différente (et beaucoup plus rapide) :

"Error: Connection got closed prematurely
• A common cause for this problem are broken routers and/or firewalls that interrupt the connection.
• Some broken or badly configured servers can also interrupt the connection prematurely."

Là, on ne passe pas l'authentification utilisateur.

Voici, pour vérif, la capture des règles NAT.
 
rectificatif :

Le message d'erreur est le suivant :

"Error: Server returned unroutable private IP address in PASV reply
• Make sure the server is configured to allow passive mode connections.
• If the server is behind a NAT router, make sure the server knows its external IP address.
•The range of ports used for passive mode must be opened in all involved firewalls.
•The range of ports used for passive mode must be forwarded by all involved NAT routers.
•Try uninstalling all firewalls and plug your computer directly into your modem, thus bypassing the router."

je ne sais pas pourquoi j'ai obtenu le message d'erreur du précédent post
 
Je préfère ce message d'erreur.
On retombe sur le pb de l'adresse IP locale du client....

Sur un même réseau local, il n'y aurait pas de pb, mais en interconnexion de réseau, le FTP en mode passif est complexe:
Il faudrait connaître le plan IP des deux réseaux locaux (côté client et côté serveur).

L'explication du pb est celle-ci:
Sur le réseau local du client LAN1, le client FTP a comme adresse IP: @IPclient1. Cette adresse voyage au niveau de l'adresse source IP (c'est uniquement celle ci qui est utilisée au niveau routage), mais aussi dans le protocole FTP (en mode passif) appelons la @IPFTPclient
Donc sur LAN1, ces deux adresses sont identiques.
Dès que le client sort sur internet, l'adresse @IPclient1 change, et prend l'adresse IP Publique de la Box (IPpubliqueClient1). Par contre l'adresse @IPFTPclient ne change pas.
Il a donc, pour le client deux adresse IP différentes(une au niveau routage, et une au niveau FTP, qui est l'adresse locale du client sur LAN1).
C'est cette adresse locale (exploitée par le serveur) qu'il ne peut pas router, parce que la plupart du temps, c'est une adresse IP (en 192. ou en 10) qui n'est pas routable sur internet (ou sur le réseau local du serveur).
Ce qu'il faut arriver à faire, dans le serveur FTP, c'est de lui dire d'utiliser l'adresse IP publique (externe) IPpubliqueclient1 au lieu de l'adresse locale @IPFTPclient.

Après, en fonction des plans IP des deux réseaux locaux, il y aurait moyen de faire des choses, mais il faudrait un vrai firewall. La box ne saura pas faire...

Chais pas si j'ai été bien clair... :confused:

Au fait, l'adresse IP locale du serveur FTP est bien déclarée dans la DMZ de la box?

Autrment, c'est pas glorieux, mais au niveau de la conf du client (Filezilla le fait), il y a tjs la possibilité de dire de passer au mode actif si le passif échoue.

Une autre solution, c'est, côté client FTP, dans la configuration du mode passif, cocher une case (Filezilla client le fait bien) "Utiliser l'adresse IP des serveurs à la place"".
Je crois que ça pourrait régler le pb.
 
Dernière édition:
Ah ! Bon, là je commence à franchement mélanger les pinceaux !!!

Mais bon, reprenons-nous !
S’il y a 2 adresses IP, je pense alors qu’il faut, paramétrer autrement le pare-feu du routeur. Actuellement, il est paramétré en mode « faible » et, ce qui dit l’aide de la box, dans ce mode, le pare-feu ne filtre rien.

Sinon, il y a un autre mode dit « personnalisé » qui permet de paramétrer autrement le pare-feu et du coup, je pense qu’on peut y trouver la solution, dans la mesure où, à priori, on peut y spécifier des ports particuliers avec des adresses – je pense – externes et internes. Je joins capture d’écran, pour plus de visiblilité

Sinon, j’ai bien tenté de déclarer l’IP local en créant une DMZ, mais sans résultat. Et, si possible, je ne souhaiterais pas en déclarer une, pour conserver un minimum de protection.

Voici les captures du pare-feu en mode personnalisé :

1° - choix du mode personnalisé

2° - Paramétrages par défaut du mode personnalisé. On peut évidemment créer ou modifier des services.

Je pense, que la solution doit certainement se trouver ici, puisqu’il est possible de renseigner des IP sources, et IP de destination. Maintenant, quoi, comment, et où, je ne sais pas.

Si toutefois cela vous dit quelque chose…
Comme dit le proverbe, à cœur vaillant, rien d’impossible !!!
Merci,


Guile34
 
Moi ausi, je me suis mélangé les pinceaux entre le client et le serveur...:confused:

Je reprend:
L'explication du pb est celle-ci:
Sur le réseau local du serveur LAN1, le serveur FTP a comme adresse IP: @IPserveur1. Cette adresse voyage au niveau de l'adresse source IP (c'est uniquement celle ci qui est utilisée au niveau routage), mais aussi dans le protocole FTP (en mode passif) appelons la @IPFTPServeur
Donc sur LAN1, ces deux adresses sont identiques.
Dès que le serveur sort sur internet, l'adresse @IPserveur1 change, et prend l'adresse IP Publique de la Box (IPpubliqueserveur1). Par contre l'adresse @IPFTPserveur ne change pas.
Il a donc, deux adresse IP différentes(une au niveau routage, et une au niveau FTP, qui est l'adresse locale du serveur sur LAN1).
C'est cette adresse locale (exploitée par le client) qu'il ne peut pas router, parce que la plupart du temps, c'est une adresse IP (en 192. ou en 10) qui n'est pas routable sur internet (ou sur le réseau local du client).
Ce qu'il faut arriver à faire, dans le client FTP, c'est de lui dire d'utiliser l'adresse IP publique (externe) IPpubliqueserveur1 au lieu de l'adresse locale @IPFTPserveur.

Côté client FTP, dans la configuration du mode passif, cocher une case (Filezilla client le fait bien) "Utiliser l'adresse IP des serveurs à la place"".
Sivotre client ne le fait pas, essayez avec le client Filezilla.
Je crois que ça pourrait régler le pb.

Il faut laisser la conf de la box telle qu'elle est (pare feu à faible),
Quelque chose me dit que ça va marcher.
 
Donc, si j'ai bien compris, il faut revenir aux paramètres précédents de la box (pare-feu faible) et trouver le réglage à faire au niveau de PureFTPd afin que l'adresse IP LAN soit "traduite" vers l'adresse IP publique - ou inversement ?
Encore une copie d'écran pour vous montrer le panneau d'options de PureFTPd.
Evidemment les champs sont vides, parce que je ne sais quoi renseigner ici
L'aide (en anglais) de PureFTPd en parle :
file:///Applications/PureFTPd%20Manager.app/Contents/Resources/English.lproj/PureFTPd%20Manager%20Help/pgs/pref/options.html
Mais mon anglais "technique" reste très limité. j'ai quand même compris qu'ils recommandaient quand même de ne pas utiliser cette option. et effectivement, j'ai testé avec, et j'obtiens le message d'erreur suivant :
"Error: Carriage return without line feed received
• The replies sent by your server are violating the FTP specifications.
• You have to upgrade to a proper server.

Petite précision, dans le panneau d'option de PureFTPd, j'avais coché la case forcer le mode actif et mis l'adresse IP publique dans le champs forcer l'IP………… en réponse aux commandes etc…
J'ai encore du me tromper ici et là !

Si toutefois vous aviez de nouveau une idée ? on finira bien par épuiser le stock !

Merci, et à bientôt
Guile34
 
Alors, je pense que le pb peut-être réglé, soit côté serveur, soit côté client si le serveur est mal configuré.

On pourrait faire deux tests, le premier en essayant de résoudre le pb côté client, et le deuxième côté serveur

Test1:

Côté serveur, on pourrait faire le plus simple possible, soit:
PureFTPs configuré en mode passif, avec les ports 42000-42010
Ports 20,21, 42000-42010 définis comme maintenant dans la box
Firewall désactivé.

Côté client:
Client FTP filezilla (ou autre) configuré avec "Utiliser l'adresse IP externe des serveurs à la place"

En principe, ça doit marcher.

-----------------------------------------
Le lien ci-dessous explique bien la philosophie du mode passif.
http://slacksite.com/other/ftp.html

Dans notre cas, il faudrait regarder le log côté client FTP.
La ligne importante est celle qui suit le passage en mode passif.
C'est là que le serveur donne au client son adresse IP et le n° de port pour la suite de la comm (en mode passif).
Dans notre cas, si côté serveur, on a: @IPlocaleServeur et @IPpubliqueServeur (c'est l'adresse IP WAN de la Box), dans le log du client, on devrait avoir:
227 Entering Passive Mode (@IPlocaleServeur,312,128) (312,128 est le codage du n° de port 80000, soit (312*256)+128
Si côté client, on a "Utiliser l'adresse IP externe des serveurs à la place", il doit remplacer @IPlocaleServeur par @IPpublique serveur (le client la connait, car elle voyage au niveau du protocole IP.

----------------------------

Test2:
Maintenant, côté serveur FTP, si on peut lui dire de communiquer son adresse IP publique, le client recevra
227 Entering Passive Mode (@IPpubliqueServeur,312,128)
Peut-être que dans PureFTPd, il faut renseigner cette adresse dans "Forcer l'IP en réponse aux commandes PASV".
Et là, le client n'aura pas besoin "Utiliser l'adresse IP externe des serveurs à la place"
Ca serait interréssant de faire les deux tests, et de regarder le log côté client.

Dans tous les cas de figure, pendant les tests il faut regarder dans le log du client.
------------------------------
Autre chose, je n'ai pas accès au fichier d'aide de PureFTPd.
Le message d'erreur ""Error: Carriage return without line feed received" est côté client?
C'est plutôt un bon message d'erreur. Le mode passif a dû être activé (en principe)
C'est presque bon.
On avance...;)

L'erreur signifie que le client (si c'est un message côté client) a reçu une fin de ligne avec CR (au lieu de CR+LF), c'est à dire un "retour charriot" sans "saut de ligne". Il n'y a pas un paramètrage côté serveur pour lui dire d'envoyer CR+LF?
Ou alors essayer, côté client, de transférer en mode binaire (au lieu d'ASCII). J'y crois un peu.

Autre solution, pour régler le pb d'envois de fichiers textes entre une machine Mac et un PC, il y a des utilitaires qui rajoutent LF à chaque fin de ligne.
On aura donc bien CRLF à la fin de chaque ligne, donc un fichier compatible DOS.


Faut bien reconnaître que c'est casse-tête ...:)
 
Dernière édition:
Bonjour Polo35230,

Oui, je suis encore vivant, mais grosse semaine, et peu de temps pour procéder aux divers tests. j'ai bon espoir de pouvoir y revenir, d'ici la fin de semaine. Mais si entre-temps… on ne sait jamais.
Je gade le fil !

Guile34
 
bonsoir Polo,

je refais surface… toujours avec mon pb non résolu.
j'ai don procédé aux 2 tests que vous me suggériez ; les 2 s'avèrent négatifs. Je récap ;


Test1:

Côté serveur, on pourrait faire le plus simple possible, soit:
PureFTPs configuré en mode passif, avec les ports 42000-42010
Ports 20,21, 42000-42010 définis comme maintenant dans la box
Firewall désactivé.

Côté client:
Client FTP filezilla (ou autre) configuré avec "Utiliser l'adresse IP externe des serveurs à la place"

Voici la réponse que j'obtiens de Filezilla, configuré comme préconisé :

Connexion à 86.211.244.201:21...
Statut : Échec de la tentative de connexion avec "ECONNREFUSED - Connection refused by server".
Erreur : Impossible d'établir une connexion au serveur

Test 2

Maintenant, côté serveur FTP, si on peut lui dire de communiquer son adresse IP publique, le client recevra
227 Entering Passive Mode (@IPpubliqueServeur,312,128)
Peut-être que dans PureFTPd, il faut renseigner cette adresse dans "Forcer l'IP en réponse aux commandes PASV".
Et là, le client n'aura pas besoin "Utiliser l'adresse IP externe des serveurs à la place"
Ca serait interréssant de faire les deux tests, et de regarder le log côté client.

Voici la réponse que j'obtiens lorsque j'effectue le test via un testeur FTP sur le web
(en indiquant l’adresse IP publique dans le menu de config de PureFTPd, dans le champ « forcer l’IP XXXXXXX en réponse aux commandes PASV/… »
Note : Que l’on coche la case au dessus « Forcer le mode actif » ou pas, le résultat est ce même message d’erreur).

Status: Connecting to 86.211.244.201
Status: Connected, waiting for welcome message
Reply: 220---------- Welcome to Pure-FTPd [TLS] ----------
Reply: 220-Local time is now 22:54. Server port: 21.
Reply: 220-IPv6 connections are also welcome on this server.
Reply: 220 You will be disconnected after 15 minutes of inactivity.
Command: CLNT http://ftptest.net on behalf of 86.211.244.201
Reply: 530 You aren't logged in
Command: USER anonymous
Reply: 230-Your bandwidth usage is restricted
Reply: 230 Anonymous user logged in
Command: FEAT
Reply: 211-Extensions supported:

Reply: EPRT
Reply: IDLE
Reply: MDTM
Reply: SIZE
Reply: REST STREAM
Reply: MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
Reply: MLSD
Reply: ESTP
Reply: PASV
Reply: EPSV
Error: Carriage return without line feed received
Results

Error: Carriage return without line feed received
• The replies sent by your server are violating the FTP specifications.
You have to upgrade to a proper server.



Enfin, concernant le codage texte, je ne vois pas dans PureFTPd où je pourrais spécifier de tels éléments (à moins - éventuellement - de rentrer dans des fichiers de config appli, ce que je maîtrise encore moins)

Ce qui nous ramène au point mort.
Mais, je ne baise pas les bras !


@ bientôt
 
Bonsoir Guile,

Je me suis permis de faire un essai de connexion à partir de chez moi avec un client Filezilla.
J'avais coché la case "Utiliser l'adresse IP externe des serveurs à la place" (ce que ne fait peut-être pas le client FTP de test)
Voilà le résultat:

Statut : Connexion à 86.211.244.201:21...
Statut : Connexion établie, attente du message d'accueil...
Réponse : 220---------- Welcome to Pure-FTPd [TLS] ----------
Réponse : 220-Local time is now 23:37. Server port: 21.
Réponse : 220-IPv6 connections are also welcome on this server.
Réponse : 220 You will be disconnected after 15 minutes of inactivity.
Commande : USER anonymous
Réponse : 230-Your bandwidth usage is restricted
Réponse : 230 Anonymous user logged in
Commande : SYST
Réponse : 215 UNIX Type: L8
Commande : FEAT
Réponse : 211-Extensions supported:
Réponse : EPRT
Réponse : IDLE
Réponse : MDTM
Réponse : SIZE
Réponse : REST STREAM
Réponse : MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
Réponse : MLSD
Réponse : ESTP
Réponse : PASV
Réponse : EPSV
Réponse : SPSV
Réponse : ESTA
Réponse : AUTH TLS
Réponse : PBSZ
Réponse : PROT
Réponse : UTF8
Réponse : 211 End.
Commande : OPTS UTF8 ON
Réponse : 200 OK, UTF-8 enabled
Statut : Connecté
Statut : Récupération du contenu du dossier...
Commande : PWD
Réponse : 257 "/" is your current location
Commande : TYPE I
Réponse : 200 TYPE is now 8-bit binary
Commande : PASV
Réponse : 227 Entering Passive Mode (192,168,1,10,114,238)
Statut : Le serveur a envoyé une réponse passive avec une adresse non routable. Adresse remplacée par celle du serveur.
Commande : MLSD
Erreur : Délai d'attente expiré
Erreur : Impossible de récupérer le contenu du dossier

On voit que la connexion au serveur se fait bien.
Le client Filezilla demande le passage en mode passif (PASV)
Le serveur PureFTP renvoie son adresse IP locale (192.168.1.10) et le numéro de port pour le mode passif (114,238).
Sur mon LAN, je ne peux pas router cette adresse. Le client s'en rend compte et utilise alors celle (publique) du serveur (86.211.244.201), car j'ai coché la case qui le permet.

J'ai fait une trace wireshark, et je vois bien partir une demande d'ouverture de session TCP (TCP SYN) avec comme adresse IP 86.211.244.201, et comme numéro de port 29422 (c'est le "114,238" de la ligne 227, soit (114*256)+238=29422).
Par contre, je n'ai pas de réponse à cette demande d'ouverture de session.

Le port 29422 est-il ouvert sur la box?


Mais, je ne baise pas les bras !

Faute de frappe? ;)


Remarque:
En mode actif, ça marche bien.
J'arrive sur un répertoire incoming (vide).
C'est mieux pour la sécurité...
 
Dernière édition:
Reply: EPRT
Reply: IDLE
Reply: MDTM
Reply: SIZE
Reply: REST STREAM
Reply: MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
Reply: MLSD
Reply: ESTP
Reply: PASV
Reply: EPSV
Error: Carriage return without line feed received

Pour le codage texte, je ne vois pas dans PureFTPd où je pourrais spécifier de tels éléments (à moins - éventuellement - de rentrer dans des fichiers de config appli, ce que je maîtrise encore moins)
Pour le codage texte, je pensais que le pb était lié au fichier lui-même.
Mais non, le client FTP râle sur le format des extensions, en disant que quelque part, dans la liste de celles-ci, il manque un (ou plusieurs) LF.
La trace que j'ai prise avec wireshark montre que c'est bon (on voit bien les extensions séparées par des CR+LF (c'est les" 0d 0a" de la trace ci-dessous).
Le serveur PureFTPd renvoie bien correctement les extensions.
Je pense que c'est le client que tu utilises pour tes tests qui foire.
D'ailleurs, avec le client Filezilla, j'ai pas le pb.

Je pense qu'on est tout près de la solution.
Le mode actif marche (reste quand même à tester un vrai transfert...)
Le mode passif va marcher quand les ports seront en phase entre la box et pureftpd.
Dans mon test, pureftpd demande au client de se connecter en mode passif sur le port 29422.


La trace qui montre que c'est bon pour les LF

0040 1d f9 32 31 31 2d 45 78 74 65 6e 73 69 6f 6e 73 ..211-Ex tensions
0050 20 73 75 70 70 6f 72 74 65 64 3a 0d 0a 20 45 50 support ed:.. EP
0060 52 54 0d 0a 20 49 44 4c 45 0d 0a 20 4d 44 54 4d RT.. IDL E.. MDTM
0070 0d 0a 20 53 49 5a 45 0d 0a 20 52 45 53 54 20 53 .. SIZE. . REST S
0080 54 52 45 41 4d 0d 0a 20 4d 4c 53 54 20 74 79 70 TREAM.. MLST typ
0090 65 2a 3b 73 69 7a 65 2a 3b 73 69 7a 64 2a 3b 6d e*;size* ;sizd*;m
00a0 6f 64 69 66 79 2a 3b 55 4e 49 58 2e 6d 6f 64 65 odify*;U NIX.mode
00b0 2a 3b 55 4e 49 58 2e 75 69 64 2a 3b 55 4e 49 58 *;UNIX.u id*;UNIX
00c0 2e 67 69 64 2a 3b 75 6e 69 71 75 65 2a 3b 0d 0a .gid*;un ique*;..
00d0 20 4d 4c 53 44 0d 0a 20 45 53 54 50 0d 0a 20 50 MLSD.. ESTP.. P
00e0 41 53 56 0d 0a 20 45 50 53 56 0d 0a 20 53 50 53 ASV.. EP SV.. SPS
00f0 56 0d 0a 20 45 53 54 41 0d 0a 20 41 55 54 48 20 V.. ESTA .. AUTH
0100 54 4c 53 0d 0a 20 50 42 53 5a 0d 0a 20 50 52 4f TLS.. PB SZ.. PRO
0110 54 0d 0a 20 55 54 46 38 0d 0a 32 31 31 20 45 6e T.. UTF8 ..211 En
0120 64 2e 0d 0a d...