Arch-Linux 연결이 자주 종료됩니다.

Arch-Linux 연결이 자주 종료됩니다.

저는 서버로 사용하는 아치 리눅스 시스템을 가지고 있습니다. 연결을 시도합니다SSH그리고삼바다른 Windows 7 컴퓨터에서.
그러나 연결이 끊어지는 현상이 자주 발생합니다.SSH(예: 퍼티 또는 키티) 예:

서버가 예기치 않게 네트워크 연결을 종료했습니다.

보통 처음 연결을 시도할 때

네트워크 오류: 소프트웨어로 인해 연결이 중단되었습니다.

컴퓨터에 연결한 후 다시 연결을 끊는 데 걸리는 시간은 매우 무작위입니다. 때로는 몇 초, 때로는 한 시간 이상이 소요될 수도 있습니다.
내가 사용할 때삼바, 중단하기 전에 몇 기가바이트의 데이터를 복사하는 경우가 많습니다. 다시 작동하기 전에 잠시 동안 삼바 공유를 탐색할 수 없었습니다.SSH그리고삼바항상 동시에 연결을 끊으십시오(둘 다 활성화되어 있다고 가정).

문제가 무엇인지 잘 모르겠습니다.SSH또는삼바아직 연결을 끊을 수 있어요 아니요 ping기계더이상. 컴퓨터 간에 서로 다른 스위치를 사용해 보았지만 역시 도움이 되지 않았습니다. 나는 변화하려고 노력한다MTU/MRU가치 - 성공하지 못했습니다.

TCP 덤프보여주다,TCP 프로토콜핸드셰이크가 성공했지만 Windows 7 클라이언트가 더 이상 응답하지 않습니다.

여기서 무슨 일이 일어나고 있는지 또는 이 동작을 어떻게 디버깅할 수 있는지 아시나요?

답변1

이러한 유형의 문제로 인해 이더넷 카드나 케이블에 문제가 있다고 생각하게 됩니다. 이는 가짜 오류처럼 들리며 종종 이상하거나 분리되어 보이는 오류에 나타납니다.

이러한 유형의 오류가 발생하는 영역 중 하나는 특정 네트워크 장치에서 발생한 오류 수를 확인하는 것입니다. 이러한 개수는 일반적으로 0만큼 낮아야 합니다.

출력을 살펴보십시오 ifconfig.

ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:22:15:91:C1:2D  
          inet6 addr: fe80::222:15ff:fe91:c12d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:242318977 errors:0 dropped:0 overruns:0 frame:0
          TX packets:269864547 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:137822461046 (128.3 GiB)  TX bytes:248317481947 (231.2 GiB)
          Interrupt:233 Base address:0x8000 

우리가 관심을 갖는 것은 다음과 같습니다.

          RX packets:242318977 errors:0 dropped:0 overruns:0 frame:0
          TX packets:269864547 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 

이 특정 서버의 경우 오류 값은 모두 0입니다. 또한 이 동작을 나타내는 다른 컴퓨터에서도 이 값을 확인하겠습니다.

유사한 명령을 실행하면 ipconfigWindows 클라이언트에서도 동일한 유형의 오류가 표시됩니다. 이에 대해서도 확인해 보겠습니다.

또 뭐야?

위와 같이 오류가 발생하고 오류가 발생하지 않더라도 서버를 교체하여 케이블 연결을 전환한 후 문제 해결 프로세스를 거쳐 다음과 같이 문제를 추가로 진단해 보겠습니다.

  1. 서버 및 클라이언트용 이더넷 NIC
  2. 서버와 클라이언트 간 케이블 연결
  3. 변화
  4. 클라이언트 X와 클라이언트 간의 연결이 "양호"한지 확인하십시오.

노트:나는 보통 사용한다iperf이러한 유형의 분석은 네트워크의 다양한 클라이언트 간에 수행됩니다.

위의 모든 작업을 성공적으로 완료했지만 문제를 식별하지 못한 경우에는 스택을 위로 이동하여 ArchLinux 서버의 소프트웨어를 자세히 살펴보기 시작할 것입니다.

답변2

SSH 서버에 접속할 때는 "ssh -v @"를 사용하세요. "-v"는 "자세한 정보"를 의미하며 "서버가 예기치 않게 네트워크 연결을 닫았습니다." 오류가 발생하기 전에 정확히 무슨 일이 일어났는지 확인할 수 있습니다.

추신: Windows가 아닌 다른 Linux 시스템에서 위 명령을 시도해 보십시오.

관련 정보