Para configurar o modo passivo para o vsftpd, você precisa definir alguns parâmetros no vsftpd.conf.
pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=10090
Isso ativa o modo passivo e restringe o uso das onze portas para conexões de dados. Isso é útil, pois você precisa abrir essas portas no seu firewall.
iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT
Se depois de testar isso tudo funcionar, salve o estado do seu firewall com
service iptables save
que atualizará o /etc/sysconfig/iptables
arquivo.
Para fazer isso no CentOS 7, você precisa usar o novo firewalld, não o iptables:
Encontre sua zona:
# firewall-cmd --get-active-zones
public
interfaces: eth0
Minha zona é 'pública', então eu defino minha zona como pública, adiciono o intervalo de portas e depois recarregamos:
# firewall-cmd --permanent --zone=public --add-port=10090-10100/tcp
# firewall-cmd --reload
O que acontece quando você faz uma conexão
Seu cliente faz uma conexão com o servidor vsftpd na porta 21.
O servidor responde ao cliente informando a qual porta se conectar a partir do intervalo especificado acima.
O cliente faz uma conexão de dados na porta especificada e a sessão continua.
Há uma ótima explicação dos diferentes modos de FTP aqui.
user9517 suporta GoFundMonica
fonte
max
porta após omin
... mas mais importante, se você abrir as portas 10090 a 10100, isso significa 11 portas e não 10 como você diz.pasv_address
.Para ativar o modo passivo, defina as seguintes opções de configuração no seu vsftp.conf:
É claro que você pode alterar a porta inicial e final e deve substituir os xxx pelo IP público do seu servidor.
Além disso, você deve abrir o intervalo de portas do modo passivo no seu firewall. No centos, você pode carregar o
ip_conntrack_ftp
módulo para manipular conexões ftp no seu firewall. Edite/etc/sysconfig/iptables-config
e adicione ip_conntrack_ftp à opção IPTABLES_MODULES. Depois reinicie o iptables:fonte
pasv_address
é o que faz o truque quando todo o resto foi configurado e ainda não funciona.pasv_address
, deve adicionarpasv_addr_resolve=YES
(o padrão éNO
)Ao lado de
pasv_enable=YES
, especifique um intervalo de portas no qual o VSFTP executará o modo PASV:Não se esqueça de configurar o iptables permite a transmissão de pacotes nestas portas:
fonte
iptables -A INPUT ...
a ser ignoradopasv_address
no arquivo vsftpd.conf.Geralmente, não é o servidor ftp, vsftpd, mas o firewall como iptable que impede o uso do modo passivo (bloqueando a conexão tcp necessária para a transferência de dados).
fonte