GNU/Linux >> Znalost Linux >  >> Ubuntu

Potřebujete přidat jmenné servery do Resolv.conf?

Používám Ubuntu 18.04 (upgradovaný z nějaké dřívější verze), který používá Network Manager a systemd-resolved pro překlad názvů. Když bootuji, mé ethernetové připojení enp0s31f6 je vyvolán Network Managerem a přes DHCP jsou mu přiděleny tři adresy jmenného serveru, 10.1.13.10 , 10.1.141.10 , 10.1.13.36 . Spuštění nmcli zobrazuje tři jmenné servery v části „Konfigurace DNS“. Spuštění systemd-resolve --status zobrazuje je v části „Odkaz 2 (enp0s31f6)“. Můžu pingnout každého. Žádné jiné připojení není aktivní.

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)

Když se však skutečně pokouším přeložit jméno, dokonce i jméno jednoho z jmenných serverů, dig tvrdí, že „vypršel časový limit připojení:nelze dosáhnout žádných serverů“.

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

Všimněte si, že tento název by se měl překládat na 10.1.13.10 , první jmenný server.

Nakonfiguroval jsem resolvconf používat dynamické aktualizace. /etc/resolv.conf ukazuje na /run/resolvconf/resolv.conf . Tento soubor obsahuje pouze (bez komentářů):

nameserver 127.0.0.53
search (my orgs local search domain)

Pokud přidám nameserver 10.1.13.10 do tohoto souboru ručně, najednou dig může znovu vyřešit a vše, co potřebuje vidět místní názvy, to může udělat. Odstraněním jmenného serveru to znovu přerušíte.

O serverech toho moc nevím. Jsou součástí sítě se systémem Windows, ale mohu je použít, pokud upravím resolv.conf ručně, takže si nemyslím, že to je ten problém, a to znamená, že k jejich použití nemusím být ověřen v doméně. (Mohu se ověřit k doméně přes Ubuntu pomocí Realmd/SSSD, ale ne, pokud nedokážu vyřešit řadič domény…)

journalctl záznamy pro systemd-resolved zobrazují pouze několik zpráv o „Používání degradované sady funkcí … pro server DNS“, ale odkazují pouze na třetí jmenný server, nikoli na ostatní. Nic pro primární jmenný server.

Jak mohu zprovoznit rozlišení jmen, aniž bych musel ručně upravovat resolv.conf při každém spuštění?

Předpokládám obsah mého resolv.conf Znamená to, že Network Manager nebo Systemd má spuštěný nějaký místní překladač mezipaměti? Pokud ano, vyřešilo by to obcházení?

Související:Nelze přidat repo klíče?

Zvýšil jsem úroveň protokolování systemd-resolved a journalctl -f -u systemd-resolved ukazuje:

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.

Přijatá odpověď:

Systemd přichází s "stub" resolverem, systemd-resolved, který podle nich není ve skutečnosti určen k použití jako DNS server:

No, resolved nemá být DNS server, má být přesně dost dobrý na to, aby klienti DNS typu libc mohli řešit své věci, a máme dostatek informací pro nastavení AD bitu.

Z jakéhokoli důvodu je Ubuntu nakonfigurováno tak, aby jej používal jako DNS server a ve skutečnosti jako jediný.

Komentář k chybě č. 1624320 poukazuje na to, že systemd-resolved má tři provozní režimy a ten druhý vyřešil můj problém. Jmenovitě:

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

Ubuntu
  1. Jak provést změny v resolv.conf Permanent v Ubuntu [Rychlý tip]

  2. Co přepíše /etc/resolv.conf při každém spuštění?

  3. Ubuntu – Jak zajistit, aby Resolv.conf fungoval starým způsobem na moderních linuxových distribucích?

  1. Nameserver 127.0.1.1 In Resolv.conf Won’t Go Away!?

  2. Network Manager:Jak zastavit aktualizaci Nm /etc/resolv.conf?

  3. Klient Openvpn nedostává informace DNS?

  1. Jak aktualizovat resolv.conf na Ubuntu

  2. hostitel:analýza souboru /etc/resolv.conf se nezdařila

  3. Počet záznamů nameserveru v resolv.conf