View previous topic :: View next topic |
Author |
Message |
lazydog n00b
Joined: 26 Feb 2007 Posts: 64
|
Posted: Tue Jul 18, 2023 10:16 am Post subject: [gelöst] DNS lookups sehr langsam |
|
|
Herrje ich schon wieder. Bei meinem frisch aufgesetzten System mit systemd habe ich gemerkt, daß DNS Anfragen quälend lange dauern (teilweise 10 Sekunden). Mit anderen Rechnern im gleichen Netzwerk gibt es keinerlei Probleme.
Ich benutze Network-Manager mit DHCP und in /etc/resolve.conf ist mein DSL-Router als Nameserver registriert (wie immer und wie bei anderen PCs auch)
Nach langer Fehlersuche habe ich eine Ungereimtheit entdeckt:
Ich schaue mit journalctl --unit=systemd-resolved das Log an (Auszug):
Code: | Jul 18 10:55:38 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question www.weinheim.de IN A: failed-auxiliary
Jul 18 10:55:38 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question www.weinheim.de IN AAAA: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: Using degraded feature set UDP+EDNS0 instead of UDP+EDNS0+DO for DNS server 127.0.0.1.
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question kivbf.de IN SOA: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question k1z06s024.kivbf.de IN DS: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question k1z06s024.kivbf.de IN SOA: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question k1z06s024.kivbf.de IN A: failed-auxiliary
Jul 18 10:55:58 mars systemd-resolved[2329]: Using degraded feature set UDP instead of UDP+EDNS0 for DNS server 127.0.0.1.
Jul 18 10:56:03 mars systemd-resolved[2329]: Using degraded feature set TCP instead of UDP for DNS server 127.0.0.1.
Jul 18 10:56:09 mars systemd-resolved[2329]: Using degraded feature set UDP instead of TCP for DNS server 127.0.0.1. |
Ein Problem mit DNSSEC, allerdigs kenne ich mich dahingehend nicht gut aus.
Ein workaround war systemd-resolved zu deaktivieren und siehe da, DNS Lookups ohne nennenswerte Verzögerungen.
Aber ist das nicht ein "dirty workaround"? Wäre es besser NetworkManager zu deinstallieren und die gesamte Konfiguration mit systemd aufzuziehen? Gibt es dazu ein wiki oder ähnliches?
Last edited by lazydog on Sat Jul 29, 2023 3:04 pm; edited 1 time in total |
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1668
|
Posted: Tue Jul 18, 2023 1:14 pm Post subject: Re: DNS lookups sehr langsam |
|
|
lazydog wrote: | Herrje ich schon wieder. |
Kein Problem
Quote: |
Ein workaround war systemd-resolved zu deaktivieren und siehe da, DNS Lookups ohne nennenswerte Verzögerungen.
Aber ist das nicht ein "dirty workaround"? Wäre es besser NetworkManager zu deinstallieren und die gesamte Konfiguration mit systemd aufzuziehen? Gibt es dazu ein wiki oder ähnliches? |
systemd-resolved und Networkmanager haben unterschiedliche Aufgaben. systemd-resolved ist dafür da, um DNS anfragen zu machen, NetworkManager konfiguriert Netzwerkinterfaces.
Es gibt aber systemd-networkd, das den selben Aufgabenbereich hat wie NetworkManager, aber systemd-resolved und NetworkManager haben erstmal nicht so viel miteinander zu tun.
Quote: | Bei meinem frisch aufgesetzten System mit systemd habe ich gemerkt, daß DNS Anfragen quälend lange dauern (teilweise 10 Sekunden). Mit anderen Rechnern im gleichen Netzwerk gibt es keinerlei Probleme.
Ich benutze Network-Manager mit DHCP und in /etc/resolve.conf ist mein DSL-Router als Nameserver registriert (wie immer und wie bei anderen PCs auch)
Nach langer Fehlersuche habe ich eine Ungereimtheit entdeckt:
Ich schaue mit journalctl --unit=systemd-resolved das Log an (Auszug):
Code: | Jul 18 10:55:38 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question www.weinheim.de IN A: failed-auxiliary
Jul 18 10:55:38 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question www.weinheim.de IN AAAA: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: Using degraded feature set UDP+EDNS0 instead of UDP+EDNS0+DO for DNS server 127.0.0.1.
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question kivbf.de IN SOA: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question k1z06s024.kivbf.de IN DS: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question k1z06s024.kivbf.de IN SOA: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question k1z06s024.kivbf.de IN A: failed-auxiliary
Jul 18 10:55:58 mars systemd-resolved[2329]: Using degraded feature set UDP instead of UDP+EDNS0 for DNS server 127.0.0.1.
Jul 18 10:56:03 mars systemd-resolved[2329]: Using degraded feature set TCP instead of UDP for DNS server 127.0.0.1.
Jul 18 10:56:09 mars systemd-resolved[2329]: Using degraded feature set UDP instead of TCP for DNS server 127.0.0.1. |
Ein Problem mit DNSSEC, allerdigs kenne ich mich dahingehend nicht gut aus. |
Wenn du DNSSEC nicht brauchst/möchtest, kannst du es für systemd-resolved in /etc/systemd/resolved.conf.d/ auch abschalten:
Siehe dazu
Wenn du DNSSEC nutzen möchtest, dann muss ich auch passen, das schalte ich immer nur aus.
Du kannst aber auch systemd-resolved ganz abschalten, das ist auch kein problem. Wenn du es nutzen möchtest wäre die empfohlene Konfiguration aber nicht, den nameserver direkt in /etc/resolve.conf einzutragen, sondern dass /etc/resolve.conf eins symlink auf /run/systemd/resolve/stub-resolv.conf ist. Wenn du bei systemd-resolved bleiben möchtest würde ich dir empfehlen das auch so zu machen. Siehe dazu hier: https://wiki.archlinux.org/title/Systemd-resolved bzw Code: | man systemd-resolved | , Punkt /ETC/RESOLV.CONF für verschiedene Optionen mit systemd-resolved. |
|
Back to top |
|
|
lazydog n00b
Joined: 26 Feb 2007 Posts: 64
|
Posted: Wed Jul 19, 2023 8:12 am Post subject: |
|
|
Vielen Dank erstmal für die Tipps. Hätte ich das Gentoo Handbook genauestens befolgt, hätte ich auch gesehen, daß der entsprechende Link gesetzt werden muss:
Code: | ln -snf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf |
Damit, und mit aktivem systemd-resolved, verschwinden auch die Fehlermeldungen bzgl. "DNSSEC validation failed"
DNS-Lookups sind aber immer noch langsam...
Daher habe ich gemäß https://man.archlinux.org/man/resolved.conf.5 die Datei
Code: | /etc/systemd/resolved.conf.d/01-dnssec |
angelegt mit Inhalt
Code: | [Resolve]
DNSSEC=false |
Das hilft leider auch nichts. Ein simples
ping www.berlin.de
dauert erstmal 10 Sekunden bis überhaupt etwas passiert:
Code: | ping -c 4 www.berlin.de
PING www.berlin.de(2a00:13c8:f5::393:8a4d:2) 56 data bytes
64 bytes from 2a00:13c8:f5::393:8a4d:2: icmp_seq=1 ttl=59 time=16.1 ms
64 bytes from 2a00:13c8:f5::393:8a4d:2: icmp_seq=2 ttl=59 time=16.1 ms
64 bytes from 2a00:13c8:f5::393:8a4d:2: icmp_seq=3 ttl=59 time=16.2 ms
64 bytes from 2a00:13c8:f5::393:8a4d:2: icmp_seq=4 ttl=59 time=17.9 ms
--- www.berlin.de ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 23249ms
rtt min/avg/max/mdev = 16.079/16.562/17.856/0.749 ms
|
Der ganze Vorgang dauert fast 30 Sekunden.
Mach ich das gleiche ohne systemd-resolved laufen die 4 Pings im Sekundentakt durch
Code: | ping -c 4 www.berlin.de
PING www.berlin.de(2a00:13c8:f5::393:8a4d:2 (2a00:13c8:f5::393:8a4d:2)) 56 data bytes
64 bytes from 2a00:13c8:f5::393:8a4d:2 (2a00:13c8:f5::393:8a4d:2): icmp_seq=1 ttl=59 time=16.9 ms
64 bytes from 2a00:13c8:f5::393:8a4d:2 (2a00:13c8:f5::393:8a4d:2): icmp_seq=2 ttl=59 time=17.2 ms
64 bytes from 2a00:13c8:f5::393:8a4d:2 (2a00:13c8:f5::393:8a4d:2): icmp_seq=3 ttl=59 time=16.8 ms
64 bytes from 2a00:13c8:f5::393:8a4d:2 (2a00:13c8:f5::393:8a4d:2): icmp_seq=4 ttl=59 time=24.2 ms
--- www.berlin.de ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 16.774/18.756/24.166/3.127 ms
|
Ähnliches, wenn auch nicht gemessen, gilt für Webseiten: Ohne resolved sind die Seiten quasi sofort geladen. Mit systemd-resolved dauern vor allem "bloated" Seiten, die viel Werbung enthalten, wie z.B. chip.de, viele Sekunden bis firefox fertig ist (da fühlt man sich fast wie in den 1990ern mit Netscape...)
Tests mit dig zeigen zumindest auch Tendenzen:
dig www.nasa.gov (mit resolved): ;; Query time: 246 msec
dig www.google.com (mit resolved): ;; Query time: 326 msec
dig www.nasa.gov (*ohne* resolved): ;; Query time: 18 msec
dig www.google.com (*ohne* resolved): ;; Query time: 10 msec
alles mehrmals getestet, also irgendwo klemmts noch... |
|
Back to top |
|
|
lazydog n00b
Joined: 26 Feb 2007 Posts: 64
|
Posted: Wed Jul 19, 2023 8:29 am Post subject: |
|
|
Nachtrag: Gerade das USE-Flag "dns-over-tls" bei systemd gesehen, daß default-mäßig gesetzt ist und mal etwas recherchiert:
https://medium.com/@jawadalkassim/enable-dns-over-tls-in-linux-using-systemd-b03e44448c1c
das sorgt ganz grob zusammengefasst für verschlüsselte (sichere) DNS-Abfragen und braucht daher logischerweise etwas overhead. Aber kann das sein, daß damit DNS-Lookups derart (wie bei mir) ausgebremst werden? |
|
Back to top |
|
|
sMueggli Guru
Joined: 03 Sep 2022 Posts: 370
|
Posted: Wed Jul 19, 2023 8:45 am Post subject: |
|
|
Meiner Meinung nach solltest du dich entscheiden: Entweder verwendest du NetworkManager oder du verwendest die Hausmittel von systemd für deine Netzwerkkonfiguration. Da du NetworkManager zu kennen scheinst, ist es kein Problem, wenn du ihn auch weiterhin verwendest.
Jetzt sieht es nämlich so aus, als ob sich zwei oder mehr Dienste für die DNS-Auflösung in die Quere kommen und es zu spürbaren Verzögerungen kommt. Da /etc/resolv.conf sowohl von systemd als auch NetworkManager verwendet, gelesen und geschrieben werden, kann das auch nicht gut gehen (insbesondere der Symlink hat die Situation wahrscheinlich noch verschlimmert).
Deine Probleme haben ziemlich sicher keinen Zusammenhang mit DNSSEC an und für sich. Mit der Standardeinstellung von systemd-resolved ist DNSSEC auf "DNSSEC=allow-downgrade/unsupported" eingestellt und sollte dafür sorgen, dass du auch DNS auflösen kannst, wenn der DNS-Server kein DNSSEC unterstützt.
Ich persönlich verwende nur die Hausmittel von systemd und habe den NetworkManager gar nicht erst installiert. Ich bekomme die DNSSEC Meldungen auch, aber habe keine spürbaren Verlangsamungen bei der Namensauflösung.
Für die systemd-Fehlersuche hilfreich:
Code: | systemd-analyze cat-config systemd/resolved.conf
resolvectl status |
|
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1668
|
Posted: Wed Jul 19, 2023 8:52 am Post subject: |
|
|
danach musst du auch noch systemd-resolved neu starten. Hast du das evtl vergessen?
wenn nicht, dann lass doch bitte mal ein
Code: | journalctl --unit=systemd-resolved --follow |
laufen, während eine DNS-Abfrage läuft (dig/ping...)
AFAIK ist das dns-over-tls nur ein flag, dass er es kann, defaultmäßig sollte es nicht genutzt werden, da gibts auch ein setting DNSOverTLS was standardmäßig No ist.
PS:
Quote: | Mit systemd-resolved dauern vor allem "bloated" Seiten, die viel Werbung enthalten, wie z.B. chip.de, viele Sekunden bis firefox fertig ist |
https://ublockorigin.com/de |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5192
|
Posted: Wed Jul 19, 2023 9:03 am Post subject: |
|
|
DOT (dns over tls) muss auch vom DNS server unterstützt werden der in deinem system eingestellt ist. Und wie Christian99 schon gesagt hast ist dieses feature in der default config aus. _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
lazydog n00b
Joined: 26 Feb 2007 Posts: 64
|
Posted: Thu Jul 20, 2023 7:07 pm Post subject: |
|
|
sMueggli wrote: | Meiner Meinung nach solltest du dich entscheiden: Entweder verwendest du NetworkManager oder du verwendest die Hausmittel von systemd für deine Netzwerkkonfiguration. Da du NetworkManager zu kennen scheinst, ist es kein Problem, wenn du ihn auch weiterhin verwendest.
Jetzt sieht es nämlich so aus, als ob sich zwei oder mehr Dienste für die DNS-Auflösung in die Quere kommen und es zu spürbaren Verzögerungen kommt. Da /etc/resolv.conf sowohl von systemd als auch NetworkManager verwendet, gelesen und geschrieben werden, kann das auch nicht gut gehen. |
Stimmt. Laut wiki soll ja der symlink grad dafür sorgen, daß Network-Manager die resolv.conf in Ruhe lässt. Aber entweder hab ich noch irgendwas anderes nicht sauber konfiguriert, oder das harmoniert einfach nicht gut.
Ich war jetzt auch so frech und habe einfach mal bei OpenSUSE und Manjaro (jeweils mit KDE) gespickt: Siehe da, beide verwenden NetworkManager ohne systemd-resolved. Den Weg werde ich jetzt auch einschlagen. Ich weiss auch gar nicht, warum bei mir beides aktiv war, der NetworkManager kam glaube ich durch mein Profile rein (systemd/desktop/kde-plasma) aber warum resolved auch aktiv war kann ich nicht mehr sagen. Vielleicht mach ich mal ein Image vom System und versuche eine Konfig ohne NetworkManager (Lernmotivation), aber momentan fehlt mir die Zeit.
DAS hab ich selbstverständlich installiert .. ohne uBlock ist das meiste im Web heutzutage ja nicht mehr auszuhalten...
firefly wrote: | DOT (dns over tls) muss auch vom DNS server unterstützt werden der in deinem system eingestellt ist. Und wie Christian99 schon gesagt hast ist dieses feature in der default config aus. |
Aye! Bei mir ist das halt die FritzBox im lokalen Netzwerk. Und die wird höchstwahrscheinlich den Telebumm-Nameserver befragen. Wäre es vorteilhafter direkt einen public DNS einzutragen? Auch ein Kapitel wo ich mich mal einlesen muss...
Mal wieder herzlichen Dank an alle für Tipps und Anregungen! |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5192
|
Posted: Thu Jul 20, 2023 7:28 pm Post subject: |
|
|
lazydog wrote: | Aye! Bei mir ist das halt die FritzBox im lokalen Netzwerk. Und die wird höchstwahrscheinlich den Telebumm-Nameserver befragen. Wäre es vorteilhafter direkt einen public DNS einzutragen? Auch ein Kapitel wo ich mich mal einlesen muss... |
Verstehe ich dich richtig verstehe willst du auf deinem system einen public DNS server angeben?
Dadurch verlierst du aber die Auflösung von DNS namen von anderen Netzwerkgeräten die im gleichen Netzwerk sind wie dein System.
Zusätzlich verlierst du den zugriff auf das Webinterface der Fritzbox via fritz.box.
Man kann networkmanager auch so konfigurieren, dass es systemd-resolvd als DNS "plugin" nutzt.
In der default Einstellung verändert Networkmanager selbst die /etc/resolv.conf anhand der Daten die NM z.b. via DHCP bekommen hat.
Wobei das nicht gemacht wird, wenn die option "dns" nicht in der NetworkManager.conf , main section, gesetzt ist und /etc/resolv.conf ein symlink zu einem dieser Dateien ist:
/run/systemd/resolve/stub-resolv.conf
/run/systemd/resolve/resolv.conf
/lib/systemd/resolv.conf
/usr/lib/systemd/resolv.conf.
Dann wird systemd-resolvd genutzt.
https://wiki.gnome.org/Projects/NetworkManager/DNS
@sMueggli: NetworkManager und systemd sind nicht exlusiv so das du nur das eine oder das andere nutzen kannst/musst. Man kann NetworkManager sehr wohl mit systemd-resolvd nutzen (wenn man das möchte) _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
Max Steel Advocate
Joined: 12 Feb 2007 Posts: 2229 Location: My own world! I and Gentoo!
|
Posted: Fri Jul 21, 2023 8:17 am Post subject: |
|
|
Wenn ich Ihn richtig verstand will er in der Fritzbox einen öffentlichen DNS Server eintragen, also einen öffentlichen der nicht die Telekom betreibt, sondern eventuell Google oder einen anderen der öffentlichen "wir fragen direkt die Rootserver" DNS Servern.
Der Schritt zu einem anderen Netzlokalen DNS Server mit angeflanschtem Records-Update von DHCP ist dann ein größerer Schritt (in den ich mich selbst gern mal einlesen würde. Angeblich total einfach. Sieht aber immer so kompliziert aus). _________________ mfg
Steel
___________________
Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2)
Last edited by Max Steel on Fri Jul 21, 2023 9:00 am; edited 1 time in total |
|
Back to top |
|
|
sMueggli Guru
Joined: 03 Sep 2022 Posts: 370
|
Posted: Fri Jul 21, 2023 8:57 am Post subject: |
|
|
firefly wrote: | @sMueggli: NetworkManager und systemd sind nicht exlusiv so das du nur das eine oder das andere nutzen kannst/musst. Man kann NetworkManager sehr wohl mit systemd-resolvd nutzen (wenn man das möchte) |
Danke für die Info. Ich habe mich nie intensiv mit dem NetworkManager auseinandergesetzt, sondern ihn einfach nur genutzt, wenn er schon vorinstalliert war.
Last edited by sMueggli on Fri Jul 21, 2023 4:51 pm; edited 1 time in total |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5192
|
Posted: Fri Jul 21, 2023 9:42 am Post subject: Re: DNS lookups sehr langsam |
|
|
lazydog wrote: |
[code]Jul 18 10:55:38 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question www.weinheim.de IN A: failed-auxiliary
Jul 18 10:55:38 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question www.weinheim.de IN AAAA: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question kivbf.de IN SOA: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question k1z06s024.kivbf.de IN DS: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question k1z06s024.kivbf.de IN SOA: failed-auxiliary
Jul 18 10:55:43 mars systemd-resolved[2329]: [LNK] DNSSEC validation failed for question k1z06s024.kivbf.de IN A: failed-auxiliary
|
Diese Fehlermeldungen haben nur bedingt was mit systemd-resolved zu tun.
Für diese Domains ist DNSSEC scheinbar fehlerhaft konfiguriert, wodurch systemd-resolved in bestimmten Konfigurationen probleme hat und länger braucht.
siehe auch die Diskussion hier:
https://github.com/systemd/systemd/issues/9867 _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
lazydog n00b
Joined: 26 Feb 2007 Posts: 64
|
Posted: Fri Jul 21, 2023 11:02 am Post subject: |
|
|
Super, sehr gute Infos
Den DNS-Server hätte ich tatsächlich lokal auf dem Gentoo-Rechner in die resolv.conf gehämmert. Namensauflösung im Heimnetzwerk brauch ich nicht, die einzige Verbindung geht zu meinem NAS über feste IP-Adresse und die IP von der Fritzlbox weiss ich auch auswendig
Die Tablets und Schmartfones von der Familie können machen was se wollen, is mir wumpe |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|