Pour configurer le mode passif pour vsftpd, vous devez définir certains paramètres dans vsftpd.conf.
pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=10090
Cela active le mode passif et le limite à l'utilisation des onze ports pour les connexions de données. Ceci est utile car vous devez ouvrir ces ports sur votre pare-feu.
iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT
Si après avoir testé tout cela fonctionne, sauvegardez l'état de votre pare-feu avec
service iptables save
qui mettra à jour le /etc/sysconfig/iptables
fichier.
Pour faire cela sous CentOS 7, vous devez utiliser le nouveau firewalld, et non iptables :
Trouvez votre zone :
# firewall-cmd --get-active-zones
public
interfaces: eth0
Ma zone est 'public', donc je mets ma zone en public, j'ajoute la gamme de port, et après cela nous rechargeons :
# firewall-cmd --permanent --zone=public --add-port=10090-10100/tcp
# firewall-cmd --reload
Que se passe-t-il lorsque vous établissez une connexion
-
Votre client établit une connexion avec le serveur vsftpd sur le port 21.
-
Le serveur répond au client en lui indiquant le port auquel il doit se connecter dans la plage spécifiée ci-dessus.
-
Le client établit une connexion de données sur le port spécifié et la session se poursuit.
Il y a une bonne explication des différents ftp. modes ici.