SSH“ lag” ใน LAN ในเครื่องบางรุ่น, distros แบบผสม


9

ฉันมีปัญหาแปลก ๆ กับการเชื่อมต่อ SSH ภายใน LAN ของฉันสองสามเดือน มันเกิดขึ้นเมื่อฉันใช้อุปกรณ์ Windows 10 ของฉันเพื่อเชื่อมต่อกับเครื่องลินุกซ์ (แบร์โบน)

เมื่อฉันเชื่อมต่อกับเซิร์ฟเวอร์ SSH มันก็เหมือนการป้อนข้อมูลของฉันจะถูกส่งเพียงครั้งเดียวทุกวินาที ถ้าฉันถือกุญแจมันจะไม่พิมพ์อะไรเลยในวินาทีและหลังจากนั้นฉันก็เห็นการกดแป้นทุกครั้งที่ฉันทำในช่วงเวลานั้น

นี่คือลักษณะที่ปรากฏบนเซิร์ฟเวอร์ที่ใช้งานได้:

นี่คือลักษณะที่ปรากฏของปัญหา:

สิ่งที่ฉันได้ทดสอบ / พบ

  • การเปลี่ยนการตั้งค่า "UseDNS" ใน / etc / sshd ไม่สามารถแก้ไขได้
  • มันเกิดขึ้นกับ bash (และ zsh) บน Debian (OpenSSH_7.4p1 Debian-10 + deb9u6, OpenSSL 1.0.2r 26 ก.พ. 2019) และ Ash บน Alpine Linux (OpenSSH_7.9p1, OpenSSL 1.1.1b 26 ก.พ. 2019)
  • มันไม่ได้เกิดขึ้นใน Alpine Linux OpenSSH_7.7p1, LibreSSL 2.7.4
  • มันไม่ได้เกิดขึ้นกับทุกเครื่องเพียงบางส่วน (ไม่ขึ้นอยู่กับ distro)
  • resolv.conf ถูกต้อง
  • เกิดข้อผิดพลาดเมื่อมีและไม่มี ClientAliveInterval (ทดสอบบนไคลเอ็นต์และเซิร์ฟเวอร์)
  • การ Ping อุปกรณ์นั้นรวดเร็วเสมอ (น้อยกว่า 1 ms) ดังนั้นจึงเป็น SSH เท่านั้น
  • นอกจากนี้ยังล่าช้าเมื่อฉัน ssh จากระบบย่อย linux บน Windows 10 และด้วย Putty และ MobaXterm
  • ไม่มีปัญหาเมื่อฉันเชื่อมต่อจาก Linux แทน Windows

ใครบ้างมีเบาะแสหรือสิ่งที่ฉันสามารถลอง? ขอบคุณ

คำตอบ:


15

โดยทั่วไปนี่เป็นสัญญาณของอัลกอริทึมของ Nagleคุณสามารถปิดตัวเลือกซ็อกเก็ตนั้นได้

(ฉันเคยเห็นการหน่วงเวลา TCP ที่คล้ายคลึงกันระหว่าง Linux และ Windows มาก่อนในกรณีอื่นเช่นกันในกรณีหนึ่งก็เกิดจากการโต้ตอบระหว่างขนาด TCP Windows และการตั้งค่าสถานะ PSH (Push) ซึ่งทำให้ Windows รับทราบช้าและ / หรือลองใหม่)


ยอดเยี่ยมขอบคุณสำหรับการแก้ไขด่วน! ในการตั้งค่า Putty ฉันไม่เลือกช่องทำเครื่องหมาย "ปิดการใช้งานอัลกอริทึมของ Nagle" (ซึ่งดูเหมือนว่าจะมีการทำเครื่องหมายโดยค่าเริ่มต้น) และตอนนี้ก็ใช้งานได้!
คริสเตียน

@ คริสเตียนขอบคุณสำหรับการยืนยันฉันทำให้คำตอบของฉันง่ายขึ้นเล็กน้อย
eckes

@ คริสเตียนฉันสับสน คุณเปิดใช้งาน algortihm ของ Nagle และตอนนี้ตัวละครไม่ได้มาในแพ็กเก็ตที่ใหญ่กว่านี้หรือไม่? ดูเหมือนจะผิดกับฉันดังนั้นบางทีคำตอบก่อนการแก้ไขก็ดีกว่าจริง ๆ
Carsten S

@CarstenS ใช่ฉันไม่ได้ยกเลิก "ปิดการใช้งานของอัลกอริทึม Nagle" ในความหมายของสีโป๊วฉันเปิดใช้งานมัน แต่ผมคิดว่ามันเป็นรุ่นเก่าสีโป๊วดังนั้นบางทีฉลากบนช่องที่ไม่ถูกต้อง
คริสเตียน

อืมแปลกจริงๆ
eckes
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.