FTP como um protocolo é um pouco estranho. Ele usa duas conexões TCP , em vez de apenas a que a maioria dos protocolos usa. Você tem porta 21 o comando e conexão de logon e uma segunda conexão, a conexão de dados.
Com FTP passivo, a segunda conexão é para uma porta TCP disponível aleatoriamente acima de 1024.
Seus problemas parecem indicar que você não tem essa segunda porta aberta no seu firewall.
Normalmente, com um firewall razoavelmente inteligente, essa segunda porta é aberta automaticamente. Como o FTP é um protocolo de texto não criptografado, seu firewall pode verificar o tráfego na conexão de comando na porta 21. Ele reconhecerá a porta PASV que será atribuída e abrirá o firewall dinamicamente e permitirá o tráfego entre esse cliente específico e a porta PASV usada naquele sessão.
Desde que você use corretamente a criptografia TLS que não funciona. Com o FTPS , o firewall não pode mais espionar o canal COMMAND.
Solução: corrija a porta PASV (intervalo):
Uma solução é configurar seu servidor FTP para usar um pequeno intervalo de portas, ou apenas uma única porta, e criar uma regra de firewall para abrir essas portas. Isso é explicado na documentação do FileZilla :
Configurações gerais == > Configurações do modo passivo == > Faixa de porta personalizada
Em seguida, abra esse intervalo de portas no seu firewall.
Além disso, se você estiver atrás de um roteador NAT, você tem um segundo problema, ou seja, que a resposta PASV não inclui apenas o número da porta, mas também o endereço IP do servidor FTP.
Se você ainda estivesse usando o FTP em texto não criptografado, um roteador NAT normalmente seria capaz de reescrever a resposta do endereço IP interno com o endereço IP externo correto.
Novamente, porque você usa FTP sobre TLS que não funciona mais.
Felizmente, o FileZilla também tem uma solução para isso, pode corrigir isso e anunciar o endereço IP externo / público em vez do endereço IP real (interno).