El DNS del sistema lovated en 127.0.0.53 parece estar funcionando, excepto cuando busco máquinas locales por nombre. Pero si los busco y especifico específicamente el servidor DNS local (mi enrutador), obtengo la respuesta adecuada. Pero el archivo de configuración dice que también está usando el enrutador como dirección de búsqueda. ¿Alguna idea?
Estoy ejecutando Ubuntu 18.04 en mi computadora portátil Dell.
Resultados incorrectos:
$ nslookup web1
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find web1: SERVFAIL
También falla
$ nslookup -i wlp3s0 web1
nslookup: couldn't get address for 'web1': not found
Resultados correctos:
$ nslookup web1 192.168.1.1
Server: 192.168.1.1
Address: 192.168.1.1#53
Name: web1
Address: 192.168.1.107
Información de configuración systemd-resolve
$ 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 3 (wlp3s0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.1.1
DNS Domain: wp.comcast.net
Link 2 (enp2s0)
Current Scopes: none
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
Información de configuración NetworkManager
$ cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
Entonces, ¿cómo hago para que nslookup devuelva la respuesta correcta? El enlace 3 parece ser la información correcta (mi conexión wifi) y mi DNS en el enrutador está devolviendo la respuesta correcta, pero el caché local nunca intenta buscar la dirección (o eso parece).
fuente
nslookup -i wlp3s0 web1
Respuestas:
Su archivo resolv.conf no apuntaba al lugar incorrecto,
../run/systemd/resolve/stub-resolv.conf
es donde se supone que debe apuntar de manera predeterminada.El problema es que
systemd-resolved
no pasa nombres sin puntos al DNS. Aparentemente esto está funcionando "como fue diseñado". Consulte este problema de github que establece que "resuelto nunca permitirá que las búsquedas de etiqueta única se filtren en DNS de unidifusión".Ya sea o no de acuerdo con el razonamiento de que la cuestión github, no es una manera de solucionar este problema. Ni siquiera requiere hacer ningún cambio en la configuración predeterminada en su máquina Ubuntu:
Primero, el DNS de su LAN debe tener un nombre de dominio.
Si está utilizando dnsmasq, agregue lo siguiente
/etc/dnsmasq.conf
en su servidor DNS:Ahora debería poder resolver los nombres de host de LAN si agrega el dominio:
En segundo lugar, asegúrese de que el nombre del dominio de su LAN también esté configurado en su servidor DHCP si es diferente de su servidor DNS. En mi servidor DHCP (mi enrutador), esta configuración se llama simplemente "Nombre de dominio".
Si luego renueva su contrato de arrendamiento de DHCP en su casilla de Ubuntu, debería ver aparecer una directiva de búsqueda en
/run/systemd/resolve/stub-resolv.conf
:Ahora mirando hacia arriba
web1
lo ampliará aweb1.your-domain
, que luego se resolverá usando DNS.Tenga en cuenta que si usa en
dig
lugar denslookup
,dig
no usa la ruta de búsqueda de forma predeterminada; use su+search
opción para habilitar eso.fuente
/etc/resolv.conf
o en la salida de cualquieranmcli -g all
osystemd-resolve --status
? ¿Quizás intente ver lo que hay en su contrato de arrendamiento de DHCP ?Encontré la solución que funcionó para mí.
mi archivo resolv.conf apuntaba al lugar equivocado. Esto parece un error en Ubuntu como sucedió en mi computadora portátil (la máquina en la que noté este problema por primera vez) y en una nueva instalación del Servidor Ubuntu 18.04.
El valor por defecto
Eliminé esto y señalé el archivo correcto. Después de reiniciar, esto resolvió mi problema. E incluso pude cambiar las redes en mi computadora portátil y el DNS cambió correctamente. Por supuesto, cuando estoy en redes externas no puedo resolver ninguna de mis máquinas locales, pero eso es de esperar. Tan pronto como cambio a mi red local, todas las máquinas locales se resuelven correctamente porque mi enrutador es el DNS.
La solución
Después de eso, todo funcionó como esperaba y 127.0.0.53 ya no se usa en absoluto.
Los resultados correctos
fuente
ubuntu-bug resolvconf
.systemd-resolve
es proporcionado por elsystemd
paquete , así que intente en suubuntu-bug systemd
lugar.resolv.conf
está configurado de esta manera para el DNS de la red de Docker Bridge ¿verdad?