raserafim
(usa Slackware)
Enviado em 23/06/2017 - 00:40h
Se tentou em vários clientes e não funcionou, então, é provável mesmo que o problema seja no servidor.
O mais provável é que o problema esteja relacionado ao Firewall.
Minha aposta é de que o problema se dá porque o Firewall não está permitindo que o Cliente estabeleça uma nova conexão nas portas altas. ou seja, O Firewall não está permitindo conexões com o status NEW (--ctstate NEW) (Flag SYN).
Se realmente for esse o problema, então, as regras desse Firewall estão mais próximas das regras para um Firewall destinado a cliente do que de um Firewall destinado a servidor.
O que diferencia centralmente o modo ativo do modo passivo do FTP é que no modo ativo é o servidor que inicia uma conexão no cliente (assim, o servidor não precisa aceitar conexões com o status NEW -- mas o cliente precisa); já no modo passivo é o cliente que inicia uma conexão no servidor (assim, o servidor precisa aceitar conexões com o status NEW)
A questão é que o modo passivo foi criado para contornar um problema do modo ativo. qual seja, no modo ativo o cliente precisa ser configurado para permitir conexão NEW -- o que contraria o princípio básico da filosofia cliente-servidor uma vez que apenas o Servidor deveria ser conectado.
O FTP ativo é pouquíssimo utilizado hoje em dia porque transfere um problema que deve ser do Servidor para todos os clientes. Talvez você não devesse pensar uma solução por esse caminho. Minha sugestão é a de que você deveria se manter no modo passivo.
Ou como o admin do nosso fw sugeriu "desabilitar o modo passivo do FTP Server e assim forçar o uso da porta 21 e 22"?
Com essa sugestão do admin a ideia é se manter no FTP ativo. Mas apenas desabilitando o suporte ao modo passivo no servidor não faz com que seja forçado uso na porta 20 (22). Será preciso configurar em todos os clientes para eles utilizarem o modo ativo.
A porta 21, por padrão, sempre é utilizada tanto no modo ativo quanto no passivo -- porque é a Porta de Comandos.
Sugestão para o problema:
no servidor deverá ter algo assim:
iptables -A INPUT -p tcp --dport 1024:65535 -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT