Ping은 한 방향으로만 작동합니다.

Ping은 한 방향으로만 작동합니다.

머신 A, B, C로 구성된 centos 7을 실행하는 소규모 클러스터가 있습니다. 이들은 모두 동일한 LAN에 연결된 별도의 물리적 머신입니다.

머신 A는 B와 C를 핑할 수 있습니다. 머신 B는 A와 C를 핑할 수 있습니다. 그러나 머신 C는 머신 A만 핑할 수 있습니다.

내 문제는 컴퓨터 C가 컴퓨터 B를 핑할 수 없다는 것입니다. 대상 호스트에 연결할 수 없다고 표시됩니다.

모든 시스템에서 네트워크 스위치 변경, 이더넷 변경, 방화벽 및 SELinux 비활성화를 시도했지만 여전히 문제가 지속됩니다. 또한 IP 주소와 /etc/hosts 파일이 모두 일치하는지 확인했습니다.

이 문제의 원인을 진단하는 데 도움이 될 수 있는 방법이 무엇인지 궁금합니다.

감사합니다 !

답변1

시스템 이름이나 IP 주소로 핑을 보내고 있습니까? 아니면 두 가지 방법 모두 동일합니까?

라우팅(다중 NIC)을 수행하는 머신이 있습니까?

나는 그들이 동일한 LAN에 있다고 말할 때 각 컴퓨터가단 하나뿐인동일한 스위치에 네트워크 카드가 연결되어 있고 그 사이에 라우터가 없는지 확인하십시오. 또한 동일한 논리 IP 서브넷에 있다고 가정합니다. 이것이 잘못된 경우 질문에 자세한 내용을 알려주십시오. 나는 이러한 가정이 100% 정확하지 않다고 믿을 만한 이유가 있습니다.

시도해 볼 사항:

  • 먼저 IP 주소로 핑을 해보세요. 이렇게 하면 이름 확인 문제가 배제됩니다. 이것이 성공하면 아마도 이름 확인 문제가 있는 것입니다(예: 호스트 파일에 동의하지 않는 DNS 서버).
  • 각 시스템에서 인터페이스의 서브넷 마스크를 확인하십시오. 일치하지 않는 경우 일부 상황에서 이런 일이 발생할 수 있습니다.
  • 여러 게이트웨이를 확인하세요. 머신 C에는 둘 이상이 정의되어 있을 수 있습니다. 동일한 IP 서브넷에 있는 경우 이는 문제가 되지 않습니다. 메시지대상 호스트에 연결할 수 없습니다.이는 ping하려는 주소를 알고 있지만 정의된 경로로는 해당 주소에 도달할 수 없는 것 같습니다.

일반적으로 Linux에서 수행되는 각 시스템에 대한 라우팅 테이블을 제공할 수 있다면 도움이 될 것입니다 route -n.

답변2

"대상 호스트에 연결할 수 없습니다"라고 말할 때 이를 보고하는 장치의 IP 주소는 무엇입니까? 내 말은, ping 출력에서 ​​다음과 같은 결과를 얻는다는 것입니다.

xxxx icmp_seq=2에서 대상 호스트에 연결할 수 없음

그렇다면 해당 출력에서 ​​xxxx는 무엇입니까? 아마도 C 자신의 IP 주소일 수도 있지만 확인해 볼 가치가 있습니다.

C의 자체 주소인 경우 이는 일반적으로 ARP 테이블에 B가 없고 ARP 요청에 대한 응답을 받지 못하고 있음을 의미합니다. 확인하려면 "arp -a" 출력을 확인하세요(ping이 실행 중인 동안 또는 ping을 중지한 직후). B의 IP 주소와 해당 MAC 주소가 포함된 줄, B의 IP 주소와 " 불완전하다' 또는 B의 IP에 전혀 줄이 없습니까?

또한 도움이 될 수 있는 것은 ping을 실행할 때 네트워크에서 실제로 무슨 일이 일어나고 있는지 확인하기 위해 tcpdump 또는 Wireshark를 사용하여 패킷 캡처를 실행하는 것입니다. B와 C에서 동시에 2개의 캡처를 얻는 것이 훨씬 더 유용할 수 있습니다.

관련 정보