Ping으로 서버에 접근할 수 없는 이유를 진단할 때 적용하는 기술은 무엇인가요?

Ping으로 서버에 접근할 수 없는 이유를 진단할 때 적용하는 기술은 무엇인가요?

직장에서는 종종 서버가 살아 있는지 확인하기 위해 서버에 ping을 보내야 합니다. 때때로 호스트(이름?)를 찾을 수 없다는 메시지나 응답이 없는 기타 오류가 표시됩니다.

이러한 문제의 원인을 진단하기 위한 기술은 무엇입니까? 먼저 대상 머신을 살펴봐야 합니까? 아니면 내 컴퓨터와 방화벽이요? ping을 보내는 컴퓨터가 서로 다른 도메인에 있는지 여부가 중요합니까? (따라야 할 방화벽 설정이 있는 경우에만 '예'라고 가정합니다.)

감사해요

답변1

핑 실패는 다음 중 하나를 의미합니다.

  1. ping 요청이 대상 호스트에 도달하지 않습니다.
  2. 요청을 보낸 호스트에 ping 응답이 전달되지 않습니다.

이러한 일이 발생하는 데는 여러 가지 이유가 있으며, 이러한 이유 중 대부분은 물리적 문제 또는 소프트웨어 문제로 나눌 수 있습니다.

디버깅할 때 전송 경로의 물리적 구성 요소, 즉 NIC, 네트워크 케이블 및 중간 장치부터 시작합니다.

신체검사

  1. 네트워크 케이블은 두 호스트를 연결합니다. 두 호스트가 케이블로 직접 연결되어 있지 않은 경우 송신 및 수신 NIC가 올바른 라우터 및/또는 스위치 포트에 연결되어 있는지 확인하십시오. 트래픽을 다르게 라우팅하도록 구성할 수 있기 때문입니다.

소프트웨어 점검

  1. 각 시스템의 NIC가 운영 체제에서 인식되는지 확인하십시오. [1]
  2. 두 컴퓨터 모두 유효한 IP 주소, 서브넷 마스크, 게이트웨이 및 이름 서버 구성을 가지고 있는지 확인하세요. [2]
  3. 송신 및 수신 호스트에 유효한 MAC 주소가 있는지 확인하십시오(예, 이전에 이 문제가 발생한 적이 있습니다) [3]
  4. 송신 및 수신 호스트의 게이트웨이에 대한 올바른 ARP 캐시 정보가 있는지 확인하십시오. [4]
  5. 송신 호스트가 수신 호스트에 대한 ARP 캐시 항목을 가지거나 그 반대의 가능성이 있습니다. 해당 항목이 있는 경우 IP 주소가 올바른 MAC 주소에 매핑되는지 확인하여 해당 항목이 올바른지 확인하십시오. 불일치가 있는 경우 ARP 캐시에서 해당 항목을 제거합니다.
  6. ping 패킷(ICMP 에코 요청 및 ICMP 에코 응답)이 로컬 소프트웨어 방화벽의 필터 또는 송신 호스트와 수신 호스트 사이의 장치에서 실행되는 필터에 의해 차단되지 않는지 확인하십시오.
  7. 호스트 이름을 사용하여 수신 호스트를 식별하는 경우 IP 주소를 직접 사용해 보십시오. 이렇게 하면 이름 확인 프로세스에서 발생하는 문제가 제거됩니다.

문제 해결 시 ping 명령에서 반환된 오류 메시지도 고려해야 합니다. 일반적으로 표시되는 오류 메시지는 다음과 같습니다.

Request Timed Out

이는 제한 시간 내에 응답이 수신되지 않았음을 나타내는 매우 일반적인 메시지입니다. 이는 워크로드 및 시간 제약으로 인해 또는 위에서 설명한 연결 또는 라우팅 문제로 인해 호스트가 응답할 수 없기 때문에 발생할 수 있습니다.

Reply from {host}: Destination network unreachable

종종 {host}로컬 시스템이나 시스템 게이트웨이의 NIC가 됩니다. 메시지는 호스트 {host}와 수신 호스트 사이의 경로를 찾을 수 없다는 의미입니다(여기서는 틀렸을 수도 있습니다).

이는 ping이 실패할 수 있는 이유를 모두 나열한 목록은 아니지만 많은 일반적인 문제를 다룹니다. 다음에 네트워크가 중단될 때 누군가에게 도움이 되기를 바랍니다.

아래 각주는 제가 경험한 Windows NT 기반 시스템에 적용됩니다.

[1] 장치 관리자의 알 수 없는 장치 노드 아래에 네트워크 컨트롤러 항목이 있는지 확인하여 운영 체제에 네트워크 카드에 대한 유효한 드라이버가 있는지 확인할 수 있습니다. 해당 드라이버가 있는 경우 카드와 호환되는 드라이버를 찾아야 합니다.

