O FTP vem em duas variedades - ativo e passivo. Com o FTP ativo, o servidor requer as portas 20 (dados) e 21 (comandos) abertas - é mais fácil de configurar no servidor, mas mais difícil de configurar para o cliente (desde que o servidor inicie uma conexão de volta ao cliente). O teste de FTP ativo às vezes é um bom ponto de partida para determinar se o firewall do seu servidor é a causa dos seus problemas.
O FTP passivo é tipicamente mais universalmente compatível, já que as conexões são estabelecidas pelo cliente. No entanto, ele requer que a porta 21 (a porta de comando) e outra porta de alta numeração estejam abertas (para transferência de dados). A maioria dos servidores FTP permite especificar um intervalo de portas que será usado para FTP passivo.
Consulte este site para obter uma boa visão geral das diferenças entre FTP ativo e passivo.
Kmods normalmente adicionam recursos - ao verificar que ACEITAR todas as conexões resolve seu problema, você demonstrou que não precisa de um kmod nesta instância, mas que existem apenas algumas portas necessárias que estão bloqueadas.
Em sua configuração de FTP, configure as diretivas apropriadas para definir o intervalo de portas passivas que serão usadas e, em seguida, abra essas mesmas portas no iptables, e você deve estar pronto.
PureFTPd:
Existe uma diretiva PassivePortRange
:
PassivePortRange min_port max_port
vsFTPd:
Existem duas diretivas pasv_max_port
e pasv_min_port
:
pasv_max_port=xxxxx
pasv_min_port=xxxxx
Você também precisa ativar o FTP passivo com pasv_enable=YES
.
Por padrão, o vsFTPd lê a configuração de /etc/vsftpd.conf
(então você deve colocar as diretivas lá - verifique se elas ainda não existem). É possível, no entanto, sobrescrever o local de configuração padrão passando um caminho de arquivo diferente para o vsFTPd na linha de comando (que um dos seus scripts de init pode fazer).
Depois de ter especificado as portas necessárias, você pode adicioná-las em um único comando ipTables com:
iptables -A INPUT -p tcp -m tcp --dport xxxxx:xxxxx -j ACCEPT
(Nota: FTP é exclusivamente TCP - você não precisa habilitar o UDP)