GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Müssen Nameserver zu Resolv.conf hinzugefügt werden?

Ich verwende Ubuntu 18.04 (aktualisiert von einer früheren Version), das Network Manager und systemd-resolved für die Namensauflösung verwendet. Wenn ich boote, ist meine Ethernet-Verbindung enp0s31f6 wird von Network Manager aufgerufen und erhält über DHCP drei Nameserver-Adressen, 10.1.13.10 , 10.1.141.10 , 10.1.13.36 . Ausführen von nmcli zeigt unter „DNS-Konfiguration“ die drei Nameserver an. Ausführen von systemd-resolve --status zeigt sie unter einem Abschnitt „Link 2 (enp0s31f6)“. Ich kann jeden anpingen. Es ist keine andere Verbindung aktiv.

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)

Wenn ich jedoch tatsächlich versuche, einen Namen aufzulösen, sogar den Namen eines der Nameserver, dig behauptet, dass „Zeitüberschreitung der Verbindung:Es konnten keine Server erreicht werden“.

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

Beachten Sie, dass dieser Name zu 10.1.13.10 aufgelöst werden sollte , der erste Nameserver.

Ich habe resolvconf konfiguriert um dynamische Updates zu verwenden. /etc/resolv.conf zeigt auf /run/resolvconf/resolv.conf . Diese Datei enthält nur (keine Kommentare):

nameserver 127.0.0.53
search (my orgs local search domain)

Wenn ich nameserver 10.1.13.10 hinzufüge zu dieser Datei manuell, plötzlich dig kann wieder aufgelöst werden, und alles andere, das lokale Namen sehen muss, kann dies tun. Das Entfernen des Nameservers macht das wieder kaputt.

Ich weiß nicht viel über die Server. Sie sind Teil eines Windows-basierten Netzwerks, aber ich kann sie verwenden, wenn ich resolv.conf bearbeite manuell, also denke ich nicht, dass das das Problem ist, und es impliziert, dass ich nicht bei der Domäne authentifiziert werden muss, um sie zu verwenden. (Ich kann mich über Ubuntu mit Realmd/SSSD bei der Domäne authentifizieren, aber nicht, wenn ich den Domänencontroller nicht auflösen kann …)

Das journalctl Einträge für systemd-resolved zeigen nur wenige Meldungen über „Using degraded feature set … for DNS server“, beziehen sich aber nur auf den dritten Nameserver, nicht auf die anderen. Nichts für den primären Nameserver.

Wie kann ich die Namensauflösung zum Laufen bringen, ohne resolv.conf manuell bearbeiten zu müssen jedes Mal, wenn ich boote?

Ich übernehme den Inhalt meiner resolv.conf Bedeutet das, dass Network Manager oder Systemd eine Art lokalen Caching-Resolver laufen hat? Wenn ja, würde die Umgehung die Probleme beheben?

Verwandt:Repo-Schlüssel können nicht hinzugefügt werden?

Ich habe die Protokollierungsebene von systemd-resolved erhöht und journalctl -f -u systemd-resolved zeigt:

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.

Akzeptierte Antwort:

Systemd kommt mit einem „Stub“-Resolver, systemd-resolved, der ihrer Meinung nach eigentlich nicht dazu gedacht ist, als DNS-Server verwendet zu werden:

Nun, aufgelöst soll kein DNS-Server sein, es soll genau gut genug sein, damit libc-ähnliche DNS-Clients ihre Sachen auflösen können, und wir haben genug Informationen, damit das AD-Bit gesetzt werden kann.

Ubuntu ist aus irgendeinem Grund so konfiguriert, dass es als DNS-Server verwendet wird, und zwar als einziger.

Ein Kommentar zu Fehler Nr. 1624320 weist darauf hin, dass systemd-resolved drei Betriebsmodi hat und der zweite mein Problem behoben hat. Nämlich:

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

Ubuntu
  1. Benutzerdefinierte Nameserver

  2. Openvpn-Client erhält keine DNS-Informationen?

  3. So aktualisieren Sie resolv.conf unter Ubuntu

  4. Anzahl der Nameserver-Einträge in resolv.conf

  5. Warum zeigt /etc/resolv.conf auf 127.0.0.53?

So nehmen Sie Änderungen in resolv.conf dauerhaft in Ubuntu vor [Kurztipp]

Was überschreibt /etc/resolv.conf bei jedem Start?

Wie füge ich Arbeitsbereiche automatisch hinzu, nur wenn ich sie brauche?

Wie mache ich die Nameserver-Adresse in /etc/resolv.conf dauerhaft?

resolv.conf wird immer wieder überschrieben, wenn dnsmasq neu gestartet wird, wodurch dnsmasq beschädigt wird

Wie stelle ich meinen DNS ein, wenn resolv.conf überschrieben wird?