FRITZ!Box und eigener DNS-Server

andy_m4

Vice Admiral
Registriert
Aug. 2015
Beiträge
7.009
Hallo Netzwerk-Profis,

hab hier eine FRITZ!Box 7490 an einem Telekom-Anschluss mit IPv4/IPv6. Funktioniert auch alles super.
Wollte jetzt einen eigenen DNS-Server (im LAN) betreiben. Ist ansich auch kein Problem. Man kann ja in der DHCP-Konfiguration einen DNS-Server angeben. Aber halt leider nur einen. Das heißt, fällt der angegebene DNS-Server aus hat man kein Fallback.

Also hab ich mir gedacht: Gut. Dann lass ich die Firtz!Box als DNS-Forwarder und trage dafür in der Internet-DNS-Konfig den eigenen DNS-Server ein. Da lässt sich dann auch ein alternativer DNS-Server eintragen.

Das Problem ist: Der benutzt auch den eigenen DNS-Server. Aber nicht immer. Wenn ich von einem LAN-Client aus DNS-Lookups mache, dann kommen einige beim konfigurierten DNS-Server an. Andere aber nicht.

Meine Theorie ist, das er nicht immer den primären DNS-Server nimmt, sondern abwechseln auch mal den Alternativen. Diese Theorie wird dadurch gestützt das anscheinend alle DNS-Anfragen zum eigenen Server kommen, wenn ich den auch als alternativen DNS-Server eintrage.

Aber das ist natürlich nicht das, was ich will.
Ich möchte, das er den eigenen DNS-Server nimmt und wenn der nicht verfügbar ist erst dann den alternativen DNS-Server.

Hat dazu irgendwer eine Idee, Erfahrungen, ein alternativen Vorschlag?

Freundlicher Gruß in die Runde
von andy_m4
 
Warum sollte dein DNS Server ausfallen? Bzw. genauer gesagt: Warum sollte dein DNS Server öfters ausfallen als die FritzBox? Hast du eine fallback Box falls die aktive Box ausfällt?

Abgesehen davon gäbe es immer noch die Möglichkeit einen separaten DHCP Server zu betreiben; aber auch damit hast du keinerlei Garantien dazu, welchen der angegebenen DNS Server die Clients tatsächlich benutzen. Wenn du echte Redundanz für deinen eigenen DNS benötigst, müsstest du dir konsequenterweise zwei separate DNS Server hinstellen.
 
Folgende Config bei mir:
1617822331246.png


Führt bei mir zu einem einzelnen, per DHCP gesetztem Resolver, nämlich meinem lokalen.

In dem lokalen sind dann entsprechend Fallbacks konfiguriert, und der in der Fritze konfigurierte Cloudflare taucht bei mir am Client halt einfach nicht auf.

//edit: Ah warte, tatsächlich hab ich per DHCP wohl doch meinen lokalen Resolver eingestellt bash.
D.h. die obere Config ist nicht relevant.

Aber - es ist doch der Job des lokalen Resolvers nen Fallback zu handhaben. Gut, der ist tatsächlich nicht redundant. Müsste man über nen TCP-Loadbalancer machen, sowas :S.

//e2: Wobei ich bisher noch keinen einzelnen Ausfall meines Resolvers hatte. Ist irgendne kleine Ubuntukiste mit nem N3700 drin.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: NMA
Was hast du für einen eigenen DNS aufgesetzt? Ist dieser so konfiguriert, dass er für jegliche Anfragen zuständig ist? Könnte es sein, dass der vielleicht teilweise nicht antwortet und dann der alternative die Anfrage bekommt? Wie löst dein eigener DNS externe Namen auf?
 
andy_m4 schrieb:
Meine Theorie ist, das er nicht immer den primären DNS-Server nimmt, sondern abwechseln auch mal den Alternativen.
Das ist nicht nur eine Theorie, sondern Praxis. Primäre und sekundäre DNS-Server sind kein Fallback. Sobald der primäre DNS auch nur eine Millisekunde zu lange braucht, wird sofort der sekundäre DNS gefragt, parallel zu erneuten DNS-Queries an den primären. Deswegen kann die Verwendung eines sekundären DNS zu einem DNS-Leak führen, wenn man verschiedene DNS einträgt, zB einen lokalen pihole und 8.8.8.8.
 
  • Gefällt mir
