라우터에 대한 SSH 터널이 주기적으로 중단됩니다. TCP 문제?

라우터에 대한 SSH 터널이 주기적으로 중단됩니다. TCP 문제?

내 사무실 라우터를 Buffalo WZR-HP-G300NH로 업그레이드한 이후 이상한 점을 발견했습니다. SSH 터널을 사용하여 원격으로 연결할 때 터널이 종종 "정지"됩니다. 각 정지는 1~2분 동안 지속되며 그 후에는 차단된 모든 트래픽이 따라잡습니다. VNC를 사용하고 몇 분마다 세션을 일시 중지하는 것은 매우 성가신 일입니다.

내 로컬 컴퓨터에서 다음 명령을 사용합니다.

ssh -D 9000 [email protected] 

다른 SSH 세션을 열 수 있었고 모든 것이 괜찮았기 때문에 라우터 전체가 정지되지 않았다는 것을 알고 있습니다. 라우터도 정지될 때까지 말이죠. 고정 세션은 서로 독립적입니다. 둘 다 주기적으로 정지되지만 동시에 정지되지는 않습니다.

두 세션 모두에서 핑을 시작할 수 있으며 둘 다 몇 번 정지되더라도 단일 패킷이 손실되거나 지연이 표시되지 않습니다.

VNC 포트를 원격 시스템에 직접 전달하면 문제가 개선되어 SSH보다 TCP 문제일 가능성이 더 높다고 생각됩니다. 그러나 나는 아무것도 배제하지 않습니다.

몇 주 전에 철회된 버전을 포함하여 펌웨어를 최신 dd-wrt로 업그레이드했음에도 불구하고 이 동작이 지속됩니다.

드롭베어 문제인가요? 아니면 MTU를 사용하나요? 서비스 품질?

답변1

두 가지 추측:

  1. 패킷 손실. 어떤 이유로든 패킷 손실은 해당 TCP 흐름에만 영향을 미칠 수 있으므로 병렬로 실행하는 "핑"을 신뢰하지 마십시오. 이를 감지하는 쉬운 방법은 $ netstat -s -p|grep "segments retransmited"SSH 세션 중에 양쪽(ssh 클라이언트와 서버)에서 자주 실행하는 것입니다. 카운터가 증가하는지 확인하십시오. 이 경우 해당 컴퓨터의 TCP 세션에서 패킷 손실이 발생합니다. 즉, 가장 좋은 접근 방식은 다음을 사용하는 것입니다.tcpdump 또는 와이어샤크무슨 일이 일어나고 있는지 기록하고 재전송이 발생하는지 확인합니다(wireshark는 일반적으로 빨간색으로 표시하지만 YMMV).

  2. MTU 문제. 예를 들어, SSH를 통해 큰 디렉터리의 내용을 나열하려는 경우 전송된 데이터의 양으로 인해 조각화해야 하는 상황이 있을 수 있습니다. 엔드포인트는 다음을 사용합니다.경로 MTU 감지한 번에 전송되는 데이터의 양을 결정합니다. 그러나 어떤 경우에는경로의 방화벽이 모든 ICMP 패킷을 차단할 수 있습니다.따라서 경로 MTU 감지가 중단되어 명백한 정지 현상이 발생합니다. 이는 확인 및 진단이 어려울 수 있습니다. 항상 작동하는 가장 간단한 해결책은 양쪽 네트워크 인터페이스의 MTU를 더 낮은 값(예: 1200 또는 1000)으로 변경하는 것입니다. 이로 인해 성능이 저하될 수 있으므로 이 방법을 영원히 사용하지 않는 것이 좋습니다.

답변2

VNC 포트만 전달해 보셨나요(5900이 무엇인가요?)

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

그런 다음 VNC 클라이언트를 사용할 때 127.0.0.1을 사용하면 됩니다.

관련 정보