Para configurar el modo pasivo para vsftpd necesita establecer algunos parámetros en vsftpd.conf.
pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=10090
Esto habilita el modo pasivo y lo restringe al uso de los once puertos para las conexiones de datos. Esto es útil ya que necesita abrir estos puertos en su firewall.
iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT
Si después de probar todo esto funciona, guarde el estado de su firewall con
service iptables save
que actualizará el /etc/sysconfig/iptables
archivo.
Para hacer esto es CentOS 7, debe usar el nuevo firewalld, no iptables:
Encuentra tu zona:
# firewall-cmd --get-active-zones
public
interfaces: eth0
Mi zona es 'pública', así que configuro mi zona en pública, agrego el rango de puertos y luego volvemos a cargar:
# firewall-cmd --permanent --zone=public --add-port=10090-10100/tcp
# firewall-cmd --reload
¿Qué sucede cuando haces una conexión?
Su cliente se conecta al servidor vsftpd en el puerto 21.
El servidor responde al cliente diciéndole a qué puerto conectarse desde el rango especificado anteriormente.
El cliente realiza una conexión de datos en el puerto especificado y la sesión continúa.
Aquí hay una gran explicación de los diferentes modos ftp .
max
puerto después delmin
... pero lo más importante, si abres los puertos 10090 a 10100, son 11 puertos y no 10 como dices.