GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Necesita agregar servidores de nombres a Resolv.conf?

Estoy ejecutando Ubuntu 18.04 (actualizado desde una versión anterior) que usa Network Manager y systemd-resolved para la resolución de nombres. Cuando arranco, mi conexión ethernet enp0s31f6 es activado por Network Manager y se le asignan tres direcciones de servidor de nombres a través de DHCP, 10.1.13.10 , 10.1.141.10 , 10.1.13.36 . Ejecutando nmcli muestra los tres servidores de nombres en "Configuración de DNS". Ejecutando systemd-resolve --status los muestra en la sección "Enlace 2 (enp0s31f6)". Puedo hacer ping a cada uno. No hay otra conexión activa.

testuser ☼ systemd-resolve --status
Global
          DNS Domain: (my org's domain)
          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 (wlp4s0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 2 (enp0s31f6)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.1.13.10
                      10.1.141.10
                      10.1.13.36
          DNS Domain: (my org's domain)

Sin embargo, cuando trato de resolver un nombre, incluso el nombre de uno de los servidores de nombres, dig afirma que "se agotó el tiempo de espera de la conexión:no se pudo acceder a ningún servidor".

testuser ☼ dig dcpdc001.(my org's domain)

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> dcpdc001.(my org's domain)
;; global options: +cmd
;; connection timed out; no servers could be reached

Tenga en cuenta que este nombre debe resolverse en 10.1.13.10 , el primer servidor de nombres.

He configurado resolvconf para usar actualizaciones dinámicas. /etc/resolv.conf apunta a /run/resolvconf/resolv.conf . Este archivo contiene solo (sin comentarios):

nameserver 127.0.0.53
search (my orgs local search domain)

Si agrego nameserver 10.1.13.10 a este archivo manualmente, de repente dig puede resolverse de nuevo, y cualquier otra cosa que necesite ver los nombres locales puede hacerlo. Eliminar el servidor de nombres vuelve a romperlo.

No sé mucho sobre los servidores. Son parte de una red basada en Windows, pero puedo usarlos si edito resolv.conf manualmente, así que no creo que ese sea el problema, e implica que no necesito estar autenticado en el dominio para usarlos. (Puedo autenticarme en el dominio a través de Ubuntu usando Realmd/SSSD, pero no si no puedo resolver el controlador de dominio...)

El journalctl entradas para systemd-resolved muestra solo algunos mensajes sobre "Usar un conjunto de funciones degradadas... para el servidor DNS", pero solo se refieren al tercer servidor de nombres, no a los demás. Nada para el servidor de nombres principal.

¿Cómo puedo hacer que la resolución de nombres funcione sin tener que editar manualmente resolv.conf? cada vez que arranco?

Asumo el contenido de mi resolv.conf ¿Significa que Network Manager o Systemd tiene algún tipo de resolución de almacenamiento en caché local en ejecución? Si es así, ¿se solucionarían las cosas si se omitiera?

Relacionado:¿No se pueden agregar claves de repositorio?

Aumenté el nivel de registro de systemd-resolved y journalctl -f -u systemd-resolved muestra:

Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Got DNS stub UDP query packet for id 19836
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Looking up RR for dcpdc001.(org domain) IN A.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Switching to DNS server 10.1.13.10 for interface enp0s31f6.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Cache miss for dcpdc001.(org domain) IN A
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Transaction 12728 for <dcpdc001.(org domain) IN A> scope dns on enp0s31f6/*.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Using feature level UDP+EDNS0+DO+LARGE for transaction 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Using DNS server 10.1.13.10 for transaction 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Sending query packet with id 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Processing query...
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Timeout reached on transaction 12728.

Respuesta aceptada:

Systemd viene con una resolución "stub", systemd-resolved, que según ellos en realidad no está destinada a ser utilizada como un servidor DNS:

Bueno, se supone que resuelto no es un servidor DNS, se supone que es exactamente lo suficientemente bueno para que los clientes DNS tipo libc puedan resolver sus cosas, y llevamos suficiente información para que se establezca el bit AD.

Por alguna razón, Ubuntu está configurado para usarlo como un servidor DNS y, de hecho, el único.

Un comentario sobre el error n.° 1624320 señala que systemd-resolved tiene tres modos de operación, y el segundo es el que solucionó mi problema. A saber:

$ sudo rm -f /etc/resolv.conf
$ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Ubuntu
  1. Cómo hacer cambios permanentes en resolv.conf en Ubuntu [Consejo rápido]

  2. Ubuntu:¿cómo hacer que Resolv.conf funcione a la antigua en las distribuciones modernas de Linux?

  3. ¿¡El servidor de nombres 127.0.1.1 en Resolv.conf no desaparecerá!?

  4. Administrador de red:¿Cómo detener la actualización de Nm /etc/resolv.conf?

  5. resolv.conf sigue sobrescribiéndose cuando se reinicia dnsmasq, rompiendo dnsmasq

¿Cómo agregar espacios de trabajo automáticamente, solo si los necesito?

host:el análisis de /etc/resolv.conf falló

¿Cómo edito resolv.conf?

¿Cómo hacer que la dirección del servidor de nombres sea permanente en /etc/resolv.conf?

Número de entradas del servidor de nombres en resolv.conf

¿Por qué /etc/resolv.conf apunta a 127.0.0.53?