스위치가 자체 게이트웨이를 ping하지 못하는 이유는 무엇입니까?
네트워크 엔지니어는 모두 라우팅 문제를 확인하는 효과적인 방법인 Ping을 사용합니다. 하지만 종종 엔지니어들이 불평하는 것을 듣습니다. 불가능합니다. 어떻게 작동하지 않을 수 있습니까?
이러한 혼란은 일반적으로 라우팅 설정이 정확하다고 생각할 때 발생합니다. 저자가 직면한 몇 가지 문제는 다음과 같습니다. 누구나 추가할 수 있습니다.
세 가지 가장 간단한 상황:
1. 너무 참을성이 없습니다. 즉, 스패닝 트리 수렴 시간을 무시하고 네트워크 케이블이 스위치에 연결되자마자 게이트웨이에 ping을 시도하는 것입니다. 물론 최신 스위치에서는 신속한 스패닝 트리를 지원하거나 일부 관리자는 사용자 포트(액세스 포트)에서 스패닝 트리 프로토콜을 끄기만 하면 문제가 해결됩니다.
2. 접근 제어. 중간에 아무리 많은 홉이 걸쳐 있더라도 ICMP를 필터링하는 노드(끝 노드 포함)가 있는 한 Ping이 실패하는 것은 정상입니다. 가장 일반적인 것은 방화벽의 동작입니다.
3. 일부 라우터 포트는 사용자의 Ping을 허용하지 않습니다.
저도 그런 상황에 직면했는데, 그게 더 미묘한 것 같아요.
1. 기기 간 네트워크 지연이 너무 크기 때문에 기본 시간(2초) 내에 ICM Echo 메시지를 수신할 수 없습니다. 지연에는 회선(상하 위성의 경우 위성 네트워크 지연이 540밀리초), 라우터 처리 지연, 불합리한 라우팅 설계로 인한 로터리 경로 등 여러 가지 이유가 있습니다. 확장된 핑을 사용하고 시간 초과 시간을 늘리십시오. 핑이 성공하면 라우팅 지연이 너무 높은 것입니다.
2. NAT가 도입되면 단방향 ping이 발생합니다. NAT는 내부 주소를 숨길 수 있으며, 외부에서 내부 호스트로 ping을 하면 NAT 테이블에 매핑 관계가 존재하므로 ping에 성공할 수 있습니다. 국경 라우터.
3. 다중 경로 로드 밸런싱 시나리오. 예를 들어, 원격 대상 호스트에 대해 ping을 수행하면 성공적인 응답과 시간 초과가 교대로 나타납니다. 게이트웨이 라우터에 대상 네트워크 세그먼트로 가는 경로가 두 개 있지만 두 경로의 가중치가 동일한 것으로 나타났습니다. 하나의 경로로.
4. IP 주소 할당은 연속적이지 않습니다. 주소 계획 문제는 네트워크에 지뢰를 설치하는 것과 같습니다. 주소가 겹치거나 불연속적인 마스크 분할이 있으면 핑 중에 문제가 발생할 수 있습니다. 예를 들어 극단적인 경우 두 호스트 A와 B가 다중 홉으로 연결되어 A가 B의 게이트웨이에 ping을 할 수 있고 B의 게이트웨이는 올바르게 설정되었지만 A와 B는 ping을 할 수 없습니다. 조사 결과 B의 네트워크 카드에 두 번째 주소가 있는 것으로 밝혀졌으며 이 주소는 A가 위치한 네트워크 세그먼트와 중복됩니다.
5. 소스 주소의 확장 Ping을 지정합니다. 라우터에 로그인하고 원격 호스트에 ping을 보냅니다. ICMP echorequest가 직렬 WAN 인터페이스에서 전송되면 라우터는 IP 주소를 소스 IP로 지정합니다. 이 IP 주소는 이 인터페이스의 IP가 아닐 수도 있습니다. IP 주소가 전혀 없습니다. 특정 다운스트림 라우터에 이 IP 네트워크 세그먼트에 대한 경로가 없어 ping이 실패할 수 있습니다. 확장 Ping을 사용하여 소스 IP 주소를 지정할 수 있습니다.
호스트 게이트웨이 및 중간 라우팅 구성이 올바른 것으로 간주되는 경우에도 Ping 문제가 발생하는 경우가 많습니다. 이때 "불가능"이라는 단어는 잊어버리고 Ping의 확장 매개변수와 피드백 정보, 경로 추적, 라우터 디버그, 포트 미러링, 스니퍼 및 기타 분석 도구를 결합해야 합니다.
예를 들어 두 호스트 A와 B가 멀티홉 라우터를 통해 연결되고 게이트웨이 설정이 올바른 경우 B는 A에서 ping을 수행할 수 있지만 A는 B에서 ping을 수행할 수 없습니다. 스위치에서 미러링을 수행하고 스니퍼를 사용하여 패킷을 캡처하여 ICMP 메시지가 끝나는 위치와 메시지 내용이 무엇인지 알아낼 수 있습니다. 그러면 ICMP 메시지의 소스 IP 주소가 예상한 것과 다르다는 것을 알 수 있습니다. 이때 문제는 라우터의 NAT 기능으로 인한 것일 수 있으므로 간과된 몇 가지 문제를 점차적으로 발견할 수 있습니다. Ping 실패 시 피드백 정보가 "destination_net_unreachable"인지 "timedout"인지에도 차이가 있습니다.