Es gibt unterschiedliche Typen von DNS Servern:
- Authoritative DNS Server
Sie sind für eine (oder mehrere) Zonen verantwortlich und lösen diese auf.
Sie sind in der Regel unter Kontrolle desjenigen, dem die Zone “gehört”.
Z.B. Amazon gehört amazon.com usw.
Amazon betreibt authoritative DNS Server, die wiederum sagen, können, wie aws.amazon.com oder www.amazon.com aufzulösen ist.
- (Rekursive) Resolver
Sie enthalten in der Regel selbst keine Zone Informationen (höchstes zwischengespeichert als Cache). Sie fragen sich durch das DNS durch, um eine Domain aufzulösen:
. → Wer ist für .com zuständig?
.com → Wer ist für amazon zuständig?
.com.amazon → Wer ist für aws zuständig?
.com.amazon.aws → Wie lautet der A Record?
- Forwarder
Sie enthalten ebenfalls in der Regel keine Zone Informationen (höchstens zwischengespeichert als Cache). Sie kommen häufig zum Einsatz, wenn komplexere Strukturen abstrahiert werden sollen oder eben in CPEs (Fritzbox, …).
Wenn sie eine Anfrage bekommen, leiten sie diese 1:1 einfach nur an einen anderen DNS Server weiter und die Antwort wieder zurück an den, der die ursprüngliche Anfrage geschickt hat.
Dein Router bringt normalerweise einen einfachen Forwarder mit.
Handelt es sich um einen vom ISP gestellten Router, dann bekommt er in der Regel auch seine Konfiguration von deinem ISP und der legt auch fest, zu welchem DNS Server der Forwarder Anfragen schicken soll. Im Regelfall ist das Ziel ein DNS Server, den der ISP selbst zur Verfügung stellt.
Dein Router teilt seinen integrierten Forwarder im Regelfall wiederum allen Geräten im Heimnetz via DHCP mit. Diese schicken ihre DNS Anfragen also an den Router, der wiederum fragt den DNS Server deines Providers.
Setzt du z.B. ein PiHole auf, dann ist auch das nur ein DNS Server (mit einer Web UI).
Du musst dann allen Geräten sagen, dass sie bitte das PiHole als DNS Server verwenden sollen. FritzBoxen erlauben es, dass du überschreiben kannst, welchen DNS Server, sie per DHCP den Geräten im Heimnetz mitteilen. Dann musst du nicht die Einstellungen auf jedem einzelnen Gerät manuell anpassen.
Dann werden die Geräte ihre Anfragen nicht mehr an den Router, sondern an dein PiHole schicken.
Dein PiHole verfügt über Blacklists. Ist in einer Anfrage eine Domain, die sich auch auf einer Blacklist befindet, wird das PiHole antworten, dass es die Domain nicht auflösen kann.
Enthält die Anfrage jedoch keine gesperrte Domain, muss irgendwie aufgelöst werden.
PiHole kann sowohl als Forwarder, als auch als Resolver agieren. Es kann also DNS Anfragen einfach weiterreichen oder sich selbst durch das DNS durchfragen: unbound - Pi-hole documentation
Ist im PiHole FTLDNS konfiguriert, arbeitet es als Forwarder und eine Dritte Partei muss die eigentliche Auflösung übernehmen.
Achtung, alles vereinfacht dargestellt und auf Standardfälle reduziert. Technisch sind noch viele Wenn und Aber und Ausnahmen und Ausnahmen von den Ausnahmen denkbar.