Fall-forward bei alternativen IPv4-DNS-Servern

thc

Neuer User
Mitglied seit
15 Sep 2005
Beiträge
108
Punkte für Reaktionen
0
Punkte
16
Hallo zusammen,

ich habe hier einen Pi am Start.
Der ist als bevorzugter DNS-Server in der FRITZ!Box eingetragen.
DHCP-Server ist weiter die Fritz!Box.
Damit gehen alle DNS-Anfragen der Clients zuerst mal an die Fritte.
Da diese die Antworten in der Regel nicht weiß, fragt sie den Pi.
Und das muss auch so sein, weil die Fritte im Gegensatz zum Pi keine Alias-Namen kann.
Und auch keine, die einen FQDN haben, der nicht auf fritz.box endet.
Lokale Adressen kennt der aus der hosts-Datei.
Für andere fragt er einen Nameserver im Internet.
Fällt der Pi mal aus, befragt die Fritte ihren alternativen DNS-Server.
Das ist einer im Internet und kennt alle Adressen - außer den lokalen natürlich, die die Fritte nicht selbst beantworten kann.
Das funktioniert in der Regel auch einwandfrei.

Ausnahme: Der Internet-Zugang hat insgesamt ein Problem - wie an diesem Wochenende.
Dann bekommt die Fritte nicht rechtzeitig eine Antwort vom Pi und schaltet auf den alternativen DNS-Server um.
Damit gibt es weiter alle Adressen aus dem Internetz.
Nur funktionieren ab da die lokalen Namen aus der hosts-Datei auf dem Pi nicht mehr.

Frage: Weiß jemand (außer AVM), wann die Fritte wieder auf den bevorzugten Nameserver zurück geht?

Eine Suche im Internet gibt jede Menge Treffer dazu, wie man alternative Server einträgt.
Aber nix zu meiner Frage - oder ich habe den falschen Suchbegriff verwendet.

Gruß
Claus
 
Nur funktionieren ab da die lokalen Namen aus der hosts-Datei auf dem Pi nicht mehr.
Hast Du schon versucht den PI, in der FritzBox als "Lokaler DNS-Server" einzutragen?
 
Es wurde nach "lokaler DNS-Server" gefragt, nicht nach "bevorzugter DNS-Server"!
Da nützt ein Eigenzitat als Anwort leider nichts. :mad:
 
  • Sad
Reaktionen: sonyKatze
thc schrieb:
DHCP-Server ist weiter die Fritz!Box.
Damit gehen alle DNS-Anfragen der Clients zuerst mal an die Fritte.
Da diese die Antworten in der Regel nicht weiß, fragt sie den Pi.
Und das muss auch so sein, weil die Fritte im Gegensatz zum Pi keine Alias-Namen kann.
Wenn der PI als lokaler DNS-Server (in der FritzBox) konfiguriert ist, dann wird dieser den Clients, per DHCP mitgeteilt, so dass die Anfragen der Clients _direkt_ an den PI gerichtet sind und nicht via FritzBox.
Damit sollte dein Problem:
Dann bekommt die Fritte nicht rechtzeitig eine Antwort vom Pi und schaltet auf den alternativen DNS-Server um.
Damit gibt es weiter alle Adressen aus dem Internetz.
Nur funktionieren ab da die lokalen Namen aus der hosts-Datei auf dem Pi nicht mehr.
evtl. gelöst werden können.
 
Sorry,
lokaler DNS-Server ist natürlich die FritzBox.
Sonst würden die Clients ja gar keine IP-Adressen mehr bekommen, wenn der Pi mal weg ist.
Und genau deshalb ist der Pi auch nicht als lokaler DNS-Server (für die Clients) eingetragen, sondern als erster Resolver in der FritzBox.
Leider kann man ja keinen zweiten lokalen DNS an die Clients verteilen - damit wäre das Problem tatsächlich gelöst.

Gruß
Claus
 
Sorry,
lokaler DNS-Server ist natürlich die FritzBox.
Sonst würden die Clients ja gar keine IP-Adressen mehr bekommen, wenn der Pi mal weg ist.
Und genau deshalb ist der Pi auch nicht als lokaler DNS-Server (für die Clients) eingetragen, ...
Hast Du schon mal getestet welchen fallback-Modus die FritzBox hat, wenn der in ihr konfigurierte lokale DNS-Server nicht erreichbar ist bzw. nicht zur Verfügung steht?
 