Reaktionen: TheManneken, Fenugi, Engaged und 4 andere
Unter Windows wird nach einer Sekunde auf den Alternativen DNS-Server umgeschaltet.
https://wiki.xdroop.com/space/Windows/Client+DNS+failover+behavior
Wann die Fritzbox umschaltet habe ich nicht spontan nicht gefunden. Wär mal spannend das mit Wireshark zu beobachten.
Heißt wenn die Antwort vom primären nicht rechtzeitig da ist, wird eine neue Anfrage losgeschickt zum Zweiten. Und wer dann zuerst Antwortet gewinnt.
Ich hab deshalb mein zweiten, alten Raspi 1 als Fallback-PiHole reaktiviert. Damit hab ich Kontrolle über beide DNS, die beide die gleichen Filterliste haben.
up.whatever schrieb:
Warum sollte dein DNS Server ausfallen? Bzw. genauer gesagt: Warum sollte dein DNS Server öfters ausfallen als die FritzBox?
Der Router ist eines der stabilsten Geräte bei mir im Netzwerk. Zumindest stabiler als der Raspberry Pi, der mit seinem Pi-Hole den DNS macht.
 
  • Gefällt mir
Reaktionen: NMA, Olunixus, Raijin und eine weitere Person
der der schneller antwortet gewinnt. Sprich wenn dein DNS Server das nicht weiß, fragt er nach bei den anderen DNS Server, was aber idR langsamer ist als direkt bei der Alternative anzufragen.
 
Raijin schrieb:
Primäre und sekundäre DNS-Server sind kein Fallback.
Das habe ich etwas falsch formuliert. Das ist natürlich schon ein Fallback, aber eben nicht so straightforward wie man es vielleicht denkt. Als erstes wird stets der primäre DNS gefragt und wenn dieser Query ins Timeout läuft, geht ein teils abwechselnd teils paralleler DNS-Prozess ausgelöst, der zunächst den sekundären DNS fragt, während gleichzeitig der primäre mit erhöhtem Timeout erneut gefragt wird.

Ich hatte vor einigen Jahren mal einen Link auf einen KB-Artikel auf microsoft.com wo offiziell erklärt wurde wie genau der Prozess abläuft. Leider finde ich den Artikel nicht mehr und man muss sich entweder auf inoffizielle Quellen stützen oder es ggfs mit WireShark selbst analysieren.

Eine Fritzbox muss das natürlich nicht genauso machen und ich gehe auch davon aus, dass der Prozess etwas anders abläuft. Das Grundprinzip bleibt aber gleich. Die beiden DNS sollten daher stets "Kopien" sein, damit der DNS-Query in jedem Fall das korrekte Ergebnis liefert - egal ob die Antwort vom primären oder sekundären DNS kommt. Ein quasi-Fallback auf google, o.ä. ist wenig sinnvoll, insbesondere dann, wenn man gar auf die Idee kommt, den DHCP-Server vom lokalen DNS zu trennen. Dann kann es nämlich passieren, dass man keinerlei lokale Namen mehr auflösen kann, weil lokale Namensauflösung plötzlich über einen public DNS versucht wird, weil 8.8.8.8 als sekundärer DNS verwendet wurde.


Wie dem auch sei, wenn man sich Sorgen macht, dass der DNS ausfällt, zB pihole auf einem PI, dann ist der sekundäre DNS nicht die Lösung, sondern die Migration auf zuverlässigere Hardware.


*edit
wtf, im Link von @Nilson ist ein Link auf die DNS-Seite von Microsoft! Muss ich mir gleich bookmarken...
 
  • Gefällt mir
Reaktionen: Fenugi, andy_m4, Poati und eine weitere Person
Vielen Dank für die zahlreichen Antworten.

Erstmal vorneweg. Der Hintergrund ist der, das hier eh schon ein Rechner läuft und wenn da schon da ist, kann der auch gleich DNS machen.
Warum überhaupt eigenes DNS? Zum Blocken a-la PiHole und Co (sprich man lässt bestimmte Domains die man nicht haben will auf NXDOMAIN "zeigen").
Und damit man nicht umständlich in allen LAN-Clients eintragen muss ist natürlich das über die Fritz!Box zu regeln die logische Lösung.

