staging.inyokaproject.org

systemd-resolved: keine Namensauflösung mehr

Status: Gelöst | Ubuntu-Version: Xubuntu 18.04 (Bionic Beaver)
Antworten |

hdz

Avatar von hdz

Anmeldungsdatum:
24. Juni 2006

Beiträge: Zähle...

Hallo,

ich habe ein Problem mit der Namensauflösung: besonders nach dem Aufwachen aus dem Suspend, aber gelegentlich auch mal so zwischen durch wird die Namensauflösung für lokale Adressen im LAN eingestellt:

1
2
user@host:~$ ping xyz
ping: xyz: Zu diesem Hostnamen gehört keine Adresse

gelegentlich hilft ein

sudo service systemd-resolved restart

aber leider nicht immer, dann hilft nur noch ein Restart.

Was kann ich hier zu Lösung des Problems tun? Dieses Phänomen hab ich erst seit 18.04, davor ist es es noch nie aufgetreten...

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 7816

hdz schrieb:

[…] nach dem Aufwachen aus dem Suspend, aber gelegentlich auch mal so zwischen durch wird die Namensauflösung für lokale Adressen im LAN eingestellt

Nach dem Aufwachen aus dem Suspend ist das normal und wird nach kurzer Zeit automatisch behoben, aber zwischendurch sollte das nicht geschehen.

Zeige bitte

  1. die Konfiguration der Namensauflösung:

    ls -l /etc/resolv.conf ; cat $_ 
  2. die Konfiguration des NetworkManagers zur Einstellung der Namensauflösung:

    grep -r dns /etc/NetworkManager/NetworkManager.conf /{usr/lib,etc,run}/NetworkManager/conf.d/ 
  3. und welche lokalen DNS-Caches laufen:

    sudo ss -nulp 'sport = 53' 

hdz

(Themenstarter)
Avatar von hdz

Anmeldungsdatum:
24. Juni 2006

Beiträge: 88

Hallo,

vielen Dank für die Antwort! Dass das Netzwerk nach dem Aufwachen aus Suspend nicht sofort funktioniert, ist mir bewusst... aber auch nach längerer zeit funktioniert die Namensauflösung nicht.

Z.B. habe ich gerade eben wieder das Problem, ohne dass das System vorher suspendiert war, also ganz klassisch kalt gebootet. Hier die gewünschten Daten:

1
2
3
4
user@host:~$ ping xyz
ping: xyz: Zu diesem Hostnamen gehört keine Adresse
user@host:~$ ping xyz.domain.home
ping: xyz.domain.home: Zu diesem Hostnamen gehört keine Adresse
1
2
3
4
5
6
7
8
9
user@host:~$ ls -l /etc/resolv.conf ; cat $_ 
lrwxrwxrwx 1 root root 29 Aug 28  2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53
search domain.home
1
2
3
4
user@host:~$ grep -r dns /etc/NetworkManager/NetworkManager.conf /{usr/lib,etc,run}/NetworkManager/conf.d/ 
/usr/lib/NetworkManager/conf.d/10-dns-resolved.conf:# We need to specify "dns=systemd-resolved" as for the time being our
/usr/lib/NetworkManager/conf.d/10-dns-resolved.conf:dns=systemd-resolved
grep: /run/NetworkManager/conf.d/: Datei oder Verzeichnis nicht gefunden
1
2
3
4
5
user@host:~$ sudo ss -nulp 'sport = 53' 
[sudo] Passwort für user: 
State         Recv-Q         Send-Q                  Local Address:Port                  Peer Address:Port                                                    
UNCONN        0              0                       192.168.123.1:53                         0.0.0.0:*             users:(("dnsmasq",pid=1191,fd=5))         
UNCONN        48384          0                       127.0.0.53%lo:53                         0.0.0.0:*             users:(("systemd-resolve",pid=850,fd=12)) 