Ja - ist aber schon etwas her, als ich mit den Einstellungen herum experimentiert habe.
Es gibt keinen Fallback.
Die FritzBox selber fragt ja ihre unter Internet eingetragenen Nameserver und hat kein Problem.
Die Clients hängen in der Luft - die haben ja beigebracht bekommen, einen anderen Nameserver als die FritzBox zu befragen.
Deshalb habe ich davon dann auch Abstand genommen.
Wireshark sagt übrigens, dass die FritzBox zur Zeit gar nicht auf die Idee kommt, den bevorzugten Nameserver zu befragen.
Da muss imho eine Logik eingebaut sein, die dafür sorgt, dass der bevorzugte Nameserver zumindest eine Zeitlang nicht mehr befragt wird, wenn er mal nicht oder nicht rechtzeitig geantwortet hat.
 
lokaler DNS-Server ist natürlich die FritzBox.
Sonst würden die Clients ja gar keine IP-Adressen mehr bekommen, wenn der Pi mal weg ist.
Das ist für mich nicht nachvollziebar weil:
- der DHCP-Server für die Vergabe von IP-Adressen zuständig ist,
- der DNS-Server die Namensauflösung macht.

Hast du schon die beiden Stellen für diese DNS-Einträge in deiner FRITZ!Box gefunden?
- Internet / Zugangsdaten / [DNS-Server]
- Heimnetz / Netzwerk [Netzwerkeinstellungen] / IPV4-Konfiguration / lokaler DNS-Server
 
  • Wow
Reaktionen: sonyKatze
Die Clients hängen in der Luft - die haben ja beigebracht bekommen, einen anderen Nameserver als die FritzBox zu befragen.
Das wäre oder ist dann ein Manko (Fehler/Nachteil) der FritzBox. Denn es wäre überhaupt kein Problem für die FritzBox, in geeignetem Zeitabstand zu prüfen ob der alternative lokale DNS-Server in ihrem (W)LAN noch erreichbar ist, und wenn das nicht mehr der Fall ist, ihren Clients per dhcp einen anderen (d. h. sich selber) als neuen lokalen DNS-Server mitzuteilen.

Andererseits kann man in so einem "speziellen" Fall wie deiner hier ist, die Clients der FritzBox bzgl. Namensauflösung, auch wenn DHCP verwendet wird so konfigurieren, dass neben der FritzBox noch andere DNS-Server vom Clients aus, benutzt werden können.

EDIT:

Da muss imho eine Logik eingebaut sein, die dafür sorgt, dass der bevorzugte Nameserver zumindest eine Zeitlang nicht mehr befragt wird, wenn er mal nicht oder nicht rechtzeitig geantwortet hat.

Es könnte auch sein, dass die FritzBox "dns negative caching" macht. D. h. sie "merkt" sich die Antwort vom 2. DNS-Server und fragt danach den 1. (bevorzugten) DNS-Server (wenn dieser wieder erreichbar ist) nicht mehr an.
 
Zuletzt bearbeitet:
DHCP-Server ist weiter die Fritz!Box.
Ich habe keine Antwort auf Deine Frage. Daher nur als Einwurf:

Weil ich AVMs DNS-Server überhaupt nicht mag, warum macht der Pi nicht sowohl DNS (als auch DHCP)?

So würdest Du direkt merken, dass der Pi kaputt ist und startest ihn neu. Dazu schaltest Du in der FRITZ!Box den DNS-Server (oder gleich den ganzen DHCP-Server) aus und trägst unter fritz.box → Heimnetz → Netz → (Reiter) Netz-Einstellungen → weitere Einstellungen → (Taste) IPv6-Einstellungen den Pi als lokalen DNSv6-Server ein.
 
So würdest Du direkt merken, dass der Pi kaputt ist und startest ihn neu.
Naja, da könnte jetzt das Argument kommen, dass das nicht geht, wenn man z. B. gerade im Urlaub ist.
Aber genau so wie ein PI "kaputt gehen kann", kann auch eine FritzBox kaputt gehen. Einen PI kann man so konfigurieren bzw. so betreiben, dass dieser genau so sicher (oder unsicher) ist, wie der Router mit dem er verbunden ist.
 
Ja, das ist mein Punkt. Ich mag Netz-Komponenten nicht, die pseudo-redundant sind. Man merkt dann nur in abstrusen Fällen von seinem Unglück, also dass die Komponente nicht läuft.
 
Okay,
keine Antwort zur eigentlichen Frage im Ausgangspost bisher.
Also selbst ist der Anwender.
Ich habe den Pi jetzt erst mal als lokalen DNS-Server eingetragen.
Damit sind alle über DHCP versorgten Clients erstmal zufrieden.
Und unserem Debian-Server beigebracht, einmal in der Stunde bei der FritzBox nach seinem eigenen FQDN zu fragen.
Mal abwarten, wann da wieder eine Antwort kommt und kein NXDOMAIN.

