SSH 터널을 사용하여 인터넷에서 깜박임을 확인할 수 있습니까?


0

그래서 직장에서 기본적으로 한 번에 몇 초 만에 인터넷 연결이 끊어집니다. SSH 터널을 죽이고 VoIP 전화를 끊을만큼 충분합니다. cronjob을 내 자신의 대본 (1 분 이상 지속되는) 주요 정전을 감지 할 수는 있지만,이 초의 정전을 감지 할 수는 없습니다.

대개의 경우 SSH 터널이 서버 중 하나에 연결되어 있습니다. 이 연결은 하루 종일 지속되므로 같은 서버에 다른 연결을 만들고 서버 연결이 끊어지면 로그를 작성한 다음 추가 로깅을 위해 연결을 다시 설정하는 스크립트를 작성하려고합니다. 기본 bash로 가능합니까?


매우 짧은 간격으로 중단하면 SSH 세션이 중단되는 것은 매우 드문 경우입니다. 나는 클라이언트와 서버 사이의 중간 라우터를 재부팅 한 후에도 살아남은 SSH 세션을 가졌다. 문제를 올바르게 진단 했습니까? 당신이해야 할 일은 실제 모니터링 시스템을 설치하는 것입니다. 바퀴를 다시 발명하려고 시도하는 대신 Smokeping, Nagios 등과 같은 것.
Zoredache

이전에 우리는 한 번에 5-15 분 동안 인터넷을 잃고있었습니다. 실제로 지난 금요일 가장 큰 다운 타임은 23 분이었습니다. 그러나, 그 주 전에 우리는 긴 정전을 얻지 못했습니다. 나는 "Broken pipe"를 얻었고 다른 동료는 Skype와의 연결이 끊어 지거나 이메일을 보낼 수 없으며 몇 초 동안 웹 페이지가로드되지 않습니다.
NobleUplift

답변:


1

ssh 세션에 대한 연결 손실을 막는 여러 가지 방법이 있습니다.

먼저, ServerAliveInterval, ClientAliveInterval 및 ClientAliveCountMax 옵션을 설정할 수 있습니다. ServerAliveInterval은 연결을 유지하기 위해 클라이언트에 null 패킷을 보내기 전에 클라이언트가 대기하는 시간 (초)입니다. 값은 60입니다. ClientAliveInterval은 서버가 null 패킷을 클라이언트에 보내기 전에 서버가 대기하는 시간 (초)입니다. 마지막으로 ClientAliveCountMax는 연결이 끊기기 전에 클라이언트가 silnet 상태를 유지할 수있는 ClientAliveInterval의 수입니다. 기본값은 3입니다. 이는 ClientAliveInterval 시간 경과의 3 배를 의미합니다.

또는 모쉬 , 모바일 쉘, 어떤 ...

간헐적 인 연결을 지원하며 지능적인 로컬 에코 및 사용자 키 스트로크의 라인 편집을 제공합니다. Mosh는 SSH를 대체합니다. Mosh는 GNU / Linux, FreeBSD, Solaris, Mac OS X 및 Android에서 사용 가능한 무료 소프트웨어입니다. Wi-Fi, 셀룰러 및 장거리 링크를 통해 더욱 강력하고 반응이 좋습니다.

그런 다음 오토 슈 ssh 대신 :

autossh - SSH 세션과 터널을 자동으로 다시 시작합니다.

당신이가는 길은 주로 취향에 따라 다릅니다. 나에 관해서는, 나는 오토 슈 내가 영구적으로 유지하고자하는 터널, 특히 역 터널을위한 것. 나는 사용한다 모쉬 비행기 나 차에서 실험실로 들어갈 때처럼 참으로 비참한 연결을 위해. 다른 모든 경우에는 현명한 선택 openssh에 대한 위의 매개 변수 중 하나는 다음과 같습니다. 예를 들어, .ssh / config 파일에 다음 행이 있습니다.

 Host * 
    ServerAliveInterval 60
    IdentitiesOnly yes

마찬가지로 서버의 경우 파일에서 / etc / sshd_config .

그런데 오래전부터 연결 상태를 모니터링하려면 mtr (= My TraceRoute), traceroute와 ping의 똑똑한 조합으로 주어진 사이트에 아주 많은 초 (기본값 = 1 초)마다 traceroute를 수행하고 성공적인 ping 통계를 부드럽게 업데이트하여 적어도 가동 시간의 평균은 차지하지만 그 분포는 그렇지 않습니다.


시간에 관해서 나는 이것을 대답했다. 해결책은 Comcast에서 AT & amp; T로 ISP를 전환하는 것이 었습니다. 그러나 이것들은 제가 일하고있을 때 좋은 제안이었습니다.
NobleUplift

0

결국 필자는 필자 스크립트를 약간 수정하여 본질적으로 지속적으로 실행되고 끊어진 연결을 찾는 대신 연결이 끊어지면 로깅을 시작합니다.

https://github.com/NobleUplift/NetCheck

하지만 실제로 ISP를 전환해야했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.