GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Hai bisogno di aggiungere server dei nomi a Resolv.conf?

Sto eseguendo Ubuntu 18.04 (aggiornato da alcune versioni precedenti) che utilizza Network Manager e systemd-resolved per la risoluzione dei nomi. All'avvio, la mia connessione ethernet enp0s31f6 viene attivato da Network Manager e gli vengono assegnati tre indirizzi di nameserver tramite DHCP, 10.1.13.10 , 10.1.141.10 , 10.1.13.36 . Esecuzione di nmcli mostra i tre nameserver sotto “Configurazione DNS”. Esecuzione di systemd-resolve --status li mostra in una sezione "Link 2 (enp0s31f6)". Posso eseguire il ping di ciascuno. Nessun'altra connessione è attiva.

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)

Tuttavia, quando provo effettivamente a risolvere un nome, anche il nome di uno dei server dei nomi, dig afferma che "connessione scaduta:nessun server può essere raggiunto".

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

Nota che questo nome dovrebbe risolversi in 10.1.13.10 , il primo server dei nomi.

Ho configurato resolvconf per utilizzare gli aggiornamenti dinamici. /etc/resolv.conf punta a /run/resolvconf/resolv.conf . Questo file contiene solo (non commenti):

nameserver 127.0.0.53
search (my orgs local search domain)

Se aggiungo nameserver 10.1.13.10 a questo file manualmente, improvvisamente dig può risolversi di nuovo e qualsiasi altra cosa che ha bisogno di vedere i nomi locali può farlo. La rimozione del server dei nomi lo interrompe di nuovo.

Non so molto sui server. Fanno parte di una rete basata su Windows, ma posso usarli se modifico resolv.conf manualmente, quindi non penso che sia questo il problema e implica che non ho bisogno di essere autenticato nel dominio per usarli. (Posso autenticarmi al dominio tramite Ubuntu usando Realmd/SSSD, ma non se non riesco a risolvere il controller di dominio...)

Il journalctl voci per systemd-resolved mostrano solo alcuni messaggi su "Utilizzo di un set di funzionalità degradato... per il server DNS" ma si riferiscono solo al terzo server dei nomi, non agli altri. Niente per il server dei nomi principale.

Come posso far funzionare la risoluzione dei nomi senza dover modificare manualmente resolv.conf ogni volta che avvio?

Presumo il contenuto del mio resolv.conf significa che Network Manager o Systemd ha una sorta di risolutore di cache locale in esecuzione? In tal caso, bypassarlo risolverebbe le cose?

Correlati:non è possibile aggiungere chiavi repo?

Ho aumentato il livello di registrazione di systemd-resolved e journalctl -f -u systemd-resolved mostra:

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.

Risposta accettata:

Systemd viene fornito con un risolutore "stub", risolto da systemd, che secondo loro non è effettivamente pensato per essere utilizzato come server DNS:

Bene, risolto non dovrebbe essere un server DNS, dovrebbe essere esattamente abbastanza buono in modo che i client DNS simili a libc possano risolvere le loro cose e portiamo abbastanza informazioni per impostare il bit AD.

Per qualsiasi motivo, Ubuntu è configurato per usarlo come server DNS e, di fatto, l'unico.

Un commento sul bug n. 1624320 sottolinea che systemd-resolved ha tre modalità operative e la seconda è ciò che ha risolto il mio problema. Vale a dire:

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

Ubuntu
  1. Come apportare modifiche in resolv.conf permanente in Ubuntu [Suggerimento rapido]

  2. Cosa sovrascrive /etc/resolv.conf ad ogni avvio?

  3. Ubuntu:come far funzionare Resolv.conf alla vecchia maniera sulle moderne distribuzioni Linux?

  4. Server dei nomi 127.0.1.1 In Resolv.conf non andrà via!?

  5. Gestore di rete:come interrompere l'aggiornamento di Nm /etc/resolv.conf?

Server dei nomi personalizzati

Come aggiungere automaticamente spazi di lavoro, solo se ne ho bisogno?

Installazione del pacchetto Libxml-dev?

Il client Openvpn non riceve informazioni DNS?

Come aggiornare resolv.conf su Ubuntu

Come rendere permanente l'indirizzo del server dei nomi in /etc/resolv.conf?