Jetzt war mein (naiver) Ansatz. Ich trag den einfach in der Fritz!Box als "Bevorzugten DNS-Server" ein. Dann wird der halt immer benutzt. Und falls der aus was für Gründen auch immer nicht verfügbar ist, dann trag ich als "Alternativen DNS-Server" eben einen frei verfügbaren aus dem Internet ein. Dann habe ich zwar die Filterwirkung nicht mehr falls mein DNS-Server ausfällt, aber "Internet geht trotzdem noch".

up.whatever schrieb:
Warum sollte dein DNS Server ausfallen?
Im Grunde wurde die Antwort ja schon im Posting #7 gegeben.
Im Grunde ist ja Internet auf funktionierendes DNS angewiesen. Ohne läuft ja nix. Im Grunde vergrößere ich durch nen eigenen DNS-Server ja das Ausfallrisiko. Vorher musste halt nur die Fritz!Box ausfallen, damit das Internet nicht geht. Jetzt hab ich noch den DNS-Server dessen Ausfall ein nichtfunktionierendes Internet zur Folge hätte.

up.whatever schrieb:
Wenn du echte Redundanz für deinen eigenen DNS benötigst, müsstest du dir konsequenterweise zwei separate DNS Server hinstellen.
Für den eigenen DNS-Server nicht. Nur für Namensauflösung allgemein.

Poati schrieb:
Was hast du für einen eigenen DNS aufgesetzt?
unbound

Poati schrieb:
Ist dieser so konfiguriert, dass er für jegliche Anfragen zuständig ist?
Ja.

Poati schrieb:
Könnte es sein, dass der vielleicht teilweise nicht antwortet
Ich sehe ja anhand des Logs, wann welches DNS-QUERY kommt und was und wann die DNS-ANSWER kommt. Und da sehe ich, dass alles ok ist.

Raijin schrieb:
Wie dem auch sei, wenn man sich Sorgen macht, dass der DNS ausfällt, zB pihole auf einem PI, dann ist der sekundäre DNS nicht die Lösung, sondern die Migration auf zuverlässigere Hardware.
Die Hardware (und Software) ist an und für sich zuverlässig. Aber man weiß nie. Ein (wie auch immer geartetes) Fallback wäre mir da schon lieb.

Raijin schrieb:
Ein quasi-Fallback auf google, o.ä. ist wenig sinnvoll, insbesondere dann, wenn man gar auf die Idee kommt, den DHCP-Server vom lokalen DNS zu trennen. Dann kann es nämlich passieren, dass man keinerlei lokale Namen mehr auflösen kann,
Das Problem habe ich dadurch (mit)gelöst, das quasi die Fritz!box der Nameserver ist. Lokale Namen werden (sowas wie fritz.box) daher aufgelöst unabhängig davon ob der Forwarding-DNS-Server da ist oder nicht.

Raijin schrieb:
Sobald der primäre DNS auch nur eine Millisekunde zu lange braucht, wird sofort der sekundäre DNS gefragt, parallel zu erneuten DNS-Queries an den primären.
Schade das man kein Time-out angeben kann wie in so einer klassischen /etc/resolv.conf
Wäre ja auch prinzipiell nicht schlimm wenn ab und an mal eine Query durchrutscht. Aber im Augenblick sind es gut 50%, so das man das mit dem Filtern auch fast gleich sein lassen kann.

Jetzt nur für diese Filter-Sache mir aber eine andere Lösung zu basteln, den Aufwand wollte ich eigentlich nicht treiben. Ich dachte mit meiner Vorgehensweise hätte ich da ne Variante, die sich auch schnell und einfach umsetzen lässt. Wenn natürlich jemand dazu eine ähnlich einfach zu implementierende Alternativlösung parat hat, wäre ich dafür natürlich offen.
 
andy_m4 schrieb:
Die Hardware (und Software) ist an und für sich zuverlässig. Aber man weiß nie. Ein (wie auch immer geartetes) Fallback wäre mir da schon lieb.
Dann wie @Nilson in #7 ja bereits von sich berichtet hat einen zweiten PI mit pihole installieren. Wenn primärer und sekundärer DNS grundlegend verschieden sind, kann keine zuverlässige und konsistente Namensauflösung erfolgen, wenn der primäre DNS in irgendeiner Form unzuverlässig ist.


