“Hacer ping” usando el protocolo DNS

Aug 19 2020

¿Existe una "buena práctica" aceptada para verificar que la conexión de red a un servidor DNS esté operativa y que el servidor responda mínimamente, además de emitir una solicitud de búsqueda? Mirando el código de Nagios como un ejemplo particular, noto que parece estar orientado hacia "¿resuelve este nombre?" en lugar de "¿está bien el servidor?".

Intenté una consulta nula pero parece ser ignorada. Intenté solicitar el estado del servidor y mientras algunos responden (generalmente con "no implementado"), otros ignoran la solicitud. Preferiría algo mejor que confiar en el ping, ya que he visto muchos sistemas de servidor que ignoran los ping, y debido a la molestia adicional de jugar con las capacidades, etc.

En la actualidad, sospecho que la única solución consistentemente confiable sería buscar algo como google.com, suponiendo que el servidor tendrá esto en caché y gastará un mínimo esfuerzo en responder: dado que necesito hacer esto cada pocos minutos, no lo hago. quiere molestar a su dueño.

Respuestas

2 telcoM Aug 19 2020 at 16:01

RFC 6303 enumera una serie de zonas DNS que esencialmente todos los servidores DNS deberían poder responder, básicamente para evitar que esas consultas se propaguen innecesariamente hacia la raíz de la jerarquía DNS, si esas zonas no se usan para ningún propósito local.

La más antigua y conocida de ellas es la zona inversa para la red de bucle invertido y, en particular, el registro PTR para la dirección IPv4 127.0.0.1 (es decir, el FQDN 1.0.0.127.in-addr.arpa.). Básicamente, cada servidor DNS debería poder proporcionar eso sin consultar a ningún otro servidor DNS.

Entonces, aunque dig -x 127.0.0.1 @dns-server-addresstécnicamente es una consulta para un registro en particular, efectivamente es aplicable como "¿está bien el servidor?" prueba, ya que ese es un registro que todo servidor DNS debería poder resolver con un esfuerzo mínimo y sin contactar a ningún otro servidor DNS.

La consulta del nombre localhost.debería ser prácticamente igual de buena, solo tenga en cuenta que debe incluir explícitamente el punto al final para indicar que el nombre que está consultando ya está completamente calificado, para evitar que la herramienta que está utilizando posiblemente agregue su sufijo de dominio local que podría sesgar los resultados.