Vsftpd ou pb de routage... help

Bonjour,

depuis hier que j’ai changé de routeur, j’ai remarqué que mon serveur ftp ne fonctionne plus tres bien…

j’avais un netgear WGT624 V2 (ou tout fonctionnait juste en autorisant le port 20 et 21) , je suis passé à un dlink DI-524 (qui lui n’est pas bridé sur le débit)

donc avec le dlink :

j’ai donc du ajouté le mode passif a vsftpd.conf, et ouvert quelques ports en plus sur le routeur… (malgres la dmz qui pointe sur le serveur) pour pouvoir acceder “un peu” a mes fichiers :

j’arrive a me connecter uniquement depuis la commande en ligne ftp,
si non avec firefox et filezilla j’ai acces à quelques dossiers
et nautilus lui, plante des l’autentification…

dans aucuns des cas, je ne peux ecrire sur le serveur…

voila le fichier conf ou j’ai ajouté uniquement les 3 dernières lignes pour le dlink
:

listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log idle_session_timeout=600 data_connection_timeout=120 nopriv_user=ftp async_abor_enable=NO ascii_upload_enable=NO ascii_download_enable=NO ftpd_banner= Bienvenue sur le FTP de Vohu ... chroot_local_user=YES chroot_list_enable=NO pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/vsftpd.pem max_per_ip=2 max_clients=2 pasv_enable=YES pasv_max_port=11010 pasv_min_port=11000

Ton problème viens du fait que tu n’a pas spécifié l’option pasv_address dans ton fichier de configuration.

Le retour de la commande PASV, demandant au serveur de se mettre à l’écoute et d’attendre une connexion de la part du client, contient les informations sur les ports écoutés, mais aussi l’adresse du serveur. Du coup, le client l’autre côté relis le port sur lequel il doit initier la connexion de données, ainsi que l’addresse. Cependant, cette adresse est l’adresse locale du serveur derrière le routeur => Donc la connexion est impossible. Il faut de ce fait préciser ton adresse ip Internet avec l’option pasv_address.

Normalement c’est la raison de ton soucis. J’ai pas les moyens de le tester chez moi rapidement, désolé.

Un diagramme est disponible ici avec quelques explications sur le protocol FTP.
http://smhteam.info/wiki/index.linux.php5?wiki=DiagrammesFtp

Pour toute la documentation, il faut regarder la RFC 959.

Merci pour ta réponse, ce diagrame est vraiment pratique pour comprendre le fonctionnement… :slightly_smiling:

donc je vais ajouter pasv_address

mais mon ip internet n’est pas fixe… puis je mettre mon adresse dns derriere ?

Encore 2 questions:

En vue du diagrame de connection, il parrait plus simple d’etre en mode actif, pourquoi on nous conseille donc d’etre en mode passif…

Et pourquoi cela fonctionnait avec mon autre routeur et pas celui la, sachant que j’ai mis les memes regles sur le nouveau…

Pour une ip static, c’est dans /etc/network/interfaces que ça se spécifie… et ton ancien routeur, il avait la même plage dhcp que le nouveau ?
sinon pas d’idée .

oui, j’avais tout réglé exactement de la meme facon, dailleur, quand je le remets, tout refonctionne quelque soit la configuration de vsftpd…

appriori, il ne devrai pas y avoir de pb de configuration sur le routeur, puisque j’ai mis la DMZ vers le serveur ftp… quelque soient les ports a ouvrir, cela devrai fonctionner…

la j’ai remis le serveur en mode actif…, ca fonctionne avec fillezilla, sauf pour certains dossiers

