Mi servidor DNS es 192.168.1.152.
Este DNS es proporcionado a los clientes por DHCP. Los clientes de Windows en mi LAN resuelven los nombres correctamente usando ese DNS, pero mi Ubuntu VM no lo hace.
La VM está configurada con redes de puente y se proporciona correctamente el servidor DNS, pero mis nombres de host locales no se resuelven con nslookup o navegadores.
Aquí está nslookupuno de mis dominios locales:
# nslookup unraid.local
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find unraid.local: SERVFAIL
Esto es lo que debe resolver usando mi servidor DNS:
# nslookup unraid.local 192.168.1.152
Server: 192.168.1.152
Address: 192.168.1.152#53
Name: unraid.local
Address: 192.168.1.152
/etc/resolv.conf tiene un servidor de nombres incorrecto:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
Ejecuté ese comando. En Servidores DNS, confusamente, especifica el servidor correcto (y mi puerta de enlace predeterminada).
root@ubuntu:~# systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 2 (ens33)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.1.152
192.168.1.1
No quiero "codificar" la IP del servidor DNS en un archivo de configuración porque no podré resolverlo cuando cambie las redes.
¿Cómo puedo obtener resolvconf y NetworkManager para configurar automáticamente la IP del servidor DHCP /etc/resolv.conf?
fuente

Conocido systemd fallo .
Solución temporal sin necesidad de reconfigurar si cambia la IP del DNS:
fuente
/etc/resolv.confproviene/run/systemd/resolve/stub-resolv.confes bollox, debe tenerse en/run/systemd/resolve/resolv.confcuenta que/etc/resolv.confrealmente no existe en ninguno de los casospingfunciona entonces?hostynslookupresuelva los nombres de host de forma diferente apingowget. Es posible que deba buscar/etc/nsswitch.confuna solución.Finalmente obtuve una solución para este problema para ubuntu 17.10. Por defecto, esta versión de Ubuntu usa
systemd-resolved, que espero sea estable para las próximas versiones.Para utilizar dns personalizados en lugar de la memoria caché local resuelta por systemd, haga lo siguiente:
agregar nuevos servidores de nombres. Edite el archivo
/etc/systemd/resolved.confcomo sudoer. Aquí he comentado la entrada DNS y coloqué mi dns[Resolve] DNS=10.96.0.10 8.8.8.8 8.8.4.4cancelar el enlace simbólico real a
/etc/resolv.confsudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.confsudo service systemd-resolved restartsudo systemctl restart networkingY ahora, si busca un nombre proporcionado por su dns adicional, debería ver resuelto el registro
dig nexus.default.svc.cluster.mydomainEl último paso es actualizar el orden de resolución
/etc/nsswitch.conf, colocando el dns antes del mdns4_minimalfuente
Creé un script que soluciona el problema de que Netplan no admite actualmente la capacidad de reemplazar los servidores DNS y el orden de búsqueda de dominio proporcionados por DHCP. Crea el archivo Netplan yaml y configura systemd-resolve para que funcione como se espera.
fuente
La solución que funcionó para mí está publicada aquí en mi blog
Use nano editor para editar estos 2 archivos
Agregue los servidores DNS que desea usar
Luego reinicie el servicio
Revision final:
Hacer nslookup
Acabo de usar esto y solucionó el problema en mi computadora portátil en casa, pero en algún momento en el futuro cuando esté fuera de mi red doméstica puedo ver que causará problemas, porque el servidor DNS primario y secundario seguirá siendo mi hogar servidores con sus direcciones lan.
fuente
/etc/resolv.confno funciona ya que el archivo se sobrescribirá durante elsystemd-resolvedreinicio. Solo edita/etc/systemd/resolved.conf. Vea mi respuesta aquí: askubuntu.com/questions/977243/ubuntu-17-10-disable-netplan/…Tu
/etc/resolv.confno es el problema.systemd-resolvedsolo está predeterminado en no configurado, por lo que falla en todas las búsquedas. Siéntase libre de despotricar sobre Unconfigured vs A Razonable Default.Agregar manualmente servidores de nombres a
systemd-resolved. (edición según el comentario de Olorin a continuación para agregarmkdir, ruta correcta/etcno/lib, para sobrevivir a las actualizaciones del sistema)Añadir:
Luego...
systemd-resolvedes inteligente, pero no está configurado como es, por parte de los mantenedores de paquetes, simplemente se ve estúpido porque los mantenedores de paquetes no creen en un incumplimiento razonable. Podemos poner 13 servidores raíz de Internet allí también conocidos como "djb way", o 10 servidores opennic: https://pastebin.com/JBfYVVtG o los tres servidores opennic más rápidos, medidos por namebench. Más servidores de nombres ISP, claro. Además de Google, claro.systemd-resolvedNo es el problema. Yo soy el problemafuente
/usr/lib, es probable que se sobrescriban en la actualización del paquete. Creo que un archivo correspondiente en algún lugar/etc/systemdes el camino a seguir (ya debería estar/etc/systemd/resolved.conflisto para ser editado por los administradores).En mi sistema encontré un mal enlace simbólico:
/etc/resolv.confera un enlace simbólico que apunta a/run/systemd/resolve/stub-resolv.confEste archivo contiene solo una línea:
Como resultado, a menudo faltaba la búsqueda de DNS de la red local.
Entonces, en cambio, cambié
/etc/reolv.confpara señalar/run/systemd/resolve/resolv.confy ahora funciona correctamente
fuente
Es extraño, pero la única solución que funcionó para mí en Ubuntu 18.04 fue la que encontré aquí :
Primero, cambie
/etc/resolv.confconfigurando el servidor de nombres deseado :Establecer, por ejemplo,
Y luego hacer
Esto protege el
/etc/resolv.confarchivo para que nadie pueda modificarlo, incluido el usuario root.fuente
Tengo el mismo problema. Cada reinicio, nada se resolverá. Ya desinstalé todo y lo reinstalé unas 50 veces. Simplemente está roto.
así que la solución es ... "solo aplique algunas configuraciones cada vez que inicie su PC, lo que permite que se resuelva el 90% de los nombres de host, pero las actualizaciones y actualizaciones de wget y apt-get fallarán aleatoriamente sin ninguna razón"
cat /etc/systemd/resolved.conf
Cuando use Ubuntu 17.10 Desktop, debe editar el archivo que dice NO EDITE ESTE ARCHIVO BLAH BLAH BLAH
bueno, esa es la ÚNICA forma en que funciona ~!
Por lo tanto, elimine la IP 127.0.0.53 como servidor de nombres e ingrese otra, por ejemplo, google. Parece que mi dirección IP DNS real tampoco resuelve los nombres de host (a pesar de que funciona en otras 10 máquinas y dispositivos en la casa), pero Google funciona bien.
fuente