Este é o documento para o qual eu indico as pessoas para que possam seguir o protocolo FTP: link
- Para fazer FTP de modo ativo, você precisa permitir conexões de entrada para a porta TCP 21 e conexões de saída da porta 20.
- Para fazer FTP de modo passivo, você precisa permitir conexões de entrada para a porta TCP 21 e conexões de entrada para uma porta gerada aleatoriamente no computador servidor (necessitando usar um módulo conntrack no netfilter)
Você não tem nada de novo: sua cadeia de saída em sua postagem, então incluirei isso aqui também. Se a sua cadeia OUTPUT for default-drop, isso é importante.
Adicione estas regras à sua configuração do iptables:
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
Para suportar FTP no modo passivo, você precisa carregar o módulo ip_conntrack_ftp na inicialização. Descomente e modifique a linha IPTABLES_MODULES no arquivo / etc / sysconfig / iptables-config para ler:
IPTABLES_MODULES="ip_conntrack_ftp"
Salve a configuração do iptables e reinicie o iptables.
service iptables save
service iptables restart
Para descartar completamente o VSFTPD como sendo um problema, pare o VSFTPD, verifique se ele não está escutando na porta 21 com um "netstat -a" e, em seguida, execute um:
nc -l 21
Isso iniciará o netcat escutando na porta 21 e fará eco na entrada do seu shell. De outro host, TELNET para a porta 21 do seu servidor e verifique se você obtém uma conexão TCP e se você vê a saída no shell ao digitar a conexão TELNET.
Finalmente, faça backup do VSFTPD, verifique se ele está escutando na porta 21 e tente se conectar novamente. Se a conexão com o netcat funcionou, suas regras do iptables estão corretas. Se a conexão com o VSFTPD não funcionar depois do netcat, então algo está errado com a configuração do VSFTPD.