Interessant fand ich noch folgende Fehlermeldungen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
user@host:~$ sudo service systemd-resolved status
● systemd-resolved.service - Network Name Resolution
   Loaded: loaded (/lib/systemd/system/systemd-resolved.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-05-21 00:45:18 CEST; 2h 56min left
     Docs: man:systemd-resolved.service(8)
           https://www.freedesktop.org/wiki/Software/systemd/resolved
           https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
           https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
 Main PID: 850 (systemd-resolve)
   Status: "Processing requests..."
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/systemd-resolved.service
           └─850 /lib/systemd/systemd-resolved

Mai 20 21:40:57 host systemd-resolved[850]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with redu
Mai 20 21:40:57 host systemd-resolved[850]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with redu
Mai 20 21:40:57 host systemd-resolved[850]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with redu
Mai 20 21:40:57 host systemd-resolved[850]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with redu
Mai 20 21:40:57 host systemd-resolved[850]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with redu
Mai 20 21:40:57 host systemd-resolved[850]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with redu
Mai 20 21:40:57 host systemd-resolved[850]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with redu
Mai 20 21:40:57 host systemd-resolved[850]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with redu
Mai 20 21:40:57 host systemd-resolved[850]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with redu
Mai 20 21:42:57 host systemd-resolved[850]: Using degraded feature set (UDP) for DNS server fe80::c24a:ff:xxxx:xxxx%3.

Die komplette Fehlermeldung aus syslog:

May 20 21:23:01 host systemd-resolved[850]: Using degraded feature set (UDP) for DNS server 10.0.1.1.
May 20 21:40:57 host systemd-resolved[850]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP.
May 20 21:40:57 host systemd-resolved[850]: message repeated 9 times: [ Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP.]

Und nach einem Neustart des Dienstes geht's wieder (hilft aber leider nicht immer):

1
2
3
4
5
6
7
8
9
user@host:~$ sudo service systemd-resolved restart
user@host:~$ ping xyz
PING xyz.domain.home (10.x.x.x) 56(84) bytes of data.
64 bytes from xyz.domain.home (10.x.x.x): icmp_seq=1 ttl=64 time=2.57 ms
64 bytes from xyz.domain.home (10.x.x.x): icmp_seq=2 ttl=64 time=1.63 ms
^C
--- xyz.domain.home ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.631/2.103/2.576/0.474 ms

Der lokale DNS-Server im LAN ist ein OpenWRT 15.05... evtl. gibt es ja hier ein Problem mit der Konfiguration:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
root@router:/etc/config# cat dhcp 

config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option expandhosts '1'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.auto'
	option localservice '1'
	option domain 'domain.home'
	option local '/domain.home/'
	option logqueries '1'

config dhcp 'lan'
	option interface 'lan'
	option leasetime '12h'
	option dhcpv6 'server'
	option ra 'server'
	option ra_management '1'
	option start '615160'
	option limit '254'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'

config domain
	option name 'router'
	option ip '10.0.x.x'

config host
	option name 'xyz'
	option mac 'xx:xx:xx:xx:xx:xx'
	option ip '10.x.x.x'

config domain
	option name 'xyz'
	option ip '10.x.x.x'
[...]

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 7816

hdz schrieb:

[…]

user@host:~$ ls -l /etc/resolv.conf ; cat $_ 
lrwxrwxrwx 1 root root 29 Aug 28  2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53
search domain.home

Das ist jedenfalls für ein Ubuntu-18.04-System die falsche Datei.

Lösche die Datei /etc/resolv.conf und starte neu. NetworkManager sollte den Link richtig setzen. Wenn es nicht geschieht, erzeuge den Link manuell mit

sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

und starte neu. Zeige dann wieder:

ls -l /etc/resolv.conf ; cat $_ 

Zeige auch, welche DNS-Forwarder eingestellt sind:

systemd-resolve --status | awk -v RS="\n\n" '/Servers/' 

Die Konfiguration Deines DNS-Servers schaue ich mir noch an.

hdz

(Themenstarter)
Avatar von hdz

Anmeldungsdatum:
24. Juni 2006

Beiträge: 88

Danke, dass du dich meines Problems angenommen hast!

Die /etc/resolv.conf wurde nach umbenennen und Neustart tatsächlich neu erstellt. Mir stellt sich aber die Frage, wo kam die fehlerhafte Datei her? Ich hab den Symlink jedenfalls nicht angelegt - ich mach das aus Gewohnheit immer mit absoluten Pfaden.

Hier die gewünschte Ausgaben, der Inhalt der Datei ist aber der gleiche:

1
2
3
4
5
user@host:~$ ls -l /etc/resolv.conf ; cat $_ 
-rw-r--r-- 1 root root 71 Mai 21 20:39 /etc/resolv.conf
# Generated by NetworkManager
search domain.home
nameserver 127.0.0.53
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
user@host:~$ systemd-resolve --status | awk -v RS="\n\n" '/Servers/' 
Link 3 (wlp3s0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.0.1.1
                      10.0.0.1
                      fe80::c24a:ff:fee4:648c
                      fd06:a1f2:87f7::1
          DNS Domain: ~.
                      domain.home

Hier ist interessant, dass der NS 10.0.0.1 zwar früher mal der Router war, aber durch den o.g. OpenWRT-Router mit der 10.0.1.1 ersetzt. Die 10.0.0.1 existiert im Netz damit nicht mehr, ist das evtl. der Grund für die gelegentlich fehl schlagenden Auflösungsversuche? Bei der Suche nach verbliebenen Vorkommnissen dieser IP bin ich über NetworkManager-Verbindungen gestoßen, in der dieser NS noch manuell als zusätzlicher NS eingetragen war (die frühere IP-Konfig war statisch, mittlerweile per DHCP)... hab ich entfernt und beobachte das Verhalten jetzt!

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 7816

hdz schrieb:

[…]

user@host:~$ ls -l /etc/resolv.conf ; cat $_ 
-rw-r--r-- 1 root root 71 Mai 21 20:39 /etc/resolv.conf
# Generated by NetworkManager
search domain.home
nameserver 127.0.0.53

Das ist ein etwas schräges Ergebnis; ich habe erwartet:

$ ls -l /etc/resolv.conf 
lrwxrwxrwx 1 root root 39 Okt 22  2018 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
user@host:~$ systemd-resolve --status | awk -v RS="\n\n" '/Servers/' 
Link 3 (wlp3s0)
[…]
         DNS Servers: 10.0.1.1
                      10.0.0.1
                      fe80::c24a:ff:fee4:648c
                      fd06:a1f2:87f7::1
          DNS Domain: ~.
                      domain.home

Sind das denn die Adressen der gewünschten Namensserver? Ich habe dazu in der Konfigurationsdatei für den OpenWRT nichts gefunden. Generell musst Du dies so einrichten:

  1. Entweder: Der Router fungiert als DNS-Server und hat Forwarder. Dann muss er an seine Clienten per DHCP sich selbst als Namensserver anpreisen.

  2. Oder: Die Clienten sollen, jeder für sich, selbst direkt im Internet anfragen. Dann muss der Router für seine Clienten aber auch per DHCP die DNS-Server im Internet definieren.

Die 10.0.0.1 existiert im Netz damit nicht mehr, ist das evtl. der Grund für die gelegentlich fehl schlagenden Auflösungsversuche?

Ja. Das man von einem nicht vorhanden Gesprächspartner keine Antworten erhält, ist plausibel.

[…] NetworkManager-Verbindungen

Wenn Du die Methode (lokal –> DHCP) wechselst, lösche am besten alle Verbindungsprofile.

Antworten |