카드가 목록에 있다고 가정하고 카드의 네트워크 어댑터 노드 아래를 확인하세요. 해당 카드를 두 번 클릭하고 장치 상태 아래에 나열된 알려진 오류가 있는지 확인하세요.

[2] TCP/IP 구성 대화 상자는 Vista/Win 7에서 네트워크 및 공유 센터 열기 -> 어댑터 설정 변경(왼쪽 창) -> 관심 있는 어댑터를 마우스 오른쪽 버튼으로 클릭하고 속성(상승 필요)을 선택하여 액세스할 수 있습니다. 그런 다음 사용하는 항목에 따라 TCP/IP 프로토콜 버전 4 또는 6(대부분 v4)을 두 번 클릭합니다.

[3] ipconfig /all명령을 실행하면 MAC 주소와 IP 주소, 서브넷 마스크, 게이트웨이 및 네임서버가 표시됩니다. MAC 주소는 출력에서 ​​물리적 주소로 표시됩니다.

[4] 이 ARP -a명령은 호스트의 현재 ARP 테이블을 표시합니다.

답변2

이전에 추가하기 만하면됩니다.답변:

호스트 이름을 찾을 수 없음: 이는 라우팅 문제가 아닌 DNS 문제를 가리키므로 DNS 서버를 확인해야 하며 핑을 보내는 장치와의 관계를 확인해야 합니다.

핑이 얼마나 멀리까지 가는지 추적하려면 ping 대신 Tracert를 사용하여 경로가 실패하기 전에 어떤 장치에 도달하고 있는지 확인하세요. (이 방법은 다른 장치가 시작 장치와 동일한 서브넷에 없는 경우에만 도움이 됩니다.)

답변3

때때로 핑이 수신되지만 다른 경우에는 발생하지 않고 이를 증명하거나 포착할 수 없는 경우... 네트워킹 문제를 식별하는 데 도움이 되는 몇 가지 도구는 다음과 같습니다.

윈도우: http://www.pingplotter.com/freeware.html 경로 지정

리눅스: http://en.wikipedia.org/wiki/MTR_%28software%29

이러한 도구를 사용하면 5번째 홉이 문제가 발생하는 곳임을 알 수 있고 해당 홉만 문제를 해결할 수 있습니다.

때로는 네트워크 전체에서 어떤 장치가 느린 응답을 유발하는지 찾아야 하는데 단일 핑 중에는 해당 장치를 찾을 수 없는 것 같습니다. 이러한 도구는 "점수"를 유지하고 그래프를 표시하여 일련의 핑을 통해 이를 식별하는 데 도움이 됩니다.

핑의 우선순위가 낮은 경우도 있으므로 핑이 느리다고 해서 항상 네트워크 불량을 의미하는 것은 아닙니다.

위의 훌륭하고 철저한 답변 외에도 NIC가 적절한 링크 속도를 사용하고 있는지 확인하십시오.

Windows에서는 네트워킹 속성에서 GUI를 살펴볼 수 있고 Linux에서는 "ethtool"을 사용할 수 있습니다. 라우터/스위치 양쪽의 호스트가 10MB 및 반이중으로 설정되어 있지만 라우터/스위치가 100MB 전이중으로 설정된 경우 이상한 오류가 발생합니다(예:). 이는 기존 시스템보다 새로운 설정에서 더 일반적입니다.

netstat를 사용하면 다음 오류 중 일부를 볼 수 있습니다.

netstat -S

또는 당신이 괴짜라면 지속적으로 모니터링하여:

for /L %i in (0,0,0) do @cls && netstat -S|find /I "오류" && @ping -n 1 -w 2000 224.0.0.0 >NUL && @cls

오류가 있는 경우에는 큰 문제가 아니지만 초 단위로 오류가 점점 더 많이 발생하는 경우 하드웨어/케이블 연결/속도/이중 문제일 가능성이 높습니다.

답변4

ping이 작동하지 않으면 다음과 같이 하십시오.

  • 이름이 올바른 IP로 확인되는지 확인하십시오. 종종 서버가 아닌 동료의 랩톱 등에서 문제가 되는 경우가 있습니다.
  • IP가 정확하다고 확신하면 Tracert를 사용하여 얼마나 멀리 가는지 확인합니다.
  • 핑하려는 서버가 ICMP 메시지에 반응하는지 확실하지 않은 경우에는 텔넷을 사용하여 서버의 포트를 열고 그것이 나에게 알려주는 내용을 확인합니다.
  • 동료가 자신의 PC에서 서버에 접속할 수 있는지 확인합니다.

관련 정보