Ajustar cuánto tiempo tarda Linux en conmutar por error al servidor DNS de respaldo que figura en resolv.conf

15

Actualmente estoy usando la configuración simple de Linux para resolv.conf... algo como:

nameserver 123.123.123.123
nameserver 8.8.8.8

Cuando 123.123.123.123 deja de funcionar, las consultas DNS se vuelven imposibles lentamente, supongo que Linux vuelve a intentar la primera cada vez. ¿Hay alguna manera de hacer que Linux sea más inteligente al respecto? ¿Verificaciones de salud o algo así? ¿O no entiendo cómo resolv.confdebería funcionar?

Adam Terrey
fuente

Respuestas:

18

Además de la increíble respuesta de ewwhite, algunos addendum.

Puedes agregar esto en /etc/resolv.conf

options timeout:1 attempts:1 rotate

Los valores predeterminados son tiempo: 5 intentos: 2

Lo que sucede es que la biblioteca de resolución intentará usar los servidores de nombres enumerados /etc/resolv.confde arriba a abajo si no hay una opción de rotación. Si está presente rotar, entonces realiza una selección de turnos. Si el resolutor va al final de la lista y el servidor no responde dentro de X segundos (teniendo en cuenta que X es el parámetro de tiempo de espera), repetirá todo el proceso de selección round robin nuevamente para Y-1 veces (donde Y es el valor de los intentos).

Sin embargo, un poco de precaución sería evitar cavar y amigos para probar estas opciones resolv.conf. Como evitan la biblioteca de resolución y preguntan directamente a los servidores de nombres. getent hosts es el mejor comando para usar. Tenga en cuenta que cualquier cosa que use el solucionador glibc deberá obedecer el /etc/resolv.confarchivo.

Soham Chakraborty
fuente
12

Esto se describe a través de man resolv.conf.

Pruebe una de las opciones de tiempo de espera para reducir el valor predeterminado de 5 segundos a quizás 1 segundo ...

options timeout:1
nameserver 123.123.123.123
nameserver 8.8.8.8

Pero realmente, DNS tiene tantas capacidades de recuperación disponibles, es posible vivir sin tiempos de espera de resolución más bajos. ¿Es posible elegir un mejor DNS público o ejecutar su propio resolutor interno?

ewwhite
fuente