DNS 프로토콜 "Pinging" 사용

DNS 프로토콜 "Pinging" 사용

조회 요청을 보내는 것 외에도 DNS 서버에 대한 네트워크 연결이 제대로 작동하고 서버가 최소한으로 응답하는지 확인하는 "좋은 사례"가 있습니까? Nagios 코드를 예로 들면, "서버가 괜찮습니까?"가 아니라 "이 이름이 해결됩니까?"에 맞춰져 있는 것 같습니다.

빈 쿼리를 시도했지만 무시되는 것 같습니다. 서버 상태를 요청해 보았는데 일부 응답(보통 "구현되지 않음")이 있는 반면 다른 일부는 요청을 무시합니다. 나는 핑을 무시하고 기능 등을 망쳐 추가적인 문제를 일으키는 많은 서버 시스템을 보아왔기 때문에 핑에 의존하는 것보다 더 나은 것을 선호합니다.

현재로서는 일관되게 신뢰할 수 있는 유일한 해결책은 서버가 이를 캐시하여 응답하는 데 최소한의 노력이 필요하다고 가정하고 google.com과 같은 것을 찾는 것이라고 생각합니다. 몇 분마다 이 작업을 수행해야 하기 때문에 생각할 필요가 없습니다. 주인을 불쾌하게 합니다.

답변1

RFC 6303기본적으로 모든 DNS 서버가 응답할 수 있어야 하는 여러 DNS 영역이 나열되어 있으며, 기본적으로 이러한 쿼리가 DNS 계층 구조의 루트에 불필요하게 전파되는 것을 방지합니다(이 영역이 로컬 목적으로 사용되지 않는 경우).

이들 중 가장 오래되고 가장 유명한 것은 루프백 네트워크의 역방향 영역, 특히 1.0.0.127.in-addr.arpa.IPv4 주소 127.0.0.1(FQDN)에 대한 PTR 레코드입니다. 기본적으로 모든 DNS 서버~해야 한다이 기능은 다른 DNS 서버에 쿼리하지 않고 제공됩니다.

따라서 dig -x 127.0.0.1 @dns-server-address기술적으로는 특정 레코드에 대한 쿼리이지만 실제로는 하나의 레코드이기 때문에 "서버가 작동 중입니까?" 테스트에 적합합니다.모든DNS 서버는 최소한의 노력으로 다른 DNS 서버에 접속하지 않고도 문제를 해결할 수 있어야 합니다.

이름에 대한 쿼리는 localhost.실제로 마찬가지로 작동해야 합니다. 사용 중인 도구가 잠재적으로 로컬 도메인에 접미사를 추가하는 것을 방지하려면 쿼리하는 이름이 정규화된 이름임을 나타내기 위해 끝에 마침표를 명시적으로 포함해야 합니다. 편향된 결과를 초래할 수 있는 이름입니다.

관련 정보