Como configurar o vsftpd para funcionar com modo passivo

Como configurar o vsftpd para funcionar com modo passivo

vsftpdSempre que instalo centos, configuro apenas o ambiente jail para os usuários e o restante é a configuração padrão do vsftpd. Criei usuário e tentei conectar com filezilacliente FTP, mas não consegui conectar no modo passivo. Eu sempre mudo para o transfer settingsmodo ativo para me conectar com sucesso, ftp servercaso contrário, recebo

 Error: Failed to retrieve directory listing

Então, existe uma maneira de alterar qualquer diretiva no vsftp.confarquivo e podemos nos conectar em modo passivo ao servidor?

Responder1

Para configurar o modo passivo para vsftpd você precisa definir alguns parâmetros em vsftpd.conf.

pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=10090

Isso ativa o modo passivo e restringe-o ao uso das onze portas para conexões de dados. Isso é útil porque você precisa abrir essas portas no seu firewall.

iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT

Se depois de testar tudo funcionar, salve o estado do seu firewall com

service iptables save

que atualizará o /etc/sysconfig/iptablesarquivo.

Para fazer isso no CentOS 7 você deve 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 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 conectar-se no intervalo especificado acima.

  • O cliente estabelece uma conexão de dados na porta especificada e a sessão continua.

Há uma ótima explicação dos diferentes FTPmodosaqui.

Responder2

Para ativar o modo passivo, defina as seguintes opções de configuração em seu vsftp.conf:

pasv_enable=YES
pasv_min_port=41361
pasv_max_port=65534
pasv_address=xxx.xxx.xxx.xxx

É claro que você pode alterar a porta inicial e final e deve substituir o xxx pelo IP público do seu servidor.

Além disso, você deve abrir o intervalo de portas do modo passivo em seu firewall. No centos, você pode carregar o ip_conntrack_ftpmódulo para lidar com conexões FTP em seu firewall. Edite /etc/sysconfig/iptables-confige adicione ip_conntrack_ftp à opção IPTABLES_MODULES. Depois reinicie o iptables:

/sbin/service iptables restart

Responder3

Ao lado de pasv_enable=YES, especifique um intervalo de portas no qual o VSFTP executará o modo PASV:

pasv_min_port=50000
pasv_max_port=50999
pasv_enable=YES

Não se esqueça de configurar o iptables para permitir a transmissão de pacotes nestas portas:

iptables -I INPUT -p tcp --dport 50000:50999 -j ACCEPT

Responder4

Normalmente, não é o servidor FTP, vsftpd, mas o firewall como o iptable que impede o uso do modo passivo (bloqueando a conexão TCP necessária para transferência de dados).

informação relacionada