staging.inyokaproject.org

DNS Timeout, wenn ein Server nicht antwortet

Status: Ungelöst | Ubuntu-Version: Server 24.04 (Noble Numbat)
Antworten |

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6497

Hallo,

folgendes Szenario:

In netplan sind zwei Nameserver eingetragen. Einer davon ist nicht erreichbar. Wenn der systemd-resolved diesen nun anfragt: wie schnell sollte er merken, dass dieser nicht antwortet und den zweiten fragen?

Frage: Weiß jemand, welche Timeouts der resolved hier hat und ob sich die irgendwie optimieren lassen?

Hintergrund:

In meinen ersten Tests war von 5 Sekunden über 4 Sekunden bis 0,x Sekunden alles dabei.

Nach allem, was ich gelesen habe, kann man hier keinen Timeout-Wert (mehr) setzen. (Vor systemd-resolved war das noch möglich).

Wenn nötig kann ich auch Testergebnisse posten - ich wollte allerdings erstmal von der Theorie kommen.

Danke schon mal für Input

BillMaier

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 845

Was ich mich Frage, warum antwortet einer deiner eingetragenen DNS Server nicht?

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6497

Weil er ne Wartung hat bzw weil ich Ausfalltests mache. Deshalb gibt es zwei.

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 845

Der Standard ist halt 5 Sekunden, 2 x versucht, es gibt wohl Optionen wo du die Timings selbst Konfigurieren kannst zum testen

for domain in google.com facebook.com github.com; do echo "Testing $domain:"; dig @192.168.3.1 $domain | grep "Query time"; done

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

micneu schrieb:

Der Standard ist halt 5 Sekunden, 2 x versucht, ...

Die 5 Sekunden sind der Standardwert für die resolv.conf (RES_TIMEOUT (derzeit 5, siehe <resolv.h>)).
Wenn Du 192.168.3.1 als (nicht erreichbaren) DNS-Server mit dig benutzt, sind es diese 5 Sekunden. Du kannst in der /etc/resolv.conf auch einen Wert > 2 für attempts eintragen und dig wird das (mit 192.168.3.1) so benutzen. Das hat nichts mit dem Timeout von systemd-resolved zu tun, denn in deinem Fall hat dig, 127.0.0.53 nicht benutzt.

ana

Anmeldungsdatum:
20. Mai 2025

Beiträge: Zähle...

Wenn mehrere DNS-Server konfiguriert sind, versucht systemd-resolved zuerst den ersten. Antwortet er nicht, wartet es etwa 5 Sekunden, bevor es zum nächsten DNS-Server wechselt.

Dieses Timeout lässt sich nicht direkt anpassen, aber Sie können die Geschwindigkeit verbessern, indem Sie:

  • einen zuverlässigen DNS (z. B. 1.1.1.1, 8.8.8.8) verwenden

  • oder eine andere Software wie dnsmasq verwenden, um ein kürzeres Timeout zu konfigurieren.

Kurz gesagt: Wenn der erste DNS „tot“ ist, kann es einige Sekunden dauern, bis das System zu einem anderen DNS wechselt. In diesem Fall sollten Sie optimieren, um Netzwerkverlangsamungen zu vermeiden.

Antworten |