Problème de connexion FTP avec OPENMEDIAVAULT

Bonjour,

je suis novice sur le sujet.

Je viens de créer un serveur sur mon réseau local avec OpenMediaVault (OMV) en installant sur mon Raspberry PI 3 (RPI3) l’image omv_2.2.5_rpi2_rpi3. Maintenant, je voudrais accéder à ce serveur de l’extérieur en FTP mais je n’y a arrive pas.

Dans OMV, j’ai bien coché Activer dans les paramètres Services FTP (port 21) et coché FTP passif (plage port 49152 jusqu’à 65534) puis enregistré et appliqué. J’ai activé aussi les Services SMB/CIFS.

Dans ma Livebox Play, j’ai mis:

  • dans DHCP mon serveur RPI3 en IP fixe 192.168.1.30,
  • dans DynDNS : NO-IP puis mon domaine xxxx.ddns.net puis mon adresse yyyy.orange.fr puis mon mdp
  • et dans NAT/PAT: FTP serveur, port interne 21, port externe 49152, protocole TCP, appareil 192.168.1.30 puis activer.

Maintenant, sur mon mobile (hors wifi réseau local), sur le navigateur Google Chrome, si je saisi mon adresse NO-IP telle que : xxxx.ddns.net:49152 je devrais accèder à mon serveur depuis n’importe où : Eh bien non, ça ne marche pas! Pourquoi?

Dans l’attente, d’une réponse. Merci. Cordialement.

Pat

Pour quelle raison ?[quote=“Pat054, post:1, topic:70942”]
ça ne marche pas
[/quote]
C’est un peu court.

Bonjour Pascal,

j’ai choisi le port externe 49152 par exemple (il fallait en choisir un). Cela ne marche pas car mon navigateur avec l’adresse xxxx.ddns.net:49152 me dit le site est inaccessible.

C’est bizarre car mes caméras qui sont derrière l’adresse xxxx.ddns.net fonctionnent : par exemple xxxx.ddns.net:5000. Ce qui veut dire que mon adresse NO-IP fonctionne.

Dans ces conditions, pourquoi je n’accède pas au serveur?
Si j’accède à mon serveur, sur quel écran dois je tomber?

Pourquoi vouloir que le port externe soit différent du port interne ? Avec le protocole FTP, il vaut mieux éviter de trafiquer les numéros de port.

D’autre part un navigateur n’est pas l’outil idéal pour tester un serveur FTP. Utilise plutôt un vrai client FTP en ligne de commande (ftp, tnftp…) ou graphique (filezilla…) qui affiche de vrais messages d’erreur et les résultats des commandes FTP.

Dans OpenMediaVault (OMV) dans Services FTP et paramètres généraux, j’ai le port 21 et dans les paramètres avancés pour FTP passif, j’ai la plage de ports 49152 jusqu’à 65534.

C’est pour ces raisons que j’ai mis dans ma Livebox dans NAT/PAT port interne 21 et port externe 49152. J’ai essayé aussi d’y mettre port interne = port externe = 49152 dans ma Livebox mais pareil : cela ne fonctionne pas.

Je vais essayer avec Filezilla sur mon PC en Windows 10.

Voilà j’ai essayé Filezilla :
Statut : Connexion à 90.39.x.xxx:49152
Erreur : Connection interrompue après 20 secondes d’inactivité
Erreur : Impossible d’établir une connexion au serveur

J’ai la même chose qu’avec le navigateur : ça ne fonctionne pas

Je ne comprends toujours pas pourquoi tu rediriges le premier port de la plage de ports passifs vers le port 21.

Le port 21 et la plage de ports passifs sont deux choses différentes, et il faut rediriger les deux sans modification de port. Toute la plage de ports passifs, pas seulement le premier port de la plage.

Je pensais bien faire.

Si je comprends bien, c’est les paramètres NAT/PAT dans ma Livebox qui posent problème : FTP serveur, port interne 21, port externe 49152, protocole TCP, appareil 192.168.1.30

