← alle Posts

18. Juli 2026 Homelab

Technitium im Homelab: DNS selbst in die Hand nehmen

Warum ich einen funktionierenden Ad-Blocker rausgeworfen habe, um einen richtigen DNS-Server hinzustellen.

Jeder, der ein Homelab hat, kennt das: Man baut immer mal wieder etwas um, nicht weil man es muss, sondern weil man es (noch besser) machen kann. Die alte Lösung läuft, hat getan, was sie sollte – und man wirft sie trotzdem raus.

Genau das habe ich mit AdGuard Home gemacht. Jahrelang lief das hier als mein DNS, hat brav für uns Werbung geblockt, ein hübsches Dashboard angezeigt und nie Probleme bereitet. Trotzdem ist es jetzt rausgeflogen. Ersetzt durch Technitium als DNS-Server.

Aber um den tatsächlichen Grund zusammenzufassen:

Und irgendwann war mein Anspruch an mein Netzwerk, es „richtig“ zu machen.

Was ich eigentlich wollte

Der eigentliche Auslöser wird jedem bekannt vorkommen, der zuhause mehr als drei Dienste hinter einem Reverse Proxy hängen hat.

Ich habe für mein Homelab eine eigene Domain, unter der alle gehosteten Dienste als Subdomains laufen. Fotoverwaltung, Medienserver, eigene Cloud, etc. Öffentlich zeigt die Domain auf meine externe IP, intern soll sie auf den Reverse Proxy im Heimnetz zeigen: also gleicher Name, aber unterschiedliche Antwort (je nachdem, wer fragt). Das nennt sich Split-Horizon-DNS und sollte im Homelab der Normalfall sein.

Der Vorteil ist nicht nur Geschwindigkeit (der Traffic geht nicht einmal über den Router raus und wieder rein). Der wichtigere Grund: Intern funktioniert DNS dann auch, wenn das Internet weg ist. Auch wenn mein Provider mal nicht will, möchte ich trotzdem noch an meine Dokumente kommen.

Dazu kam der Wunsch nach Reverse DNS. Jedes Gerät im Netz soll nicht nur einen Namen haben, der auf eine IP zeigt, sondern auch umgekehrt: Jede IP soll einen Namen zurückliefern. Wozu ist das nun wieder gut? Das sorgt z.B. dafür, dass in einem Monitoring-Dashboard nicht nur IP-Adressen stehen, sondern sowas wie datengrab oder sonos-wohnzimmer angezeigt wird.

Es hilft auch sehr, wenn man direkt die Warnung „drucker-johanna ist down“ bekommt, anstatt erst mal nachzuschlagen, welche IP-Adresse welches Gerät ist.

Und schließlich: eine saubere Namenskonvention. Dienste unter dem einen Schema, Geräte unter einem anderen.

Wo AdGuard Home an die Grenze kommt

Um fair zu bleiben: Reverse DNS und Split-Horizon kann man auch mit AdGuard Home machen – irgendwie. Über die DNS-Rewrite-Regeln lassen sich einzelne PTR-Records fälschen, und mit dem $client-Modifier kann man Antworten je nach anfragendem Client unterschiedlich ausliefern. Das ist Split-Horizon per Definition.

Aber das grundsätzliche Problem: AdGuard Home kennt kein Zonenkonzept.

Es gibt keine Zone. Kein SOA, kein NS, keine Delegation, keinen Zonentransfer, kein DNSSEC-Signing, keine Secondary Zone, kein Zonefile. Alles, was bei AdGuard nach DNS aussieht, ist in Wahrheit eine Filterregel. Man fälscht einzelne Antworten, statt eine Zone zu betreiben.

Das ist jetzt nicht nur meine Auslegung, das ist die erklärte Position des Projekts. Der Feature-Request „Add DNS zone via web interfaceliegt seit Jahren geschlossen im Repo, mit der Antwort des Maintainers, dass die DNS-Rewrites vielleicht irgendwann erweitert werden.

Aber: „That’s a bit in the air right now.“ Und bis dahin soll dnsrewrite der Weg bleiben. Und: Das ist völlig legitim. AdGuard Home definiert sich selbst als „network-wide software for blocking ads and tracking“, die als DNS-Server operiert. Es macht also genau das, was es behauptet.

Ich wollte dann aber doch ein bisschen mehr. Wer zehn interne Namen hat, kommt mit Rewrite-Rules gut klar. Aber eine Wildcard-Zone, eine getrennte Geräte-Zone und zwei Reverse-Zonen mit automatisch gepflegten PTR-Records damit bauen, verursacht dann doch eher Kopfschmerzen…

Technitium als Telefonzentrale

Technitium ist ein vollwertiger DNS-Server: autoritativ & rekursiv, mit Web-Oberfläche. Steht unter der GPLv3 und ist im Wesentlichen von einer Person (Shreyas Zare) entwickelt.

Warum Technitium?

Die Migration selbst war tatsächlich unspektakulär: Ich habe Technitium auf dieselbe IP und denselben Port wie vorher AdGuard gesetzt. Damit musste ich am Router genau nichts umkonfigurieren. Für alle Geräte im Haus hat sich schlicht nichts geändert.

Der Aufbau danach:

Die Namenskonvention, die dabei rauskam, ist simpel genug, um sie sich zu merken: dienst.meine-domain geht immer über den Reverse Proxy. gerät.internal.meine-domain geht direkt ans Gerät, ohne Proxy dazwischen. Wenn ich einen Namen sehe, weiß ich sofort, in welche Kategorie er gehört.