[quote]Status: Resolving IP-Address for xx.xxx.net
Status: Connecting to xx.xx.xx.xx:21…
Status: Connection established, waiting for welcome message…
Response: 220 Bienvenue sur le FTP de Vohu …
Command: USER toto
Response: 331 Please specify the password.
Command: PASS *****
Response: 230 Login successful.
Command: SYST
Response: 215 UNIX Type: L8
Command: FEAT
Response: 211-Features:
Response: EPRT
Response: EPSV
Response: MDTM
Response: PASV
Response: REST STREAM
Response: SIZE
Response: TVFS
Response: 211 End
Status: Connected
Status: Retrieving directory listing…
Command: PWD
Response: 257 "/"
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: PASV
Response: 227 Entring Passive Mode (192,168,0,5,110,120
Command: LIST
Response: 150 Here comes the directory listing.
Response: 226 Directory send OK.
Status: Directory listing successful[/quote]

et ici ca marche pas pour le dossier /amsn_received/ , alors que ca fonctionne pour /bordel/aman54/

[quote]Status: Retrieving directory listing…
Command: CWD /amsn_received/
Response: 550 Failed to change directory.
Error: Failed to retrieve directory listing
Status: Retrieving directory listing…
Command: CWD /bordel/aman54/
Response: 250 Directory successfully changed.
Command: PWD
Response: 257 "/bordel/aman54"
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: PASV
Response: 227 Entring Passive Mode (192,168,0,5,102,253
Command: LIST
Response: 150 Here comes the directory listing.
Response: 226 Directory send OK.
Status: Directory listing successful

[/quote]

par contre nautilus lui, me dit toujours

Ben a qui appartiennent ces dossiers (user et group) et quelles sont les permissions sur ces dossiers ?

ils appartiennent a l’user qui tente d’ouvrir le ftp

mais pourquoi nautilus me refuse l’acces alors que fillezilla ou firefox y accede…
j’utilise pourtant les memes login et pw, sur le meme serveur…

attends, expliques moi comment tu fais du ftp avec nautilus stp ?

alors soit en ligne de commande :

nautilus ftp://login:pass@serveur

ou en ajoutant un racourcis sur le bureau en allant dans le menu application, racourcis, se connecter à un serveur…

ces 2 méthodes fonctionnent puisque j’arrivais à les utiliser avant, et qu’elle fonctionnent toujours sur mes serveurs ftp free…

ah bon ! :smt017
moi si je fais $ nautilus google.fr, ça me renvoie que l’emplacement n’est pas un fichier.
ton serveur free ? c’est quoi ça ? sur le net ? ça me dépasse là.

oui mais google.fr n’est pas un serveur ftp

attends, jte trouve un ftp et je te donne un exemple concret

$ nautilus ftp://anonymous:anonymous@ftp.free.fr

avec cette méthode, je peux accéder a mon espace ftp chez free…

ca fonctionne aussi avec firefox et IE7 en lecture seulement, internet explorer (jusqu’a version 6 en écriture si tu as les droits sur le serveur en question)

ex :

firefox ftp://anonymous:anonymous@ftp.free.fr
iexplore ftp://anonymous:anonymous@ftp.free.fr
explorer ftp://anonymous:anonymous@ftp.free.fr

wouah, je savais pas que c’était possible …
Excellent … moi j’arrive à me connecter à mon serveur (vsftpd) avec nautilus du coup :open_mouth:
Essayes sans mot de passe sans login, et vois s’il lance une fenêtre d’authentification au moins ?

super, je t’ai appris quelque chose :unamused:

c’est vachement pratique quand meme pour manipuler les fichiers…

mais bon :frowning:

quand je me connecte avec nautilus, il passe l’autentification, il m’affiche ce message, juste apres avoir donné mon mot de passe…

si tu veux, jte donne mon ip, tu te connectes a mon pc avec vnc, et je te montre pourquoi ca m’enerve tout ca :confused:

oui si tu veux …
c’est bizarre … donne moi les droits du répertoire racine quand même pour voir ?

je t’ai envoyé tout ca en message pv…

je sais pas vohu … excuse moi mais j’ai une compilation d’une heure à recommencer lol :confused: , je peux pas me pencher plus longtemps sur ce probleme …;
A la limite, tu lis bien les post sur vsftpd ici ou sur le net, sur la config tout ça, en attendant tu remets ton ancien routeur si c’est vitale, et demain ben y fera jour :unamused: .
Dsl, mais ce soir, je suis out.

Non, mais cela ne t’empêche pas de faire le test et de vérifier si cela fonctionne. Il suffit de mettre ton adresse actuelle. Ensuite si cela fonctionne, un petit script pourra certainement faire l’affaire. Moi je ferais le test demain.

[quote]
Encore 2 questions:

En vue du diagrame de connection, il parrait plus simple d’etre en mode actif, pourquoi on nous conseille donc d’etre en mode passif…

Et pourquoi cela fonctionnait avec mon autre routeur et pas celui la, sachant que j’ai mis les memes regles sur le nouveau…[/quote]

1/ En mode passif, le client initie les connexions sur le data channel et le control channel. Du coup, pour un client sur ton réseau privé, le firewall doit simplement les laisser sortir, car les réponses du serveur ftp extérieur seront considérées comme ESTABLISHED en arrivant chez toi.
Dans le cas du mode actif, le firewall protégeant le réseau privé doit autoriser les connexions de type NEW à rentrer ; c’est cela qui pose problème coté sécurité.

2/ Je ne sais pas.

Peut-être que tu crois avoir mis les mêmes règles, mais comme j’imagine que leurs interfaces sont différentes, il se peut qu’un détail t’ai échappé.

J’ai dit une grosse betise pour le mode actif, il n’y a pas de connexion NEW sur le data channel. Quand je parle des types de connexions j’entends par la l’etat NEW, RELATED, ESTABLISHED du point de vu iptables. Donc, il faut en fait parler des nouvelles connexions (flag SYN) sur le data channel.

J’ai testé l’option pasv_address, et cela fonctionne bien. Si je lui mets l’adresse locale de mon serveur, le client tente de se connecter à l’adresse locale, ce qui implique que la connexion est impossible via Internet. Si par contre, je met mon ip publique, la connexion se fait bien.

bonjour, :slightly_smiling:

alors j’ai testé à nouveau, en mettant, l’adresse ip internet dans mon fichier de config, mon client ftp s’arrete à la commande LIST puis plante…