Vsftp + mode passif + nat

Bonjour,
Je vous sollicite car j’ai un petit problème avec vsftp.
Mon serveur vsftp est derrière un routeur avec nat, donc pour pouvoir y accéder en mode passif j’ai régler l’attribut pasv_address avec mon adresse publique puis les règles iptables de mon routeur qui vont bien, jusque là pas de problème, j’arrive a accéder a mon serveur depuis le wan.
Mais le problème est que si je veut y accéder depuis mon réseau local en mode passif le serveur me retourne mon adresse publique pour le passage en ce mode. Est-ce que quelqu’un aurais une idée pour régler ce problème.
Merci.

N’y a t’il pas un “helper ftp” (qui applique le nat au niveau application: aux contenus des commandes ftp) sur ton routeur? C’est plus propre que d’avoir le ftp renvoyer l’adresse WAN. Et ca evite ces problèmes.

Merci d’avoir répondu aussi vite.
Je n’ai pas de système de ce genre sur le routeur mais je vais me renseigner a ce sujet.

De rien.
Si tu ne l’as pas sur le routeur, tu dois pouvoir mettre le helper ftp de iptables sur ton serveur.
Enfin, j’ai jamais fait, juste une idée comme ca.

@ beuh :
Si ton routeur a des règles iptables alors il a un noyau Linux, et il a peut-être les modules de suivi de connexion et de NAT pour le protocole FTP, ip_conntrack_ftp et ip_nat_ftp (remplacer ip_ par nf_ pour les noyaux >= 2.6.20).

Note : si le client et le serveur supportent la commande de mode passif étendu (EPSV), alors l’adresse passive n’est pas utilisée.

@ ignatioza :
Le helper NAT sur le serveur ne sert à rien, il doit être utilisé sur la machine qui fait le NAT.

@ ignatioza :
Le helper NAT sur le serveur ne sert à rien, il doit être utilisé sur la machine qui fait le NAT.

Oui dans le cas general mais techniquement je vois aucun problème pour que ce soit fait sur le server ftp en fonction de l’adresse du client. Après si le helper ftp de iptables ne peut pas faire ca (pouvoir lui passer l’adresse WAN), je sais pas.

Enfin, c’est presque aussi sale que de le fixer dans la conf de vsftp. Biensur sur le routeur c’est mieux mais certains n’ont pas.

avec ip_nat_ftp ca marche nickel merci :smt023

@ ignatioza :
Le helper NAT a besoin de connaître l’adresse initiale de la connexion, que seul le routeur qui fait le NAT connaît. Lorsque le serveur reçoit la connexion, il ne peut savoir si elle est directe ou a été NATée depuis le routeur. On ne peut pas passer l’adresse WAN au helper, de toute façon ça ne servirait à rien par rapport à la déclarer dans la configuration passive du serveur.