DNS 프로토콜을 사용하는 "핑"
DNS 서버에 대한 네트워크 연결이 작동하고 서버가 조회 요청을 발행하는 것 외에 최소한으로 응답하는지 확인하는 "좋은 방법"이 있습니까? Nagios의 코드를 특정 예제로 보면 "이 이름이 해결됩니까?"를 지향하는 것으로 보입니다. "서버가 정상입니까?"보다.
null 쿼리를 시도했지만 무시되는 것 같습니다. 서버 상태를 요청하려고 시도했지만 일부는 (일반적으로 "구현되지 않음"으로) 응답하는 동안 다른 사용자는 요청을 무시합니다. 핑을 무시하는 서버 시스템을 많이 보았고 기능 등을 어지럽히는 번거 로움 때문에 핑에 의존하는 것보다 더 나은 것을 선호합니다.
현재 저는 서버가 최소한의 노력으로 응답 할 것이라는 가정하에 google.com과 같은 것을 조회하는 것이 유일하게 지속적으로 신뢰할 수있는 솔루션이라고 생각합니다. 몇 분마다이 작업을 수행해야하기 때문에 소유자를 화나게하고 싶습니다.
답변
RFC 6303 은 기본적으로 모든 DNS 서버가 응답 할 수 있어야하는 여러 DNS 영역을 나열합니다. 기본적으로 해당 영역이 로컬 용도로 사용되지 않는 경우 이러한 쿼리가 DNS 계층의 루트로 불필요하게 전파되는 것을 방지합니다.
가장 오래되고 가장 잘 알려진 것은 루프백 네트워크의 역방향 영역이며 특히 IPv4 주소 127.0.0.1 (예 : FQDN 1.0.0.127.in-addr.arpa.
)에 대한 PTR 레코드입니다 . 기본적으로 모든 DNS 서버 는 다른 DNS 서버를 쿼리하지 않고도이를 제공 할 수 있어야합니다.
따라서 dig -x 127.0.0.1 @dns-server-address
기술적으로는 특정 레코드에 대한 쿼리 이지만 "서버가 정상입니까?"로 효과적으로 적용 할 수 있습니다. 모든 DNS 서버는 최소한의 노력으로 다른 DNS 서버에 연결하지 않고도 해결할 수 있어야 하는 레코드이므로 테스트하십시오 .
이름에 대한 쿼리는 localhost.
실제로 유용해야합니다. 쿼리하는 이름이 이미 정규화되었음을 나타 내기 위해 끝에 마침표를 명시 적으로 포함하여 사용중인 도구가 추가되지 않도록해야합니다. 결과를 왜곡 할 수있는 로컬 도메인 접미사.