Que me proposes tu?

Personnellement, je mettrais dans NAT/PAT de ma livebox les 2 lignes suivantes :

  • FTP serveur, port interne 49152-65534, port externe 21, protocole TCP, appareil 192.168.1.30
  • FTP Data, port interne 49152-65534, port externe 49152-65534, protocole TCP, appareil 192.168.1.30

Qu’en penses tu?

Que tu es particulièrement obstiné(e) à persister dans l’erreur. Qu’est-ce qui n’est pas clair dans “rediriger sans modification de port” ?

21 -> 21
49152-65534 -> 49152-65534
Ce n’est quand même pas compliqué.

Ok je vais essayé ce que tu m’as écrit mais dans le wiki: https://fr.wikipedia.org/wiki/File_Transfer_Protocol
on a bien ma proposition ci-dessus.

Je vais mettre à jour mon NAT/PAT suivant ta proposition.

A quel endroit exactement ? Je ne vois aucune recommandation concernant la redirection des ports.
Ne confondrais-tu pas le port source et le port externe ?

Sur le schéma du mode passif du § 5.1 Etablissement des connexions

Le client pour moi, c’est ma Livebox et le serveur FTP c’est mon RPI3.
Les 2 ports de sortie du client sont identiques et les 2 ports d’entrée du serveur FTP sont différents : 21 et 1024 à 65634.

Apparemment en ce moment, j’ai des problèmes avec ma Livebox, je n’arrive plus à mettre à jour l’onglet NAT/PAT.

Non, le client n’est pas la box mais le poste sur lequel tourne le client FTP. La box est le serveur du point de vue du client, mais n’est pas le client du point de vue du serveur. Et les ports externes sont les ports du serveur vus par le client, qui doivent être redirigés vers les ports réels du serveur.

J’oubliais : tu auras une autre difficulté avec le protocole FTP : selon le type de commande (PASV ou EPSV) utilisé par le client, il pourra être nécessaire de forcer l’adresse passive, qui est par défaut l’adresse IP locale du serveur mais doit être remplacée par l’adresse IP publique de la box.

Le client FTP est donc mon PC où tourne FileZilla? Mon RPI3 se trouve où dans tout ceci?

Le schéma est:

                 ports externes  ----------------->       ports réels
              ^                                                                   I 
              I                                                                    I
              I                                                                    V

Serveur <------------ client FTP Serveur
= Box = PC FileZilla = RPI3

Les commandes PASV ou EPSV : c’est quoi? Où se lancent-elles? Dans FileZilla?

Concernant l’adresse IP locale, elle est 192.168.1.30 correspondant à mon RPI3. L’adresse IP Publique (de ma Box) étant dynamique chez Orange, je passe par un nom de domaine NO-IP : xxxx.ddns.net.

Pour info, dans FileZilla, lorsque je rendre dans HOTE l’adresse xxxx.ddns.net, j’ai bien apparition de l’adresse publique de ma box dans le déroulé de la connexion.

J’ai tjrs des pbs avec ma box

Oui.

Il est situé derrière la box et accessible via des redirections de ports.

Le schéma est brouillé par la mise en forme du forum, on ne voit pas grand-chose.

Elles font partie du protocole FTP utilisé par le client pour communiquer avec le serveur. Elles ne sont pas utilisées directement par l’utilisateur. Les deux servent à demander au serveur de passer en mode passif, mais la forme de la réponse du serveur est un peu différente.

  • En réponse à PASV, le serveur indique sur quelle adresse IP passive et quel port passif le client doit se connecter pour lister un répertoire ou transférer un fichier. Il me semble que FileZilla utilise cette commande en IPv4.
  • En réponse à EPSV, le serveur indique seulement sur quel port passif le client doit se connecter pour lister un répertoire ou transférer un fichier. L’adresse est implicitement celle vers laquelle le client a établi la connexion de commande sur le port 21.

