Resposta curta :
Você provavelmente tem um problema de MTU / fragmentação. Tente definir o MTU como 576 para a interface de rede no cliente, por exemplo, ifconfig eth0 mtu 576
.
Temos um servidor SFTP que funcionava bem até adicionarmos outro ISP. A conexão com o servidor SFTP não está passando pelo novo ISP, eu confirmei com tracert
. Nenhuma alteração foi feita no servidor também. Mas, desde então, as conexões SFTP ou SSH de alguns usuários atingem o tempo limite / travam se o comando executado tiver um retorno maior. Aqui está o cenário:
ls
do meu diretório raiz estiver retornando um pequeno
número de arquivos ou pastas, ele mostra a listagem de arquivos e
pastas ls
do meu diretório raiz for maior que digamos 5
ou 6 arquivos ou pastas, então trava / expira. Isso não acontece com todos, mas parece acontecer com usuários que estão em outra cidade.
Eu tentei diferentes clientes SFTP (FileZilla e WinSCP). Ambos têm o mesmo problema.
Eu executei o WireShark no meu PC (que está fora da nossa rede e fora da cidade), quando SFTP / SSH atinge o tempo limite, vejo erros de retransmissão e parte do segmento não capturados, o que me leva a acreditar que talvez ser alguma perda de pacotes em algum lugar entre os saltos.
Expert Info (Note/Sequence): Retransmission (suspected)
Previous segment not captured (common at capture start)
O SFTP / SSH é sensível à perda de pacotes? O SSH / SFTP não retransmitiria / reagenciaria para evitar esses erros de perda de pacote? Existe algo nas configurações do servidor que eu possa ajustar para que isso funcione?
Resposta curta :
Você provavelmente tem um problema de MTU / fragmentação. Tente definir o MTU como 576 para a interface de rede no cliente, por exemplo, ifconfig eth0 mtu 576
.
Gostaria de saber se o problema é uma combinação de problemas de roteamento assimétrico e MTU. O que você descreve parece um problema de MTU.
Você pode testar / corrigir isso apertando sua MTU - consulte o aqui para os hacks apropriados.
Tags ssh networking sftp linux