«Lag» SSH en LAN sur certaines machines, distributions mixtes

9

J'ai eu un problème étrange avec les connexions SSH à l'intérieur de mon LAN pendant quelques mois. Cela ne se produit que lorsque j'utilise mon appareil Windows 10 pour me connecter à une machine Linux (barebone).

Lorsque je me connecte à un serveur SSH, c'est comme si mon entrée n'était envoyée qu'une fois par seconde. Si je tiens une touche, elle n'imprime rien pendant une seconde et après cette seconde, je vois chaque frappe que j'ai faite pendant ce temps.

Voici à quoi cela ressemble sur les serveurs de travail:

Voici à quoi cela ressemble sur ceux qui ont le problème:

Ce que j'ai testé / découvert

  • La modification du paramètre "UseDNS" dans / etc / sshd ne le résout pas
  • Cela se produit avec bash (et zsh) sur Debian (OpenSSH_7.4p1 Debian-10 + deb9u6, OpenSSL 1.0.2r 26 février 2019) et Ash sur Alpine Linux (OpenSSH_7.9p1, OpenSSL 1.1.1b 26 février 2019)
  • Cela ne se produit pas sur Alpine Linux OpenSSH_7.7p1, LibreSSL 2.7.4
  • Cela ne se produit pas avec toutes les machines, juste certaines (pas en fonction de la distribution)
  • resolv.conf est correct
  • Une erreur se produit avec et sans ClientAliveInterval (testé sur le client et le serveur)
  • Le ping des appareils est toujours rapide (moins de 1 ms) donc c'est seulement SSH
  • Il est également en retard lorsque je ssh à partir du sous-système Linux sur Windows 10 et avec Putty et avec MobaXterm
  • Aucun problème lorsque je me connecte depuis Linux au lieu de Windows

Quelqu'un at-il des indices ou des choses que je pourrais essayer? Merci

Christian
la source

Réponses:

15

Il s'agit généralement d'un signe de l'algorithme de Nagle , vous pouvez désactiver cette option de socket.

(J'ai déjà vu des retards TCP similaires entre Linux et Windows dans d'autres cas. Dans un cas, cela était dû à des interactions entre les tailles TCP Windows et les indicateurs PSH (Push) qui ont amené Windows à accuser réception tardive et / ou réessayer.)

eckes
la source
Génial, merci pour cette solution rapide! Dans les paramètres Putty, j'ai décoché la case "Désactiver l'algorithme de Nagle" (qui semble être cochée par défaut) et maintenant cela fonctionne!
Christian
@Christian merci pour la confirmation, j'ai simplifié un peu ma réponse
eckes
@Christian, je suis confus. Vous avez activé l' algortihm de Nagle, et maintenant les personnages ne viennent pas en plus gros paquets? Cela me semble être le mauvais moyen, alors peut-être que la réponse avant l'édition était en fait meilleure.
Carsten S
@CarstenS oui, tout ce que j'ai fait a été de décocher "désactiver l'algorithme de Nagle" dans Putty, ce qui signifie que je l'ai activé . Mais je pense que c'est une version plus ancienne de Putty alors peut-être que l'étiquette sur la case est fausse
Christian
Hm, en effet étrange.
eckes