Par défaut le serveur envoie son adresse IP locale dans la réponse PASV. Cela peut poser problème en cas de NAT (translation d’adresse, redirection de port) pour deux raisons :

  • une adresse IP privée est injoignable depuis l’extérieur
  • le client s’est connecté à une adresse IP (publique) différente

Il existe plusieurs parades :

  • le client peut ignorer l’adresse IP passive quand elle est différente de l’adresse IP apparente du serveur ; il me semble que FileZilla le fait
  • le dispositif NAT (la box) peut modifier l’adresse IP dans la réponse pour qu’elle corresponde ; cela n’est généralement possible que si la connexion de commande n’est pas chiffrée et utilise le port standard 21
  • le serveur envoie l’adresse IP externe comme adresse passive ; il doit être configuré explicitement pour cela ; si l’adresse est variable, idéalement on peut spécifier dans la configuration un nom de domaine dynamique (comme ton xxxx.ddns.net) qui pointe vers l’adresse IP plutôt qu’une adresse IP numérique qu’il faudra mettre à jour à chaque changement.

Mais tout cela n’intervient qu’après l’établissement de la connexion de commande (port 21) et l’authentification de l’utilisateur, lors du premier listage du répertoire ou transfert de fichier.

Bonjour Pascal,

j’ai progressé un peu.

Avec FileZilla sur mon PC, j’arrive maintenant à accéder à mon serveur RPI3 équipé d’OpenMediaVault.

Pour cela, dans ma Livebox, j’ai déclaré dans NAT/PAT:

  • FTP serveur, port interne 21, port externe 21, protocole TCP, appareil 192.168.1.30
  • FTP Data, port interne 20, port externe 20, protocole TCP, appareil 192.168.1.30
    Et dans DHCP, une IP fixe pour mon RPI3 telle que : 192.168.1.30

Ensuite dans FileZilla, j’ai entré :

  • hote : 192.168.1.30
  • identifiant : un user affecté dans OpenMediaVault (OMV)
  • Mdp : idem dans OMV
  • port : 21
  • et connexion rapide

J’ai eu le résultat suivant dans FileZilla:
Statut : Connexion à 192.168.1.30:21…
Statut : Connexion établie, attente du message d’accueil…
Statut : Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS.
Statut : Connecté
Statut : Récupération du contenu du dossier…
Statut : Contenu du dossier “/” affiché avec succès
Statut : Connexion interrompue par le serveur

avec dans la partie droite de l’écran au site distant mon dossier déclaré sur le serveur.

Par contre, je sens que je vais galérer pour accèder à mon RPI3 à partir du web (hors réseau local).

La redirection du port 20 est inutile. Un serveur FTP n’écoute pas sur ce port.

Ton test fait depuis le réseau local n’implique pas la box et a comme seul intérêt de montrer que le serveur fonctionne.

Hors réseau local, ce n’est pas le web. Le web, c’est l’ensemble des sites web utilisant le protocole HTTP. Rien à voir avec FTP.

ok pour le port 20 je vais supprimer le NAT/PAT dans la box.

ok pour le test

Oui, j’ai découvert ce jour que le protocole HTTP concernait le web et non FTP.

Concernant mon test, j’ai un souci, je voulais essayer de transférer un fichier d’une photo de mon PC vers mon serveur RPI3 et je tombe sur une erreur telle que:
Démarrage de l’envoi de C:\Users\CLAUDINE\Pictures\P1010293.JPG
Commande : CWD /Maison
Réponse : 250 CWD command successful
Commande : PWD
Réponse : 257 “/Maison” is the current directory
Commande : TYPE I
Réponse : 200 Type set to I
Commande : PASV
Réponse : 227 Entering Passive Mode (192,168,1,30,206,250).
Commande : STOR P1010293.JPG
Réponse : 550 P1010293.JPG: Permission denied
Erreur : Erreur critique lors du transfert du fichier après avoir transféré 524 288 octets en 1 seconde

Je ne sais pas d’où cela peut provenir !

Je dirais que l’utilisateur n’a pas la permission d’envoyer des fichiers, au moins dans ce répertoire.