Postar assunto: Filezilla - Falha ao recuperar a listagem de diretórios

3

Eu configurei um certificado autoassinado no servidor FileZilla e habilitei o FTP por TLS. Quando eu me conecto a partir do cliente FileZilla, eu sou capaz de autenticar, 1-2 vezes por dia eu sou obter listagem do diretório ...

Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Status: Logged in
Status: Retrieving directory listing...
Status: Directory listing of "/" successful

Mas o tempo restante não pode obter uma listagem de diretórios

Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Status: Logged in
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is current directory.
Command: TYPE I
Response: 200 Type set to I
Command: PORT 192,168,1,119,88,109
Response: 200 Port command successful
Command: MLSD
Response: 150 Opening data channel for directory listing of "/"
Response: 425 Can't open data connection for transfer of "/"
Error: Failed to retrieve directory listing
    
por Priyanka Zalavadiya 30.04.2016 / 09:37

1 resposta

3

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).

    
por 01.05.2016 / 11:20

Tags