O encapsulamento SSH para o roteador trava periodicamente. Problema TCP?

4

Algo estranho que eu notei desde a atualização do roteador do meu escritório para o Buffalo WZR-HP-G300NH. Quando eu uso remotamente um túnel SSH, o túnel "congelará" com bastante frequência. O congelamento dura de 1 a 2 minutos cada, após o qual todo o tráfego que foi preso alcança. É muito chato usar o VNC e ter a sessão pausada a cada poucos minutos.

Estou usando o seguinte comando da minha máquina local:

ssh -D 9000 [email protected] 

Eu sei que o roteador inteiro não está congelando porque eu posso abrir outra sessão SSH e tudo bem - até que ele congele também. As sessões de congelamento são independentes umas das outras. Ambos congelarão periodicamente, mas não ao mesmo tempo.

Eu posso começar um ping nas duas sessões e nem perder um único pacote ou até mesmo mostrar qualquer atraso, mesmo que ambos congelem algumas vezes.

Se eu encaminhar a porta VNC diretamente para a máquina remota, o problema fica um pouco melhor, levando-me a acreditar que é mais provável que ocorra um problema de TCP em vez de SSH. Mas eu não estou descartando nada.

Esse comportamento persistiu, apesar de atualizar os firmwares para o último dd-wrt, incluindo a versão que foi extraída há algumas semanas.

É um problema com dropbear? Ou com o MTU? QoS?

    
por Barry Brown 03.09.2011 / 21:02

2 respostas

2

Dois palpites:

  1. Perda de pacotes. Não confie no "ping" que você executou em paralelo, pois a perda de pacotes pode estar afetando apenas os fluxos TCP, por qualquer motivo. Uma maneira simples de detectá-lo é executar $ netstat -s -p|grep "segments retransmited" com frequência nos dois lados (cliente e servidor ssh) durante a sessão SSH. Veja se o contador aumenta, caso em que você experimentou perda de pacotes em sessões TCP nesta máquina. Dito isso, a melhor maneira é usar tcpdump ou wireshark para registrar o que está acontecendo e confirmar que estão ocorrendo re-transmissões (geralmente são marcadas com vermelho por wireshark, mas YMMV).

  2. problemas de MTU. Se você estiver tentando listar o conteúdo de um diretório grande via SSH, por exemplo, pode ocorrer que a quantidade de dados sendo transmitidos exija que ele seja fragmentado. Os pontos de extremidade usarão detecção de caminho MTU para determinar a quantidade de dados a serem enviados por vez. Mas, em alguns casos, um firewall no caminho pode estar bloqueando todos os pacotes ICMP e, portanto, quebrando a detecção do caminho MTU, causando congelamentos aparentes. Isso pode ser difícil de confirmar e diagnosticar. A solução mais fácil que sempre funciona é alterar o MTU da interface de rede em ambos os lados para um valor baixo, como 1200 ou 1000. Isso pode prejudicar seu desempenho, então é melhor não usar isso para sempre.

por 04.09.2011 / 16:24
0

Você tentou apenas encaminhar a porta VNC (o que é 5900?)

ssh -L 5900:127.0.0.1:5900 [email protected]

Então você acabou de usar 127.0.0.1 ao usar seu cliente VNC.

    
por 04.09.2011 / 02:41

Tags