Ubuntu 17.04 búsquedas DNS resueltas por systemd fallan al azar


38

Actualicé a Ubuntu 17.04 y parece que ahora tengo un nuevo mecanismo de resolución de DNS introducido por primera vez en Ubuntu 16.10.

Ahora recibo fallas de búsqueda de DNS el 50% del tiempo. Todas las demás llamadas a nslookup están fallando, con la mitad de las llamadas resueltas bien y la otra mitad dando esto:

watch -n 1 nslookup google.com

Server:     127.0.0.53
Address:    127.0.0.53#53

** server can't find google.com: SERVFAIL

Por lo que entiendo, esa dirección IP del servidor DNS ahora se usa para representar systemd resuelto, lo que hace algún tipo de metabúsqueda para evitar consultas DNS más lentas (o algo así ...). Veo exactamente el mismo comportamiento en dos máquinas que actualicé a 17.04 la semana pasada.

¿Alguna idea de cuál es el problema aquí y la forma correcta de abordarlo?

Las cosas funcionaban bien antes de la actualización (de 16.04 o 16.10, no recuerdo cuál, lo siento). Pensé que 17.04 era un lanzamiento de LTS, pero ahora veo que salté el arma y no se considerará estable hasta abril. Así que aquí estoy.

También es de notar ... los navegadores no parecen exhibir problemas, pero nslookup, ping, git, etc. sí.


2
Consejo para el futuro: las versiones de Ubuntu son el año en que saldrá .el mes en que se lanzará. (Entonces, en su caso, será en 04/ 17)
timotree

Suena como que systemd resuelto a ser dividido en distribuciones está causando problemas a otras personas también.
moodboom

Respuestas:


46

Ubuntu 17.04 no puede resolver servidores DNS con soporte DNSSEC a partir del 2017-04-18. Deshabilita DNSSEC con este demonio:

sudo mkdir -p /etc/systemd/resolved.conf.d
printf "[Resolve]\nDNSSEC=no\n" | sudo tee /etc/systemd/resolved.conf.d/no-dnssec.conf

Opcionalmente, vuelva a configurar resolvconf si se equivocó (diga sí para "preparar /etc/resolve.conf para actualizaciones dinámicas"):

sudo dpkg-reconfigure resolvconf

Reinicie systemd-resolve:

sudo systemctl restart systemd-resolved

Su DNS debería comenzar a funcionar. Puede verificar intentando systemd-resolve www.google.comy viendo una respuesta.


Gracias por la respuesta, ¿puedes explicar lo que hace?
bertieb

Ubuntu 17.04 no puede (hasta aquí) resolver el servidor DNS con soporte DNSSEC. Inhabilito DNSSEC con este demonio.
Sajad Bahmani

Gracias, ¿puedes editar esa explicación en tu respuesta? :)
bertieb

Esta solución no funcionó para mí: después de configurar esto, todavía cada vez que hago una búsqueda la primera vez, recibo un error SERVFAIL, después de un par de intentos tiene éxito y luego el resultado se almacena en caché.
Guss

1
@SamuelL. con respecto a tee, es solo una forma elegante de imprimir algo y enviarlo a un archivo al mismo tiempo. Por lo general, puede redirigir la salida a un archivo con> [el carácter mayor que], pero luego no verá la salida. Tee lo deja ir a ambos lugares. Resolvconf "configura la resolución".
moodboom

12

He estado yendo y viniendo entre systemd-resolve y manual /etc/resolv.conf management y todavía no he encontrado que el mecanismo de resolución de DNS de systemd sea estable.

Aparentemente hay al menos un error de libnss en Ubuntu 16.10 y aparentemente todavía en 17.04. Hay muchas personas con problemas de DNS desde que Ubuntu 16.10 encendió el sistema resuelto, aquí hay un análisis y aquí está la solución alternativa de otra persona. Ninguno de ellos funcionó para mí hasta que sobrescribí manualmente /etc/resolv.conf con los servidores DNS de Google.

nameserver 8.8.8.8   << or another if you don't trust google
nameserver 8.8.4.4

Esta es una solución perfectamente válida , si no necesita una configuración de DNS dinámica. Solo asegúrese de detener y deshabilitar systemd-resolve:

sudo systemctl disable systemd-resolved.service
sudo service systemd-resolved stop

Cambiar a resolveconf no ayudó a mi problema, ¿cómo vuelvo a usar systemd-resolve? (Gracias)
Edward Moffett

1
Prueba:systemctl enable systemd-resolved.service && systemctl start systemd-resolved.service
moodboom

1
Amigo, acabas de salvar mi sistema !! BRAVO
revolucionario

Funcionó bien en 18.04
André M. Faria

4

Ubuntu 17.04 y otras distribuciones están adoptando systemd, que incluye systemd resuelto, que somete a los usuarios a una resolución DNS bastante dura.

  • Como se menciona en la respuesta SjB, el soporte DNSSEC puede causar problemas.
  • systemd-resuelto hace ping a todos los solucionadores de DNS para que pueda usar el más rápido. Esto puede causar problemas con las VPN, etc. en entornos más complejos.
  • Los certificados del servidor DNS están verificados, he tenido errores si mi reloj está sesgado.

No creo que sea necesariamente un MALO cambio, es solo MUCHO cambio. Intentaré actualizar y ampliar esta respuesta a medida que obtenga más información.



1

simplemente agregue el servidor de nombres /etc/systemd/resolved.conf DNS = 194.109.xxx.xxx (en su enrutador, servidor de nombres externo)

systemctl reiniciar systemd-resolve

no es necesario cambiar rand de 3 a 2, no es necesario cambiar la configuración de dnssec a off


Desafortunadamente, esto por sí solo no resuelve el problema de "todos los demás pedidos falla".
moodboom

De acuerdo con @moodboom, esto tampoco me resuelve.
André M. Faria
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.