Sistema operacional do cliente = Windows 7
clientes ftp eu tentei:
Baseado em GUI = Filezilla, cuteftp e coreftp
O utilitário de linha de comando que vem com o Windows funciona e não tem problemas para se conectar ao servidor FTP ou aos diretórios de listagem.
O problema não está ligado ao número de arquivos ou diretórios com o diretório com falha.
O problema ocorre com as conexões FTP passivas / ativas.
Ao listar determinados diretórios, a conexão entre o cliente e o servidor de ftp atinge o tempo limite.
Linux, Unix, Android e todos os outros sistemas operacionais, além das janelas, podem se conectar e obter todas as listagens de diretório do servidor FTP.
No Linux, usei clientes de ftp baseados em linha de comando e GUI e não vejo problemas.
O servidor ftp é o vsftpd rodando no CentOS 6.4.
O servidor ftp fica atrás de uma máquina zentyal / ubuntu usada como um firewall para o mundo externo.
Existe um NAT de 1 para 1 na porta 21 do firewall apontando para o servidor FTP. O firewall usa um endereço IP virtual para o NAT com o servidor FTP. Nenhuma conversão de endereço acontece com os pacotes ftp, o que significa que o endereço IP de origem original para os clientes que se conectam não são alterados enquanto passam pelo firewall e vão para o servidor ftp interno.
Conectando-se internamente, o cliente do Windows não tem problemas para se conectar ao servidor ftp ou aos diretórios de listagem.
Coloquei o Filezilla no modo de depuração para coletar um log mais detalhado. Parece que as listagens de diretório estão sendo exibidas no log, mas estão incompletas e esgotam o tempo limite antes de a listagem ser concluída.
Neste ponto, estou dividido entre chamar isso de bug do Windows ou problema de rede.
O motivo para culpar as janelas é que elas acontecem apenas em clientes baseados na GUI do Windows.
A razão para culpar a rede é que ela só acontece quando você entra no servidor ftp do mundo externo. As conexões internas de um cliente baseado em gui do Windows funcionam bem.
Eu pesquisei e testei isso por 2 dias inteiros. Eu preciso de outro conjunto de novos olhos para olhar para isso e ver o que eu estava sentindo falta, então eu humildemente peço ajuda à comunidade da Internet. Obrigado por tomar parte do seu tempo para me ajudar.