Per configurare la modalità passiva per vsftpd è necessario impostare alcuni parametri in vsftpd.conf.
pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=10090
Ciò abilita la modalità passiva e la limita all'utilizzo delle undici porte per le connessioni dati. Ciò è utile in quanto è necessario aprire queste porte sul firewall.
iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT
Se dopo il test tutto funziona, salva lo stato del tuo firewall con
service iptables save
che aggiornerà il /etc/sysconfig/iptables
file.
Per fare questo è CentOS 7 devi usare il nuovo firewalld, non iptables:
Trova la tua zona:
# firewall-cmd --get-active-zones
public
interfaces: eth0
La mia zona è "pubblica", quindi imposto la mia zona su pubblica, aggiungo l'intervallo di porte e successivamente ricarichiamo:
# firewall-cmd --permanent --zone=public --add-port=10090-10100/tcp
# firewall-cmd --reload
Cosa succede quando si effettua una connessione
Il client effettua una connessione al server vsftpd sulla porta 21.
Il server risponde al client dicendogli a quale porta connettersi dall'intervallo sopra specificato.
Il client stabilisce una connessione dati sulla porta specificata e la sessione continua.
C'è una grande spiegazione delle diverse modalità ftp qui.
max
porta dopo ilmin
... ma, soprattutto, se apri le porte da 10090 a 10100, sono 11 porte e non 10 come dici tu.