Serveur Vsftpd derrière un NAT

Serveur Vsftpd derrière un NAT - Réseaux - Réseaux grand public / SoHo

Marsh Posté le 18-12-2012 à 13:04:57    

Bonjour à tous,
 
Après des heures de recherches et de galère, je n'arrive toujours pas à configurer mon serveur ftp.
 
La machine tourne sous debian 6.0.6 stable, le serveur est Vsftpd.
 
En local je n'ai aucun problème d'accès. Mon réseau local présente l'architecture suivante : des box Internet sont reliées à un serveur qui gère le NAT, firewall etc. avec PFSense.
 
J'ai configuré un port forwarding du port 21 d'une des boxes vers le port 21 du serveur NAT (adresse locale 10.0.1.253) puis du serveur NAT à mon serveur FTP (adresse locale 10.3.1.51).
 
Le problème est que Vsftpd, bien que je lui aie indiqué de renvoyer l'adresse publique de la box en réponse à PASV (ip_address=xxx.xxx.xxx.xxx, ce qui du coup m'empêche pour l'instant d'y accéder en local mais c'est une autre histoire), s'obstine à renvoyer 10.0.1.253 comme adresse (en accès externe, en local il renvoie bien l'adresse publique, ce qui empêche l'accès, c'est génial), ce qui provoque une erreur "500 Illegal PORT command" et ruine toute tentative de connexion (alors que le login s'est déroulé sans problème auparavant).
 
Une info importante je pense : mon serveur FTP n'est pas dans la DMZ de la box. J'espère pouvoir faire autrement que de l'y mettre ...
 
Pourriez vous m'aider ?
minuscheri


Message édité par minuscheri le 18-12-2012 à 13:08:46
Reply

Marsh Posté le 18-12-2012 à 13:04:57   

Reply

Marsh Posté le 18-12-2012 à 13:57:24    

Une raison pour avoir une installation aussi complexe? Il ne serait pas plus simple de passer la box en mode bridge, et de n'avoir ainsi qu'un seul NAT?
 
Sinon pour le problème de ftp, peut être un indice :
http://blog.uggy.org/post/2010/01/ [...] -en-passif


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
Reply

Marsh Posté le 18-12-2012 à 15:34:35    

Bonjour x1fr,
 
Merci pour ta réponse ! Je suis administrateur réseau d'une résidence étudiante, le réseau compte 400 utilisateurs pour lesquels nous avons 5 lignes ADSL (!) du coup on est obligés d'utiliser un serveur PFSense pour tous les aspects d'administration réseau, la sécurisation de la box servant à protéger notre réseau.
 
Nous avons déjà mis une ouverture sur cette box, un port pour administrer le réseau de l'extérieur en SSH. J'ai fait de même pour le FTP et ça marche très bien, j'ai juste cette histoire d'adresse déclarée qui n'est pas l'IP publique.
 
Penses-tu qu'il est impossible que le serveur FTP soit accessible de l'extérieur s'il n'est pas dans la DMZ ? J'ai pas envie de mettre mon serveur dedans ... :(
 
Merci pour ton lien, j'étais tombé sur cette page au cours de mes recherches. C'est précisément là que j'ai vu qu'il fallait mettre mon IP publique en paramètre de ip_address.
 
minuscheri

Reply

Marsh Posté le 18-12-2012 à 16:55:06    

Quand tu dis "ip_address" tu parles de "pasv_address" (en tout cas dans le lien il ne parle pas d'un paramètre ayant ce nom)?
 
A mon avis pour l'accès en réseau local il ne faut pas le faire en mode passif, comme ça le client utilise une connexion classique et tout devrait fonctionner.
 
Pour l'accès externe, je ne sais pas trop. Dans mes souvenirs il y avait un 2ème port utilisé pour le ftp (20?), est-ce que le fait de faire également la redirection sur les NAT pourrait aider?


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
Reply

Marsh Posté le 18-12-2012 à 20:31:38    

Bonsoir,
 
Oui je parlais de pasv_address, mon clavier a fourché ;(
Comme tu peux le voir dans ma config, j'ai configuré les ports 40000 à 40100 comme plage de data en mode passif. Cela ne change rien si je laisse le port 20, le tout étant ouvert dans la box de toute façon !
 

Code :
  1. listen=YES
  2. anonymous_enable=YES
  3. local_enable=YES
  4. write_enable=YES
  5. local_umask=022
  6. dirmessage_enable=YES
  7. use_localtime=YES
  8. xferlog_enable=YES
  9. connect_from_port_20=NO # Sur YES ça ne change rien, ça ne marche pas plus
  10. chroot_local_user=YES
  11. secure_chroot_dir=/var/run/vsftpd/empty
  12. pam_service_name=vsftpd
  13. rsa_cert_file=/etc/ssl/private/vsftpd.pem
  14. pasv_address=xxx.xxx.xxx.xxx
  15. pasv_addr_resolve=NO
  16. pasv_enable=YES
  17. pasv_promiscuous=YES
  18. pasv_min_port=40000
  19. pasv_max_port=40100
  20. port_promiscuous=NO


 
Je ne sais pas quoi faire ...
minuscheri

Reply

Sujets relatifs:

Leave a Replay

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