Estranha lentidão da conexão TCP no X11 forward

Estranha lentidão da conexão TCP no X11 forward

Eu tenho um computador doméstico H (Linux), um computador de trabalho W (Mac OS X) e um servidor público S (mesmo Linux que H) com IP 11.22.33.44.

Como H e W estão todos atrás de NAT, eu uso autossh para conectá-los a S e se comunicarem através de túneis:

# From H to S
ssh -R :8822:127.0.0.1:22 [email protected]
# From W to S
ssh -R :7722:127.0.0.1:22 [email protected]

Quando estou no escritório, costumo usar SSH para H e encaminhar o X11 de volta:

# on W
ssh -X -p 8822 [email protected]
xterm
...

Tanto H quanto W têm latência muito baixa para S (ping em torno de 2 a 5 ms), então tudo está bem tranquilo, até que meu escritório mudou e o ISP mudou. O ping de W para S permanece baixo e tudo continua rápido até o início do X forward. Sempre que tento iniciar o xterm do H sobre o X11 em diante, a conexão TCP fica extremamente lenta. No entanto, outras sessões SSH de W a H sem encaminhamento permanecem rápidas. Após Ctrl-C o xterm que não responde, a sessão SSH de encaminhamento se recupera imediatamente para responder.

Parece que alguém está assistindo sessões SSH e diminui a velocidade sempre que uma comunicação X11 é feita. Para descobrir qual parte deu errado, fiz um teste como este:

# on W
ssh -R 11.22.33.44:6010:127.0.0.1:6000 [email protected]
# on S
DISPLAY=11.22.33.44:10 xterm  # works fine!
# on H
DISPLAY=11.22.33.44:10 xterm  # unresponsive

O estranho é que se o xterm começar em S, tudo bem; Quando é de H, ele trava, não a parte H→S, mas a sessão SSH W→S, pois a digitação nela fica extremamente lenta. Após Ctrl-C o xterm suspenso, ele se recuperou imediatamente.

Parece não ser um problema de rede, já que H→S e W→S são ótimos (tanto em termos de latência quanto de largura de banda). No túnel, o scp entre W e H é rápido; lftp fish://Hde W também funciona bem.

Como isso aconteceu após uma troca de ISP, eu estava pensando se há algum estrangulamento de tráfego por parte do ISP, mas o X11 forward funciona bem em qualquer direção entre W e S, ou entre H e S. É que qualquer tráfego X11 entre W e H, em de qualquer maneira que eu possa imaginar, retarda a conexão SSH que leva isso adiante.

Estou profundamente confuso com essa bagunça. Alguém pode me ajudar a descobrir qual parte devo examinar?

informação relacionada