Keine Forwarder – und der Trade-off

Das ist vielleicht der Teil, bei dem ich am längsten hin und her überlegt habe.

Normalerweise fragt der DNS-Server im Haus einen der großen Anbieter (Cloudflare, Google, den Provider selbst, …) und reicht die Antwort dann durch. Das nennt man Forwarder.

Die Alternative ist rekursive Auflösung: Der Server fragt sich selbst durch, von den Root-Servern über die TLD-Server bis zum zuständigen Nameserver der Zieldomain. Da ist dann kein Dritter dazwischen.

Der Vorteil ist Privatsphäre: Kein einzelner Anbieter sieht mehr meine vollständige DNS-Historie. Die Google-Server erfahren, dass ich eine Google-Seite aufrufe – aber nicht, dass ich kurz darauf mein Online-Banking oder Spiegel Online öffne. Bei einem Forwarder weiß der Upstream alles.

Der Nachteil ist Geschwindigkeit, und das muss einem bewusst sein: Der erste Aufruf einer Domain unter einer bisher unbekannten TLD kann bis zu einer Sekunde dauern, mit DNSSEC auch länger. Danach liegt alles im Cache und Folgeanfragen sind im Bereich von unter 0,1 Sekunden. Die großen Anbieter haben praktisch alles Gängige permanent im Cache – dagegen kommt eine kleine Instanz bei mir im Keller nicht an.

Das Argument „aber CDNs liefern dir dann schlechtere Server“ (EDNS Client Subnet) trifft bei einem Resolver im eigenen Haus übrigens deutlich weniger zu: Das Problem entsteht dadurch, dass der Resolver weit weg vom Client steht. Meiner steht aber im selben Netz.

Was man dagegen auf dem Zettel haben sollte, weil es sich fies debuggen lässt: Manche Provider und Consumer-Router fangen Port 53 ab und leiten ihn um, ohne irgendeinen Hinweis. Manche CG-NAT-Setups lassen UDP durch, verwerfen dann aber stillschweigend TCP auf Port 53 – das braucht man aber für DNSSEC-Antworten. Wenn Rekursion sich seltsam verhält, liegt das möglicherweise genau daran.

Da ich Glasfaser habe und die Latenz im Alltag schlicht nicht merke, war die Entscheidung bei mir leicht(er). Wer aber an einem langsamen Anschluss hängt oder ein Haus voller ungeduldiger Menschen hat, kann das ggf. anders gewichten. Es ist ein Trade-off – kein „richtig“ oder „falsch“.

Die Schattenseiten

Kurz zu den Alternativen (die ich mir nicht alle im Detail angeguckt habe):

Fazit

War das unbedingt nötig? Nö. AdGuard Home hätte auch weiterhin noch seine Dienste getan und ist für viele vermutlich die richtige Wahl: einfacher, besser dokumentiert – und tut, was es soll.

Der Wechsel lohnt sich aber, wenn man merkt, dass man anfängt, DNS-Konzepte mit Filterregeln nachzubauen. Wenn du eine Handvoll interner Namen umbiegst: bleib bei AdGuard oder Pi-hole. Aber wer anfängt, sich Wildcards, Reverse-Zonen und Split-Horizon zusammenzubasteln, kämpft gegen das Tool – und sollte besser das Werkzeug wechseln.

Das Schönste am neuen Setup ist dann auch gar nicht der Zonenkram, sondern der oben erwähnte zusätzliche Komfort im täglichen Gebrauch: Ich lege einen neuen Dienst an, trage ihn im Reverse Proxy ein, und die Wildcard-Zone hat den Rest schon erledigt. Kein DNS-Eintrag, kein Nacharbeiten. Und im Monitoring stehen Namen statt Nummern, weil der DHCP-Server die PTR-Records von selbst pflegt.

Learning:

Ein Ad-Blocker, der DNS spricht, ist etwas anderes als ein DNS-Server, der auch Ads blocken kann. Man merkt den Unterschied erst, wenn man mehr will als nur Blocken – dann merkt man ihn aber sofort.

Nachtrag · 19.07.2026

Was ist mit DoH/DoT?

Berechtigter Einwand aus dem Fediverse: Rekursiv gehen meine Anfragen auf Port 53 unverschlüsselt im Klartext zu den autoritativen Servern raus.

Das stimmt und ist unschön. Allerdings verschlüsselt DoH/DoT zu einem Anbieter zwar die letzte Meile, gibt dafür aber genau einem Anbieter meine komplette Historie, während bei rekursiver Auflösung (plus QNAME-Minimization) kein Einzelner alles sieht. Das sind nach meiner Sicht zwei unterschiedliche Bedrohungsmodelle.

Wer die verschlüsselte letzte Meile höher gewichtet, fährt mit Pi-hole plus dnscrypt-proxy und einem DoH-Upstream richtig. Ich habe für mich „kein zentraler Mitleser“ über „verschlüsselte letzte Meile“ gestellt (u.a. da mein Provider sowieso meine Ziel-IPs sieht), aber beides ist legitim.

AdGuard Home DNS Homelab Netzwerk Reverse Proxy Self-Hosted Split-Horizon Technitium

Kommentar schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert. Kommentare erscheinen nach Freischaltung.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.