andy_m4 schrieb:
Das Problem habe ich dadurch (mit)gelöst, das quasi die Fritz!box der Nameserver ist. Lokale Namen werden (sowas wie fritz.box) daher aufgelöst unabhängig davon ob der Forwarding-DNS-Server da ist oder nicht.
Lokale Namen sind ja nur ein Beispiel. Wenn du im pihole Filter für Jugendschutz drin hast oder dem nervigen TV den Zugang zu hersteller.datensammel.ei verwehren willst, wird das sofort ausgehebelt sobald der sekundäre DNS in Form von zB google greift. So kann man sich die Filterei tatsächlich sparen, insbesondere in Bezug auf den nächsten Punkt mit der recht hohen Quote von DNS-Leaks.

andy_m4 schrieb:
Aber im Augenblick sind es gut 50%, so das man das mit dem Filtern auch fast gleich sein lassen kann.
50% klingen zwar ungewöhnlich hoch, aber wenn dem so ist, ist es ein Grund mehr, zwei identische DNS als primär und sekundär einzurichten, also wie eben schon geschrieben 2x PI inkl. pihole.


Allerdings möchte ich an dieser Stelle anmerken, dass das an sich ein hausgemachtes Problem ist. Du schreibst ja von Anfang an nur, dass du ein Fallback haben möchtest, aber nicht, dass du tatsächlich eines brauchst, weil du handfeste Probleme hast. Deine Probleme mit den 50% sind daher nicht zwingend auf einen "kaputten" pihole zurückzuführen, sondern eine direkte Folge der Verwendung von 2 DNS.

Daher die ganz konkrete Frage: Wenn du ausschließlich den primären DNS verwendest, hast du dann überhaupt Probleme? Wenn nein, brauchst du eigentlich auch kein Fallback, weil das nicht-ganz-so-richtig eingesetzte Fallback hier offenkundig selbst für Probleme sorgt. Selbst wenn der pihole mal ausfallen sollte, ist es eine Frage von 15 Sekunden, kurz die Einstellungen in der Fritzbox zu ändern, um den pihole aus dem System zu nehmen.
 
  • Gefällt mir
Reaktionen: Poati
Auf was für Hardware läuft denn nu der DNS-Server? Du schriebst glaube ich nur Rechner. Das klingt so, als würde da unter Umständen noch dies und das drauf laufen. Damit kann man sich erklären, wieso so viele Anfragen an den sekundären DNS gehen.
Für Zuhause ist da ein Pi und dann mit Pihole besser. Wenn Fallback weiterhin gewünscht ist, dann stellst du dir zwei davon hin. Die Namensauflösung im Netzwerk würde ich nicht auf eine Desktop Kiste packen, die "eh schon läuft".
 
  • Gefällt mir
Reaktionen: 0-8-15 User
Vielen Dank für eure Rückmeldungen.

Raijin schrieb:
hat einen zweiten PI mit pihole installieren.
Ja. Hab ich mitbekommen. Aber nur deshalb noch ein Stück Hardware hinstellen würde ich ungern machen wollen. Ist ja auch wieder Stromverbrauch (gut; das ist bei nem RasPi überschaubar) und Pflege (Updates etc.).

Raijin schrieb:
Wenn primärer und sekundärer DNS grundlegend verschieden sind, kann keine zuverlässige und konsistente Namensauflösung erfolgen, wenn der primäre DNS in irgendeiner Form unzuverlässig ist.
Der ist ja nicht unzuverlässig. Aber für den Fall des Falles soll halt DNS weiter funktionieren.
Raijin schrieb:
Wenn du im pihole Filter für Jugendschutz drin hast oder dem nervigen TV den Zugang zu hersteller.datensammel.ei verwehren willst, wird das sofort ausgehebelt sobald der sekundäre DNS in Form von zB google greift.
Das ist mir bewusst. Aber wie schon gesagt: Der Filter muss nicht perfekt sein. Es ist jetzt nicht dramatisch, wenn da was durchrutscht.

Raijin schrieb:
DNS-Leaks sind kein wirkliches Problem. Die Situation vorher hier war so, das einfach direkt der DNS-Server vom Provider verwendet wurde. Ist jetzt also nicht so, das hier irgendwie ein hochsicheres VPN ist und dann droht das via DNS Daten abfließen.