Pi als DHCP und DNS ist natürlich eine Idee - aber nur solange man Zugriff darauf hat.
Unser Pi zu Hause ist nicht der Einzige, für den ich verantwortlich bin.
Wenn da einer dann nicht funktioniert, wäre gleich das ganze LAN lahm gelegt - und bei mir klingelt das smarte Telefon.
Dann lieber so failsafe wie möglich.

Gruß
Claus
 
Okay,
keine Antwort zur eigentlichen Frage im Ausgangspost bisher.
Aber Du warst doch schon nah dran, diese Frage zu beantworten.
thc schrieb:
Wireshark sagt übrigens, dass die FritzBox zur Zeit gar nicht auf die Idee kommt, den bevorzugten Nameserver zu befragen.
Wo hast Du wireshark gestartet, um zu sehen welchen Namensserver die FritzBox befragt?

EDIT:

Das "Problem" ist, dass die FritzBox nicht beide upstream-DNS-Server abfragt und den 2. nur dann wenn der 1. nicht erreichbar ist und den 2. auch dann nicht, wenn der 1. zwar erreichbar ist, aber die Namensauflösung nicht machen kann. Z. B.:
Z. B.:
Code:
:~$ nslookup myip.opendns.com 192.168.178.1
Server:        192.168.178.1
Address:    192.168.178.1#53

Non-authoritative answer:
*** Can't find myip.opendns.com: No answer
In der FritzBox ist aber als 2. DNS-Server 208.67.222.222 konfiguriert und dieser kann die Namensauflösung machen. Z. B.:
Code:
:~$ dig +short myip.opendns.com @208.67.222.222
109.##.###.###

EDIT 2:

Wenn ich den dnsmasq (auf dem PI) mit der Option "all-servers" konfiguriere, werden alle upstream-DNS-Server aus dessen config abgefragt, so dass die Namensauflösung immer gelingt. Z. B.:
Code:
:~$ nslookup myip.opendns.com 192.168.178.27
Server:        192.168.178.27
Address:    192.168.178.27#53

Non-authoritative answer:
Name:    myip.opendns.com
Address: 109.##.###.###
 
Zuletzt bearbeitet:
Wo hast Du wireshark gestartet
Auf meinem Notebook - und dort die Datei eingelesen, welche die FritzBox per capture.lua vom LAN-Interface angelegt hat.
Mt dem Filter udp.port == 53 sieht man dann sehr schön, was so an DNS-Verkehr läuft.
Ein "nslookup host" führt zuerst zu der Frage nach host.fritz.box und danach zu der Frage nach host.
Beide kann die Box nicht beantworten und fragt auch niemanden im Internet, vermutlich weil sie weiß, dass das lokale Namen sind.
Ein "nslookup host.domain.name" führt konsequent zur Anfrage nach host.domain.name.fritz.box, was auf jeden Fall nicht funktioniert.
Und danach zur Frage nach host.domain.name, welches die Box auch nicht auflösen kann, diesmal aber mit einem Verweis auf einen root-Server.
Hätte sie mal den anderen DNS (Pi) befragt - der hätte es nämlich gewußt.
Und das wäre dann auch im Log aufgetaucht.
 
Zuletzt bearbeitet:
Auf meinem Notebook - und dort die Datei eingelesen, welche die FritzBox per capture.lua vom LAN-Interface angelegt hat.
OK. D. h. die Aufzeichnung mit der FritzBox gemacht und die Auswertung mit wireshark gemacht.
 
die Aufzeichnung mit der FritzBox gemacht und die Auswertung mit wireshark gemacht.

Jep - anders ist ja auch nicht wirklich sinnvoll.
Und das, wo ich eigentlich der Firmware eines in einem M5Stick-C werkelnden ESP32 ein WiFi.hostByName(host, ip); beibringen und testen wollte.
Eine Dokumentation oder Beispiele habe ich dazu nicht gefunden - entweder gibt es tatsächlich keine oder ich habe nicht richtig gesucht.
Die FritzBox kann sowas nicht ohne größere Verrenkungen, der Pi schon.

Im Ergebnis bin ich allerdings der Antwort auf meine Frage (Wann fragt die Box wieder ihren primären DNS) auch kein Stück näher.
Wobei doch - ich habe ja inzwischen mein Skript, das irgendwann mal wieder ein true beim nslookup zurück meldet.

Wie ich eine Umgehung hinbekomme, weiß ich tatsächlich selbst.
Das war aber nicht die originäre Fragestellung.

Gruß
Claus
 
Wie ich eine Umgehung hinbekomme, weiß ich tatsächlich selbst.
Inzwischen lässt Du keine Gelegenheit aus, das immer wieder zu betonen.
Ich glaube es dir aber nicht, denn dann hättest Du das schon in deinem 1. Beitrag erwähnen müssen/können.
 
  • Sad
Reaktionen: sonyKatze
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.