
¿Cómo configurar un solucionador de DNS local que pueda enviar consultas a varios servidores de nombres en paralelo?
Por qué lo necesito:
- La confiabilidad de 1.1.1.1 o 8.8.8.8 no es muy buena. (Horas observadas de inactividad o tiempo inestable durante la semana pasada para 1.1.1.1)
- La máquina aloja el proxy https/socks5, por lo que la búsqueda de nombres es crucial y con bastante frecuencia.
Se prefiere la búsqueda paralela para reducir la latencia si un servidor de nombres no funciona.
La máquina Linux es el servidor Ubuntu 22.04.
El servicio proxy https/socks5 no puede manejar múltiples servidores DNS, por lo que un solucionador local debe manejar la búsqueda paralela o alternativa.
Respuesta1
Según la documentación esto es posible usando Dnsmasq.
El parámetro a utilizar es:
--all-servers
De forma predeterminada, cuando dnsmasq tiene más de un servidor ascendente disponible, enviará consultas a un solo servidor. Establecer este indicador obliga a dnsmasq a enviar todas las consultas a todos los servidores disponibles. La respuesta del servidor que responda primero se devolverá al solicitante original.
Puedes hacerlo editando /etc/default/dnsmasq
y agregando –all-servers
a DNSMASQ_OPTS de esta manera:
DNSMASQ_OPTS="--all-servers"
Referencias:
Respuesta2
DNSMASQ no puede hacerlo por sí solo, pero vi que Pihole (que usa DNSMASQ detrás de escena) se usa con Unbound, brindándole un servidor DNS recursivo. Lo que significa que su servidor le preguntará directamente al servidor TLD y omitirá por completo Google/Cloudflare.