Questão O cliente FTP baseado em GUI do Windows 7 não pode obter listagem de diretórios para o servidor vsftpd


Client OS = 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á conectado ao número de arquivos ou diretórios com o diretório com falha.

O problema ocorre com as conexões FTP Passivo / Ativo.

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 do Windows, podem se conectar e obter todas as listagens de diretórios do servidor FTP.

No Linux, eu usei tanto clientes de linha de comando quanto baseados em GUI e não vejo nenhum problema.

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.

Há 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 mostradas no log, mas estão incompletas e expiram antes que a listagem seja concluída.

Neste ponto estou dividido entre chamar isso de um bug do Windows ou um problema de rede.

Razão para culpar as janelas é que isso só acontece nos clientes baseados na GUI do Windows.

Razão para culpar a rede é que isso só acontece quando você entra no servidor ftp do mundo exterior. Conexões internas de um cliente baseado no Windows gui 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.


1


origem


No entanto, quantos arquivos estão nas pastas em que os clientes FTP falham? E há alguns nomes "problemáticos" nessas pastas? - Jet
Existem cerca de 800 diretórios em um dos diretórios que não estão listados. Eu concordo que uma pasta com 16k arquivos e diretórios irá falhar ou não listar completamente. No entanto, eu testei outros diretórios com o mesmo ou mais arquivos e diretórios dentro e eles funcionam bem. O diretório em questão tem 800 subdiretórios e todos eles são nomeados de L00000 a L00800. Os clientes FTP que falham são Filezilla, CuteFTP, coreFTP. Todos eles da GUI do Windows. O Filezilla for Linux funciona muito bem. - ccreamer
Hmm interessante. Parece um bug. Você pode criar outra pasta e adicionar muitos arquivos / pastas (usando For na linha de comando / arquivo de lote) e testar essa pasta? - Jet
Eu fiz como você sugeriu e o novo diretório funcionou. No entanto, tenho outro problema agora. O servidor "apenas" começou a funcionar corretamente e eu não consigo mais reproduzir o problema. Eu odeio isso porque quando as coisas "apenas" começam a funcionar sozinhas, elas tendem a parar de funcionar novamente. Pode ser que o firewall da minha empresa de hospedagem possa estar manipulando mal os pacotes de alguma forma e eles corrigiram o problema sem notificação. Obrigado por seus esforços. Vou comentar sobre esta questão se voltar a me chutar entre as pernas novamente. - ccreamer
Atualizar. Isso só funciona para o meu computador com windows. Qualquer outro computador, mesmo depois de instalar todas as atualizações, ainda não funciona por algum motivo. Eu acredito que é puramente um problema do Windows agora, já que nada é afetado. - ccreamer


Respostas:


Eu fiz mais pesquisas e houve fragmentação de pacotes acontecendo no meu firewall para qualquer pacote maior que 512 MTU.

Não importa qual configuração eu coloquei o MTU no firewall, 512 foi o máximo que eu consegui passar sem Fragmentação.

A atualização do firmware do firewall resolveu o problema.


0