Não é possível FTP com mais de 5791 bytes

5

Na minha máquina Kubuntu 11.10 eu descobri que não posso fazer upload via FTP de arquivos únicos com mais de 5791 bytes. Eu tentei dois servidores FTP diferentes (não anônimos, em vez dos servidores FTP do meu empregador) usando o Konqueror, GFTP e o Krusader. Além disso, para ambos os servidores, outras pessoas podem fazer upload de arquivos maiores bem. Eu não sei se o problema é o meu desktop Kubuntu ou possivelmente o bloqueio do meu roteador / ISP. Tentei alterar o MTU de acordo com pergunta , no entanto, não resolveu a questão. Como posso solucionar isso? Eu não tenho nenhum outro computador aqui em casa para FTP de / para.

Eu não tenho problema para carregar arquivos maiores via SSH a partir desta mesma máquina, o problema só se manifesta com o FTP. Note também que eu só posso conectar com o modo passivo (-p na CLI).

Aqui está o exemplo de saída:

ftp> put smallFile.txt 
local: smallFile.txt remote: smallFile.txt
227 Entering Passive Mode (50,63,78,1,198,219)
150 Accepted data connection
226-File successfully transferred
226 0.837 seconds (measured here), 48.98 bytes per second
41 bytes sent in 0.00 secs (494.3 kB/s)
ftp> put largeFile.txt 
local: largeFile.txt remote: largeFile.txt
227 Entering Passive Mode (50,63,78,1,198,224)
150 Accepted data connection
421 Service not available, remote server has closed connection
7785 bytes sent in 0.00 secs (62315.9 kB/s)
ftp>

Na linha 150 Accepted data connection , esperarei por algum tempo antes que a mensagem 421 Service not available apareça.

    
por dotancohen 27.08.2012 / 01:15

1 resposta

2

Já vi isso antes com o vsftpd como o servidor (mas aqui está o pureftpd), quando o servidor estava aceitando a conexão DATA, mas não pôde gravar um bloqueio para o arquivo carregado. O cliente só podia enviar tanto quanto o buffer de envio + janela de recebimento do servidor. Não me lembro dos detalhes, mas isso somaria mais de 5791 bytes.

O 5791 parece mais com 4 pacotes de tamanho completo, que é a janela inicial de congestionamento do TCP. É como se os pacotes TCP ACK (exceto o SYN + ACK) fossem perdidos em trânsito. Eu acho que um problema de proxy transparente e / ou um problema de firewall. Nós não vemos a primeira parte do handshake do FTP. Você está usando o TLS por acaso (como eu posso ver, ele é suportado pelo servidor).

Eu executaria um "tshark -i qualquer host 50.63.78.1" para ver o que está acontecendo.

    
por 01.09.2012 / 08:45