Mamy serwer SFTP, który działał dobrze, dopóki nie dodaliśmy kolejnego usługodawcy internetowego. Połączenie z serwerem SFTP nie przechodzi przez nowego ISP, potwierdziłem to za pomocą tracert
. Nie wprowadzono również żadnych zmian na serwerze. Ale od tego czasu połączenia SFTP lub SSH niektórych użytkowników przekraczają limit czasu / zawieszają się, jeśli wykonane polecenie ma większy zwrot. Oto scenariusz:
- Mogę nadal pingować, a ping zawsze powróci, nawet gdy upłynie limit czasu SSH / SFTP
- Mogę połączyć się z serwerem, prosi o uwierzytelnienie i pozwala mi się zalogować.
- Jeśli
ls
polecenie dla mojego katalogu głównego zwraca niewielką liczbę plików lub folderów, wyświetla listę plików i folderów - Jeśli
ls
polecenie dla mojego katalogu głównego jest większe niż powiedzmy 5 lub 6 plików lub folderów, oznacza to, że zawieszenie / przekroczenie limitu czasu. - Próbując tego, próbowałem uruchomić polecenie ping na serwer i cały czas ono wraca.
Nie zdarza się to każdemu, ale wydaje się, że zdarza się użytkownikom znajdującym się w innym mieście.
Próbowałem różnych klientów SFTP (FileZilla i WinSCP). Oba mają ten sam problem.
Uruchomiłem WireShark na moim komputerze (który znajduje się poza naszą siecią i poza miastem), gdy upłynie limit czasu SFTP / SSH, widzę retransmisję i nadchodzi część niezarejestrowanych błędów segmentu, co prowadzi mnie do wniosku, że może być jakiś pakiet strata gdzieś między chmielem.
Expert Info (Note/Sequence): Retransmission (suspected)
Previous segment not captured (common at capture start)
Czy SFTP / SSH jest wrażliwy na utratę pakietów? Czy SSH / SFTP nie retransmituje / nie potwierdza, aby uniknąć błędów utraty pakietów? Czy jest coś w ustawieniach serwera, które mogę dostosować, aby to działało?
źródło
Odpowiedzi:
Krótka odpowiedź :
Prawdopodobnie masz problem z MTU / fragmentacją. Spróbuj ustawić MTU na 576 dla interfejsu sieciowego na kliencie, np
ifconfig eth0 mtu 576
.źródło
Zastanawiam się, czy problem jest połączeniem problemów z routingiem asymetrycznym i MTU. To, co opisujesz, brzmi jak problem MTU.
Możesz być w stanie przetestować / naprawić to poprzez zablokowanie MTU - zobacz tutaj, aby znaleźć odpowiednie hacki.
źródło