Raijin schrieb:
50% klingen zwar ungewöhnlich hoch,
Finde ich auch. Leider habe ich keine Idee wie ich hinsichtlich dessen der Fritz!box weitere Informationen entlocken könnte. Bei nem "Linux"-Router (OpenWRT oder was auch immer) kann man da ja eine Menge mehr Diagnose machen.
Beim unbound selbst sehe ich im Log jetzt keine Probleme. Allerdings hab ich dort sowohl DNS-over-TLS als auch DNSSEC angeschaltet. Beides kostet natürlich Zeit. Mehr Zeit als einfach "plain" eine DNS-Query zu machen.

Raijin schrieb:
Deine Probleme mit den 50% sind daher nicht zwingend auf einen "kaputten" pihole zurückzuführen, sondern eine direkte Folge der Verwendung von 2 DNS.
Exakt.
Ich hatte die Einstellungen in der Fritz!Box offenbar fehlinterpretiert. Ich dachte der nutzt das wirklich in der von mir beschriebenen Weise.

Raijin schrieb:
Daher die ganz konkrete Frage: Wenn du ausschließlich den primären DNS verwendest, hast du dann überhaupt Probleme?
Nein. Dann gibts keine "Probleme". Ich kann auch rein nur den eigenen DNS-Server verwenden.
(Probleme gibts sowieso nur in der Weise, das halt nicht alles via DNS-Filter läuft)
Meine Idee dahinter einen Alternativ-DNS einzutragen ist halt nur der Backup-Gedanke. Sprich: fällt der DNS-Server tatsächlich mal aus, dann soll das Internet halt trotzdem noch funktionieren.

Raijin schrieb:
Selbst wenn der pihole mal ausfallen sollte, ist es eine Frage von 15 Sekunden, kurz die Einstellungen in der Fritzbox zu ändern, um den pihole aus dem System zu nehmen.
Du hast recht. Nichtsdestotrotz muss ja irgendwer die Einstellungen vornehmen. Ich selbst traue mir das zu. Aber ich bin halt auch nicht immer vor Ort.

Poati schrieb:
Das klingt so, als würde da unter Umständen noch dies und das drauf laufen.
Das ist auch so. Aber weder ist die IO-Last noch die CPU-Last in einem auch nur annähernd problematischen Bereich.

Poati schrieb:
Damit kann man sich erklären, wieso so viele Anfragen an den sekundären DNS gehen.
Ich vermute mal tatsächlich, die Fritz!Box hat ein sehr knappes Time-out eingestellt.
Der unbound ist so konfiguriert, das es DNS-over-TLS macht. Das kostet Performance, wenn auch nur minimal. Allerdings hab ich gerade mal getestet wie es sich verhält, wenn ich DoT ausschalte. Das erhöht die Nutzungsrate nicht wirklich.
 
Weil DNSSEC nur funktioniert, wenn Unbound als Resolver arbeitet (also selber die Informationen von den Nameservern abruft) und DNS-over-TLS nur funktioniert, wenn Unbound als Forwarder arbeitet (also die Anfrage nicht selbst abarbeitet, sondern an einen anderen Server weiterleitet).
andy_m4 schrieb:
Wieso Entweder-Oder?
Weil ich davon ausgegangen bin, dass du Unbound im Resolver-Modus arbeiten lässt und da DNS-over-TLS keinen Sinn macht und ich außerdem nicht mehr auf dem Schirm hatte, dass der Forwarder-Modus DNSSEC nicht komplett ausschließt.
 
Zuletzt bearbeitet:
0-8-15 User schrieb:
Du könntest mal testweise serve-expired anwerfen,
Ja. Könnte man probieren.
0-8-15 User schrieb:
ob es wirklich eine frage der Antwortgeschwindigkeit ist, dass 50 % der Anfragen vom "Fallback-Server" beantwortet werden.
Ich hatte auch schon gedacht, weil die Rate so hoch ist, das die Fritz!Box einfach stumpf schon von sich aus den "Round-Robin" macht und einfach abwechselnd fragt, wenn mehrere DNS-Querys nacheinander reinkommen.
 
Zurück
Oben