Jede Webseite, jede App und jedes Smart-Home-Gerät in Ihrem Netzwerk stellt ständig DNS-Anfragen. Standardmäßig landen diese bei Ihrem Provider oder bei Google und Cloudflare, die damit ein lückenloses Protokoll Ihres Surfverhaltens anlegen könnten. Mit Pi-hole und Unbound bauen Sie in rund 60 Minuten Ihren eigenen rekursiven DNS-Resolver, der Werbung und Tracker netzwerkweit blockiert und Ihre Anfragen ohne Umweg über Dritte direkt bei den autoritativen Servern auflöst.
Diese Anleitung führt Sie in 12 Schritten durch die komplette Einrichtung auf einem Raspberry Pi: vom frischen Betriebssystem über die Installation von Pi-hole v6 und Unbound bis zur Konfiguration der FritzBox. Am Ende läuft ein vollständiges, datenschutzfreundliches DNS-System für Ihr gesamtes Heimnetz. Sie brauchen keine Vorkenntnisse in Linux, jeder Befehl steht zum Kopieren bereit.
Pi-hole mit Unbound einrichten: Das bauen Sie
Pi-hole ist ein netzwerkweiter Werbe- und Trackerblocker, der als DNS-Sinkhole arbeitet. Statt Werbung erst im Browser auszublenden, fängt Pi-hole bereits die DNS-Anfrage zu bekannten Werbe- und Tracking-Domains ab und beantwortet sie ins Leere. Das wirkt auf jedem Gerät im Netzwerk, vom Smart-TV über das iPhone bis zur Spielekonsole, ganz ohne Software auf den Endgeräten.
Unbound ergänzt Pi-hole um einen eigenen rekursiven DNS-Resolver. Ohne Unbound leitet Pi-hole Ihre erlaubten Anfragen an einen externen Upstream wie 8.8.8.8 (Google) oder 1.1.1.1 (Cloudflare) weiter. Dieser Anbieter sieht dann jede einzelne Domain, die Sie ansurfen. Mit Unbound fragt Ihr Pi die DNS-Hierarchie selbst ab: zuerst die Root-Server, dann die zuständigen TLD-Server (etwa für .de), dann die autoritativen Server der Zieldomain. Niemand außer Ihnen sieht das vollständige Bild Ihrer Anfragen.
Das Ergebnis dieser Anleitung ist ein vollständiges Projekt mit drei Kernkomponenten, die sauber zusammenspielen:
- Pi-hole v6 als zentraler DNS-Server und Werbeblocker auf Port 53.
- Unbound als lokaler rekursiver Resolver auf 127.0.0.1 Port 5335, an den Pi-hole seine Anfragen übergibt.
- DNSSEC-Validierung, die jede DNS-Antwort kryptografisch auf Manipulation prüft.
In der Praxis blockiert ein durchschnittliches Heimnetz so zwischen 20 und 40 Prozent aller DNS-Anfragen, abhängig von Geräten und Blocklisten. Gleichzeitig reduzieren Sie Ihre Abhängigkeit von kommerziellen DNS-Anbietern auf null. Wer das Konzept der verschlüsselten Verbindung dahinter verstehen will, findet in unserem Beitrag HTTPS und TLS erklärt die passende Grundlage.
So funktioniert DNS: Die Grundlagen in 90 Sekunden
Um zu verstehen, warum dieses Setup so wirkungsvoll ist, lohnt ein kurzer Blick auf das Domain Name System. DNS ist das Adressbuch des Internets. Wenn Sie shattered.io in den Browser tippen, weiß Ihr Computer noch nicht, hinter welcher IP-Adresse diese Domain steckt. Er stellt deshalb eine DNS-Anfrage und bekommt eine numerische Adresse wie 93.184.x.x zurück. Erst dann baut der Browser die eigentliche Verbindung auf.
Dieser Vorgang läuft pro Webseite oft dutzendfach ab, weil moderne Seiten Inhalte von vielen Domains nachladen: Schriftarten, Skripte, Bilder, Werbenetzwerke und Analyse-Tracker. Genau hier setzt Pi-hole an. Jede dieser Anfragen passiert zuerst Ihren DNS-Server. Steht die angefragte Domain auf einer Blockliste, antwortet Pi-hole nicht mit der echten IP, sondern verweigert die Auflösung. Das Werbe- oder Tracking-Element kann dann gar nicht erst geladen werden.
Wichtig ist die Unterscheidung zwischen rekursiver und iterativer Auflösung. Ein rekursiver Resolver wie Unbound übernimmt die komplette Arbeit für Sie und durchläuft die DNS-Hierarchie selbst, bis er die endgültige Antwort hat. Bei der reinen Weiterleitung delegiert Ihr Server diese Arbeit an einen Dritten und vertraut blind dessen Antwort. Der Unterschied entscheidet darüber, wer Ihr DNS-Verhalten mitlesen kann. Wie kryptografische Prüfsummen solche Antworten absichern, zeigt unser Grundlagenartikel zu digitalen Signaturen.
Voraussetzungen: Hardware, Software und Versionen
Pi-hole und Unbound sind extrem genügsam. Sie laufen problemlos auf einem alten Raspberry Pi, den Sie vielleicht noch in der Schublade haben. Die folgende Tabelle listet die empfohlenen Komponenten mit den zum Zeitpunkt dieser Anleitung aktuellen Versionen. Prüfen Sie die exakten Versionsnummern am Tag der Installation gegen, da sich besonders die Pi-hole-Core-Version schnell ändert.
| Komponente | Empfehlung / Version | Hinweis |
|---|---|---|
| Hardware | Raspberry Pi 4, Pi 5 oder Pi Zero 2 W | Auch Pi 3B+ ausreichend |
| Arbeitsspeicher | mindestens 512 MB, 1 GB+ empfohlen | Unbound-Cache profitiert von RAM |
| Speicherkarte | microSD ab 16 GB, Class 10 / A1 | Markenware reduziert Ausfälle |
| Betriebssystem | Raspberry Pi OS Lite (Bookworm, 64-bit) | Lite reicht, keine Desktop-Oberfläche nötig |
| Pi-hole | Core v6.x (aktuelle v6-Linie) | v6 ersetzt lighttpd durch eigenen Webserver |
| Unbound | aktuelle Version aus dem Repository | Installation via apt |
| Netzwerk | LAN-Kabel bevorzugt, statische IP | WLAN funktioniert, ist aber instabiler |
Zusätzlich brauchen Sie einen Computer für den Erstzugriff per SSH, ein Tool wie den Raspberry Pi Imager zum Beschreiben der SD-Karte sowie Administratorzugriff auf Ihren Router. Für DACH-Haushalte ist das in den allermeisten Fällen eine FritzBox, die wir in Schritt 10 ausführlich behandeln. Ein abgesicherter SSH-Zugang gehört zur Grundausstattung, wie Sie ihn in unserer Anleitung SSH-Key erstellen mit Ed25519 aufsetzen.
Pi-hole v6 vs. v5: Was sich grundlegend geändert hat
Wenn Sie ältere Tutorials lesen, beziehen sich diese fast immer auf Pi-hole v5. Die aktuelle v6-Linie hat die Architektur deutlich verändert, und genau hier scheitern viele Umsteiger. Die wichtigste Neuerung: Pi-hole v6 bringt einen eigenen, in pihole-FTL eingebetteten Webserver inklusive REST-API mit. Der bisherige Unterbau aus lighttpd und PHP entfällt komplett für die Standard-Oberfläche.
Praktisch bedeutet das: weniger Abhängigkeiten, weniger Angriffsfläche und ein schlankeres System. Die Konfiguration wandert in eine einzige Datei, /etc/pihole/pihole.toml, die zahlreiche verstreute Einstellungsdateien aus v5 zusammenführt. Das Web-Interface wurde neu gestaltet und kennt nun einen Basic– und einen Expert-Modus, sodass Einsteiger nicht von Optionen erschlagen werden.
| Merkmal | Pi-hole v5 | Pi-hole v6 |
|---|---|---|
| Webserver | lighttpd + PHP | eingebettet in pihole-FTL |
| Konfiguration | mehrere Dateien (setupVars.conf u.a.) | zentral in pihole.toml |
| API | eingeschränkte PHP-API | vollständige REST-API |
| Web-UI | einheitliche Ansicht | Basic- und Expert-Modus |
| HTTP-Ports | Port 80 | 80, optional 443 (HTTPS), Fallback 8080 |
Für diese Anleitung heißt das: Halten Sie sich an die v6-Pfade und -Befehle. Wenn ein altes Tutorial Sie auffordert, lighttpd zu konfigurieren, ignorieren Sie das. Die offizielle Pi-hole-Dokumentation ist immer die maßgebliche Quelle für die jeweils aktuelle Version.
Warum Unbound? Rekursiv statt Weiterleitung
Der entscheidende Datenschutzgewinn entsteht durch die Art, wie DNS-Anfragen aufgelöst werden. Bei der klassischen Weiterleitung schickt Pi-hole jede erlaubte Anfrage an einen großen Resolver wie Google oder Cloudflare. Dieser Anbieter sieht jede Domain, jeden Zeitpunkt und Ihre IP-Adresse. Selbst wenn der Anbieter eine No-Log-Politik verspricht, bleibt das Vertrauen ein blinder Fleck.
Unbound dreht das um. Als rekursiver Resolver fragt Ihr Raspberry Pi die DNS-Hierarchie selbst ab. Für die Auflösung von www.example.de kontaktiert Unbound zuerst einen Root-Server, erfährt dort den zuständigen .de-TLD-Server, fragt diesen nach dem autoritativen Server von example.de und holt sich schließlich dort die Antwort. Kein einzelner Anbieter sieht das vollständige Profil Ihres Verhaltens. Die Antworten landen im lokalen Cache, sodass wiederholte Anfragen blitzschnell beantwortet werden. Unbound stammt von NLnet Labs und gilt als einer der robustesten quelloffenen Resolver überhaupt.
| Kriterium | Weiterleitung (Google/Cloudflare) | Unbound (rekursiv) |
|---|---|---|
| Datenschutz | Anbieter sieht alle Anfragen | kein zentraler Mitleser |
| Einrichtung | sehr einfach | etwas aufwendiger |
| DNSSEC | abhängig vom Anbieter | lokale Validierung |
| Geschwindigkeit (kalt) | schnell | erste Anfrage langsamer |
| Geschwindigkeit (Cache) | schnell | sehr schnell, lokal |
| Zensur-/Filterrisiko | Anbieter kann filtern | direkte Auflösung |
Ein häufiges Missverständnis: Unbound macht Ihre Anfragen nicht automatisch verschlüsselt. Die Kommunikation mit Root- und autoritativen Servern läuft weiterhin über klassisches DNS. Der Gewinn liegt in der dezentralen Auflösung und der DNSSEC-Validierung, nicht in der Transportverschlüsselung. Wer maximale Anonymität sucht, kombiniert das Setup mit weiteren Werkzeugen, die wir im Vergleich Tor vs. VPN einordnen.
Schritt 1 und 2: Raspberry Pi OS einrichten und statische IP vergeben
Schritt 1: Betriebssystem aufspielen. Laden Sie den Raspberry Pi Imager herunter, wählen Sie Raspberry Pi OS Lite (64-bit) auf Basis von Bookworm und beschreiben Sie die SD-Karte. Klicken Sie vor dem Schreiben auf das Zahnrad und aktivieren Sie SSH, vergeben Sie einen Hostnamen wie pihole und hinterlegen Sie Ihren Benutzernamen samt Passwort. So startet der Pi headless, also ganz ohne Monitor und Tastatur.
Stecken Sie die Karte in den Pi, verbinden Sie ihn per LAN-Kabel und schalten Sie ihn ein. Nach etwa einer Minute melden Sie sich per SSH an:
ssh [email protected]
# System auf den aktuellen Stand bringen
sudo apt update && sudo apt full-upgrade -y
sudo reboot
Schritt 2: Statische IP-Adresse festlegen. Pi-hole muss unter einer festen Adresse erreichbar sein, sonst verlieren Ihre Geräte den DNS-Server nach jedem Neustart. Unter Bookworm verwaltet der NetworkManager die Verbindungen. Die saubere Methode ist die textbasierte Oberfläche nmtui:
sudo nmtui
# Menue: "Edit a connection" -> kabelgebundene Verbindung waehlen
# IPv4 CONFIGURATION von "Automatic" auf "Manual" stellen
# Beispielwerte (an Ihr Netz anpassen):
# Addresses : 192.168.178.2/24
# Gateway : 192.168.178.1
# DNS server: 127.0.0.1
# Speichern, dann Verbindung neu aktivieren oder neu starten
Wählen Sie eine Adresse außerhalb des DHCP-Bereichs Ihres Routers, im Beispiel 192.168.178.2. Prüfen Sie nach dem Neustart mit ip addr show, ob die Adresse korrekt gesetzt ist. Notieren Sie sich diese IP, Sie brauchen sie in fast jedem folgenden Schritt.
Schritt 3: systemd-resolved und Port 53 freiräumen
Dies ist die häufigste Stolperfalle der gesamten Anleitung. Pi-hole benötigt Port 53 für DNS, doch unter Raspberry Pi OS belegt der Dienst systemd-resolved diesen Port bereits teilweise. Wenn Sie das ignorieren, schlägt die Pi-hole-Installation fehl oder der DNS-Dienst startet nicht. Prüfen Sie zunächst, ob Port 53 belegt ist:
sudo ss -tulpn | grep ':53'
# Falls systemd-resolved auf 53 lauscht, Stub-Listener deaktivieren:
sudo nano /etc/systemd/resolved.conf
# Im Abschnitt [Resolve] folgende Zeile setzen bzw. einkommentieren:
# DNSStubListener=no
# Danach die symbolische Verknuepfung der resolv.conf korrigieren:
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl restart systemd-resolved
Alternativ deaktivieren manche Anleitungen systemd-resolved vollständig. Das ist möglich, aber riskanter, weil dann die Namensauflösung des Pi selbst sauber konfiguriert sein muss. Für die meisten Setups reicht es, den Stub-Listener auszuschalten. Prüfen Sie erneut mit sudo ss -tulpn | grep ':53', dass kein anderer Prozess mehr auf Port 53 lauscht, bevor Sie weitermachen.
Schritt 4: Pi-hole installieren
Jetzt folgt der eigentliche Hauptakt. Der offizielle Installer richtet Pi-hole v6 vollautomatisch ein. Führen Sie den folgenden Befehl aus:
curl -sSL https://install.pi-hole.net | bash
Sicherheitsbewusste Nutzer laden das Skript zuerst herunter, lesen es und führen es dann aus. Das ist die empfohlene Praxis bei jedem curl | bash:
wget -O install-pihole.sh https://install.pi-hole.net
less install-pihole.sh # pruefen
sudo bash install-pihole.sh
Der Installer führt Sie durch einen grafischen Assistenten im Terminal. Beantworten Sie die Abfragen wie folgt:
- Upstream DNS Provider: Wählen Sie vorerst einen beliebigen Anbieter, etwa Cloudflare. Wir stellen das gleich auf Unbound um.
- Blocklists: Übernehmen Sie die voreingestellte StevenBlack-Liste. Sie ist eine große, zusammengeführte Hosts-Liste aus mehreren Quellen.
- Statische IP: Bestätigen Sie die in Schritt 2 vergebene Adresse.
- Web-Interface und Webserver: Beide aktivieren, sie gehören zum Standardumfang.
- Query Logging: Aktivieren, damit Sie später nachvollziehen können, was blockiert wurde.
Am Ende zeigt der Installer eine Zusammenfassung samt generiertem Admin-Passwort. Notieren Sie dieses Passwort sofort. Falls Sie es übersehen, setzen Sie es jederzeit neu:
pihole setpassword
# Erwartete Ausgabe:
# [i] Password updated successfully.
Schritt 5: Web-Interface aufrufen und erstes Login
Öffnen Sie im Browser die Admin-Oberfläche. Bei der Beispiel-IP lautet die Adresse:
http://192.168.178.2/admin
# oder
http://pi.hole/admin
Melden Sie sich mit dem Admin-Passwort an. Das Dashboard zeigt Ihnen die Gesamtzahl der Anfragen, den Anteil blockierter Anfragen, die Top-Domains und die aktivsten Clients. Direkt nach der Installation sind diese Werte noch leer. Sobald Sie in Schritt 10 die ersten Geräte umstellen, füllt sich das Dashboard in Echtzeit.
Wechseln Sie oben rechts zwischen Basic und Expert Mode. Für die folgenden Schritte brauchen Sie den Expert-Modus, da nur dort die Upstream-DNS-Einstellungen vollständig sichtbar sind. Ein kurzer Funktionstest über die Kommandozeile bestätigt, dass der Dienst läuft:
pihole status
# Erwartete Ausgabe (gekuerzt):
# [OK] FTL is listening on port 53
# [OK] Pi-hole blocking is enabled
Schritt 6 und 7: Unbound installieren und konfigurieren
Schritt 6: Unbound installieren. Unbound liegt in den Paketquellen von Raspberry Pi OS bereit. Die Installation ist ein Einzeiler:
sudo apt install unbound -y
Schritt 7: Konfigurationsdatei anlegen. Erstellen Sie die zentrale Konfiguration für den Pi-hole-Betrieb. Diese Datei ist das Herzstück des rekursiven Resolvers und entspricht der offiziell empfohlenen Konfiguration:
sudo nano /etc/unbound/unbound.conf.d/pi-hole.conf
Fügen Sie folgenden Inhalt ein:
server:
# Auf lokaler Adresse lauschen, Port 5335 statt 53
verbosity: 0
interface: 127.0.0.1
port: 5335
do-ip4: yes
do-udp: yes
do-tcp: yes
# Nur IPv4-Upstreams (IPv6 bei Bedarf aktivieren)
do-ip6: no
prefer-ip6: no
# Trust Glue nur innerhalb der Server-Zone
harden-glue: yes
# DNSSEC-Daten verlangen, gestrippte Antworten ablehnen
harden-dnssec-stripped: yes
# Gross-/Kleinschreibung zufaellig setzen (Spoofing-Schutz)
use-caps-for-id: no
# EDNS-Puffergroesse, vermeidet fragmentierte Pakete
edns-buffer-size: 1232
# Cache-Verhalten
prefetch: yes
num-threads: 1
# Privatsphaere: keine privaten Adressen aus dem Internet
private-address: 192.168.0.0/16
private-address: 169.254.0.0/16
private-address: 172.16.0.0/12
private-address: 10.0.0.0/8
private-address: fd00::/8
private-address: fe80::/10
Die Optionen sind kein Zufall. edns-buffer-size: 1232 vermeidet IP-Fragmentierung, die in manchen Netzen zu Timeouts führt. harden-dnssec-stripped: yes sorgt dafür, dass Antworten ohne gültige DNSSEC-Signatur verworfen werden, wenn die Zone signiert ist. Die private-address-Einträge verhindern DNS-Rebinding-Angriffe, indem interne IP-Bereiche aus externen Antworten gefiltert werden. Details zu jeder Option liefert die offizielle Pi-hole-Anleitung zu Unbound.
Starten Sie Unbound neu und testen Sie die Auflösung direkt gegen Port 5335:
sudo systemctl restart unbound
# Direkter Test gegen Unbound auf Port 5335
dig pi-hole.net @127.0.0.1 -p 5335
# Erwartet: ein ANSWER-Abschnitt mit Status NOERROR
# Beim zweiten Aufruf sinkt die Query time deutlich (Cache)
Schritt 8: Pi-hole mit Unbound verbinden
Jetzt verheiraten Sie beide Dienste. Pi-hole soll seine Upstream-Anfragen nicht mehr an Cloudflare schicken, sondern an Ihren lokalen Unbound. Das erledigen Sie im Web-Interface unter Settings -> DNS im Expert-Modus.
- Entfernen Sie alle Haken bei den vordefinierten Upstream-Anbietern (Google, Cloudflare und so weiter).
- Tragen Sie unter Custom DNS servers die Adresse
127.0.0.1#5335ein. - Speichern Sie die Einstellung über Save.
Achten Sie auf die Schreibweise mit der Raute als Trenner für den Port: 127.0.0.1#5335. Ein häufiger Fehler ist der Doppelpunkt, den Pi-hole an dieser Stelle nicht akzeptiert. Wer lieber auf der Kommandozeile arbeitet, setzt den Upstream direkt in der pihole.toml:
sudo nano /etc/pihole/pihole.toml
# Im Abschnitt [dns] den Upstream eintragen:
# upstreams = [ "127.0.0.1#5335" ]
# Danach FTL neu starten:
sudo service pihole-FTL restart
Ab diesem Moment fließen alle erlaubten DNS-Anfragen Ihres Netzwerks durch Unbound und werden rekursiv aufgelöst. Kein externer Anbieter sieht mehr Ihre Anfragen.
Schritt 9: DNSSEC prüfen und Funktion testen
Unbound bringt seine eigene DNSSEC-Validierung mit, daher dürfen Sie die DNSSEC-Option in Pi-hole selbst nicht zusätzlich aktivieren. Eine doppelte Validierung führt zu Fehlern. Testen Sie die korrekte Funktion mit zwei gezielten Abfragen:
# Test 1: gueltige Signatur, muss NOERROR liefern
dig sigok.verteiltesysteme.net @127.0.0.1 -p 5335
# Test 2: bewusst kaputte Signatur, muss SERVFAIL liefern
dig sigfail.verteiltesysteme.net @127.0.0.1 -p 5335
Der erste Test muss den Status NOERROR mit gültiger Antwort liefern. Der zweite Test muss SERVFAIL ergeben, weil die Signatur absichtlich manipuliert ist und Unbound die Antwort korrekt ablehnt. Sehen Sie bei Test 2 ein NOERROR, ist die DNSSEC-Validierung nicht aktiv. Prüfen Sie zusätzlich das gesetzte ad-Flag (Authenticated Data):
dig pi-hole.net @127.0.0.1 -p 5335 +dnssec | grep -i flags
# Erwartet: flags: qr rd ra ad
# Das "ad"-Flag bestaetigt erfolgreiche DNSSEC-Validierung
Die kryptografische Prüfung von DNS-Antworten funktioniert nach denselben Prinzipien wie andere Signaturverfahren. Wer die Mechanik dahinter verstehen will, findet in unserem Beitrag Digitale Signaturen erklärt die Grundlagen.
Schritt 10: FritzBox als DNS-Server für das ganze Netz konfigurieren
Damit alle Geräte Pi-hole nutzen, muss Ihr Router sie auf den Pi verweisen. In DACH-Haushalten ist das meist eine FritzBox. Es gibt zwei Wege, und die Reihenfolge ist wichtig.
Variante A: Pi-hole als lokaler DNS-Server (empfohlen)
Diese Variante leitet alle Geräte automatisch über DHCP auf Pi-hole:
- Öffnen Sie die FritzBox unter
http://fritz.boxund melden Sie sich an. - Gehen Sie zu Heimnetz -> Netzwerk -> Netzwerkeinstellungen.
- Klappen Sie weitere Einstellungen -> IPv4-Adressen auf.
- Tragen Sie unter Lokaler DNS-Server die IP des Pi ein, im Beispiel
192.168.178.2. - Speichern und alle Geräte einmal neu verbinden lassen.
Variante B: DNS-Weiterleitung im Internetzugang
Alternativ tragen Sie Pi-hole unter Internet -> Zugangsdaten -> DNS-Server als bevorzugten DNSv4-Server ein. Diese Variante hat einen Nachteil: In den Pi-hole-Statistiken erscheinen dann alle Anfragen unter der IP der FritzBox, sodass Sie nicht mehr nach einzelnen Geräten unterscheiden können. Für detaillierte Statistiken ist Variante A die bessere Wahl.
Wichtig: Tragen Sie nur die Pi-hole-IP als DNS-Server ein, keinen zweiten externen Fallback wie 8.8.8.8. Sonst umgehen Geräte bei Last den Pi-hole und Werbung kommt durch. Manche FritzBox-Firmware-Versionen schränken die freie DNS-Vergabe ein. Stoßen Sie hier an Grenzen, nutzen Sie den DHCP-Server von Pi-hole selbst (Schritt 12) oder tragen Sie den DNS-Server manuell auf den wichtigsten Geräten ein.
Schritt 11 und 12: Blocklisten erweitern und DHCP optimieren
Schritt 11: Blocklisten pflegen. Die Standardliste von StevenBlack ist eine solide Basis. Wer aggressiver blockieren will, ergänzt weitere Listen unter Adlists im Web-Interface und aktualisiert anschließend die Gravity-Datenbank:
# Blocklisten neu einlesen und zusammenfuehren
pihole -g
# Erwartete Ausgabe (gekuerzt):
# [OK] DNS service is running
# [OK] Number of gravity domains: ...
Übertreiben Sie es nicht. Zu viele oder schlecht gepflegte Listen führen zu Fehlblockaden (False Positives), bei denen legitime Seiten nicht mehr laden. Die offizielle StevenBlack-Hosts-Liste auf GitHub ist bewusst kuratiert und für die meisten Haushalte ausreichend.
Schritt 12: Optional den DHCP-Server von Pi-hole nutzen. Wenn Ihre FritzBox die DNS-Zuweisung sabotiert oder Sie pro Gerät genaue Statistiken wollen, übernimmt Pi-hole den DHCP-Dienst. Deaktivieren Sie zuerst den DHCP-Server der FritzBox, sonst gibt es Konflikte. Aktivieren Sie dann in Pi-hole unter Settings -> DHCP den eigenen Dienst und legen Sie den Adressbereich fest. Damit erhält jedes Gerät automatisch den Pi-hole als DNS-Server und erscheint mit eigenem Namen in den Statistiken.
Häufige Fehler und wie Sie sie vermeiden
Die folgenden Stolperfallen kosten Einsteiger die meiste Zeit. Prüfen Sie diese Liste, bevor Sie stundenlang suchen.
- DNS-Schleife: Der Router zeigt auf Pi-hole, und Pi-hole zeigt als Upstream zurück auf den Router. Das endet in einer Endlosschleife. Der Upstream muss
127.0.0.1#5335sein, niemals die Router-IP. - Port-53-Konflikt:
systemd-resolvedbelegt Port 53. Ohne den Schritt aus Abschnitt 3 startet der DNS-Dienst nicht. Immer zuerst den Stub-Listener deaktivieren. - Doppelte DNSSEC-Validierung: DNSSEC in Pi-hole UND in Unbound aktiviert. Unbound übernimmt die Validierung allein, die Pi-hole-Option muss aus bleiben.
- Falscher Port-Trenner: Im Upstream
127.0.0.1:5335statt127.0.0.1#5335. Pi-hole erwartet die Raute. - Zweiter DNS-Server im Router: Ein externer Fallback neben Pi-hole führt dazu, dass Geräte den Filter umgehen. Nur die Pi-hole-IP eintragen.
- Dynamische IP des Pi: Ohne statische Adresse verliert das Netz nach einem Neustart den DNS-Server. Schritt 2 ist Pflicht, nicht optional.
- SD-Karten-Verschleiß: Billige Karten sterben durch die ständigen Schreibzugriffe der Logs. Markenware verwenden und Backups einplanen.
Troubleshooting: 8 typische Probleme lösen
Wenn etwas nicht funktioniert, arbeiten Sie diese Diagnosen der Reihe nach ab. Jeder Punkt nennt das Symptom und den konkreten Lösungsweg.
| Symptom | Ursache | Lösung |
|---|---|---|
| Keine Webseiten laden mehr | Unbound antwortet nicht | sudo systemctl status unbound, neu starten |
| Pi-hole startet nicht | Port 53 belegt | systemd-resolved Stub-Listener deaktivieren |
| dig auf 5335 schlägt fehl | Unbound-Konfig fehlerhaft | unbound-checkconf ausführen |
| SERVFAIL bei allen Domains | root.hints veraltet/fehlt | Paket neu installieren, Unbound neu starten |
| Werbung kommt trotzdem durch | Gerät nutzt anderen DNS | Router-DNS prüfen, zweiten DNS entfernen |
| Statistik zeigt nur Router-IP | Variante B aktiv | auf Variante A oder Pi-hole-DHCP wechseln |
| Web-Interface nicht erreichbar | Port 80 belegt, Fallback 8080 | Adresse mit :8080 testen |
| Erste Anfrage sehr langsam | Cache noch leer | normal, prefetch: yes hilft |
Das wichtigste Diagnosewerkzeug ist unbound-checkconf. Es prüft Ihre Konfiguration auf Syntaxfehler, bevor Sie den Dienst neu starten:
sudo unbound-checkconf
# Erwartete Ausgabe bei korrekter Konfig:
# unbound-checkconf: no errors in /etc/unbound/unbound.conf
# Logs live mitlesen bei Problemen:
sudo journalctl -u unbound -f
sudo journalctl -u pihole-FTL -f
Hängt das ganze System, hilft oft der vollständige Neustart der beiden Dienste in der richtigen Reihenfolge: erst Unbound, dann Pi-hole-FTL. So stellt Pi-hole sicher, dass sein Upstream bereits erreichbar ist.
Profi-Tipps für Fortgeschrittene
Steht das Grundsystem, holen diese Erweiterungen mehr aus dem Setup heraus.
- Cache vergrößern: Bei einem Pi mit 2 GB RAM lohnt sich,
msg-cache-sizeundrrset-cache-sizein der Unbound-Konfig anzuheben. Mehr Cache bedeutet schnellere Antworten und weniger externe Anfragen. - Zwei Pi-hole-Instanzen: Für Ausfallsicherheit betreiben Sie einen zweiten Pi und synchronisieren beide. Fällt einer aus, bleibt das Netz auflösbar.
- Lokale DNS-Einträge: Unter Local DNS vergeben Sie eigene Namen für Geräte im Heimnetz, etwa
nas.heimfür Ihr NAS. - HTTPS für das Web-Interface: Pi-hole v6 kann das Admin-Panel über Port 443 mit TLS ausliefern. Sinnvoll, wenn Sie von mehreren Geräten zugreifen.
- Conditional Forwarding: Damit Pi-hole die Gerätenamen aus der FritzBox auflöst, aktivieren Sie unter Settings -> DNS die bedingte Weiterleitung an die Router-IP.
- Regelmäßige Backups: Exportieren Sie Ihre Konfiguration über Settings -> Teleporter, um nach einem SD-Karten-Defekt schnell wieder einsatzbereit zu sein.
Wer das Setup um eine echte Transportverschlüsselung der DNS-Anfragen erweitern will, kombiniert Unbound mit DNS-over-TLS. Das ist jedoch ein Kompromiss: Sie geben die rein rekursive Auflösung teilweise zugunsten eines verschlüsselten Upstreams auf. Für die meisten Heimnetze ist die hier gezeigte rekursive Variante der bessere Datenschutzkompromiss. Wer sein gesamtes Netzwerk härten will, sollte zusätzlich über eine dedizierte Firewall nachdenken, wie wir sie im Vergleich OPNsense vs. pfSense behandeln.
Sicherheit und Datenschutz des Setups einordnen
Pi-hole mit Unbound ist ein starker Baustein für Datenschutz im Heimnetz, aber kein Allheilmittel. Es blockiert Werbung und Tracking auf DNS-Ebene und entzieht großen DNS-Anbietern den Einblick in Ihr Surfverhalten. Es schützt jedoch nicht vor Tracking innerhalb verschlüsselter Verbindungen, nicht vor Fingerprinting im Browser und nicht vor Apps, die DNS-Server fest einprogrammiert haben (DNS-Hardcoding), wie es manche Smart-TVs und Streaming-Dienste tun.
Das Bundesamt für Sicherheit in der Informationstechnik empfiehlt für Heimnetze grundsätzlich eine bewusste Konfiguration von Router und DNS, wie sie in den BSI-Empfehlungen zu Router, WLAN und VPN beschrieben ist. Pi-hole mit Unbound setzt genau diesen Gedanken um: Sie behalten die Kontrolle über die Namensauflösung im eigenen Netz, statt sie an Dritte abzugeben.
Behandeln Sie den Pi selbst als sicherheitskritisches Gerät. Halten Sie das System mit apt update und apt full-upgrade aktuell, sichern Sie den SSH-Zugang mit Schlüsseln statt Passwörtern ab und exponieren Sie das Web-Interface niemals direkt ins Internet. Ein kompromittierter DNS-Server würde sonst jede Anfrage Ihres Netzes manipulieren können. Mehr zu den Mechanismen hinter Datenlecks lesen Sie in unserem Beitrag Datenlecks: Wie sie entstehen.
Pi-hole im Vergleich zu Browser-Adblockern und AdGuard
Viele Nutzer fragen sich, warum sie überhaupt einen eigenen Server aufsetzen sollen, wenn ein Browser-Plugin doch auch Werbung blockt. Die Antwort liegt in der Reichweite. Ein Browser-Adblocker wirkt nur im Browser, auf nur einem Gerät und nur für den einen Nutzer. Pi-hole arbeitet auf DNS-Ebene und schützt jedes Gerät im Netz, auch solche ohne Plugin-Unterstützung wie Smart-TVs, Konsolen oder IoT-Geräte.
| Merkmal | Browser-Adblocker | Pi-hole + Unbound | AdGuard Home |
|---|---|---|---|
| Wirkungsbereich | nur ein Browser | gesamtes Netzwerk | gesamtes Netzwerk |
| Eigener Resolver | nein | ja, mit Unbound | integriert möglich |
| Element-Blocking (kosmetisch) | ja | nein (nur DNS) | teilweise |
| Eigenes Gerät nötig | nein | ja (Raspberry Pi) | ja |
| DNSSEC-Validierung | nein | ja (über Unbound) | ja |
| Kosten | kostenlos | kostenlos (plus Hardware) | kostenlos |
Die ehrliche Einordnung: Pi-hole und ein Browser-Adblocker schließen sich nicht aus, sie ergänzen sich. Pi-hole blockiert netzwerkweit auf DNS-Ebene, kann aber kein kosmetisches Element-Hiding wie das Ausblenden leerer Werbeflächen. Ein guter Browser-Adblocker erledigt das zusätzlich. Die Kombination aus beiden liefert das sauberste Ergebnis. AdGuard Home ist eine funktional sehr ähnliche Alternative zu Pi-hole und bringt einen DoH/DoT-Server gleich mit, ist aber weniger modular als die Kombination aus Pi-hole und Unbound.
Der größte Vorteil von Pi-hole bleibt die zentrale Kontrolle. Sie pflegen Blocklisten an genau einer Stelle, sehen in einem Dashboard, welches Gerät welche Domains anfragt, und können einzelne Geräte gezielt von der Filterung ausnehmen. Diese Transparenz über das eigene Netz ist mit reinen Browser-Lösungen nicht zu erreichen. Wer Wert auf Privatsphäre legt, findet im Vergleich der sicheren Messenger Signal vs. WhatsApp vs. Threema einen weiteren Baustein für ein datensparsames Setup.
Wartung und Betrieb im Alltag
Ein einmal eingerichtetes Pi-hole-System läuft weitgehend wartungsfrei, doch ein paar Routinen verlängern die Lebensdauer und halten den Filter aktuell. Aktualisieren Sie das Betriebssystem und Pi-hole selbst regelmäßig. Pi-hole bringt dafür einen eigenen Update-Befehl mit, der Core, FTL und Web-Interface gemeinsam auf den neuesten Stand bringt:
# Pi-hole-Komponenten aktualisieren
pihole -up
# Versionsstand pruefen
pihole -v
# Unbound und das Basissystem getrennt aktualisieren
sudo apt update && sudo apt full-upgrade -y
Behalten Sie die Auslastung im Blick. Das Pi-hole-Dashboard zeigt unter System die CPU- und Speichernutzung. In einem normalen Heimnetz liegt die CPU-Last im einstelligen Prozentbereich, der Speicherbedarf von Pi-hole und Unbound zusammen bleibt klar im Rahmen eines Pi 4 oder Pi 5. Wird die SD-Karte langsam, ist sie oft am Ende ihrer Lebensdauer. Ein Wechsel auf eine SSD per USB-Adapter erhöht die Zuverlässigkeit im Dauerbetrieb deutlich.
Planen Sie regelmäßige Backups ein. Über die Teleporter-Funktion exportieren Sie Ihre komplette Konfiguration inklusive Blocklisten, Whitelist und lokaler DNS-Einträge in eine einzige Datei. Nach einem Defekt spielen Sie diese in wenigen Minuten auf ein frisches System zurück. Wer mehrere Pi-holes betreibt, automatisiert die Synchronisation, sodass beide Instanzen stets denselben Filterstand haben.
Häufige Fragen (FAQ)
Brauche ich zwingend Unbound, oder reicht Pi-hole allein?
Pi-hole allein blockiert bereits Werbung und Tracker. Ohne Unbound leiten Sie aber alle erlaubten Anfragen an einen externen Anbieter weiter, der Ihr vollständiges DNS-Profil sieht. Unbound schließt genau diese Lücke und macht das Setup erst wirklich datenschutzfreundlich.
Wie viel Strom verbraucht ein Raspberry Pi im Dauerbetrieb?
Ein Pi 4 oder Pi 5 zieht im DNS-Betrieb nur wenige Watt. Über das Jahr gerechnet sind die Stromkosten vernachlässigbar, besonders verglichen mit dem Nutzen eines netzwerkweiten Werbeblockers. Der Pi Zero 2 W ist noch sparsamer.
Funktioniert das auch ohne FritzBox?
Ja. Jeder Router, der die manuelle Eingabe eines DNS-Servers erlaubt, funktioniert. Bei Routern, die das blockieren, übernehmen Sie einfach den DHCP-Server direkt mit Pi-hole, wie in Schritt 12 beschrieben.
Verlangsamt Pi-hole mit Unbound mein Internet?
Im Gegenteil. Die erste Anfrage zu einer neuen Domain dauert minimal länger, weil Unbound rekursiv auflöst. Danach landet die Antwort im lokalen Cache und wird blitzschnell beantwortet. Durch das Blockieren von Werbung laden viele Seiten sogar spürbar schneller.
Was passiert, wenn der Raspberry Pi ausfällt?
Fällt der einzige DNS-Server aus, kann das Netz keine Namen mehr auflösen, das Internet wirkt dann tot. Für kritische Haushalte empfiehlt sich daher eine zweite Pi-hole-Instanz als Fallback. Alternativ tragen Sie im Notfall kurzfristig wieder einen externen DNS-Server im Router ein.
Ist Pi-hole in Deutschland legal?
Ja. Sie betreiben einen DNS-Server in Ihrem eigenen Netzwerk und entscheiden selbst, welche Domains aufgelöst werden. Das ist vollkommen legal. Beachten Sie lediglich, dass das netzwerkweite Blockieren in geteilten Netzen (etwa WG oder Familie) abgesprochen sein sollte.
Kann ich einzelne Domains von der Blockade ausnehmen?
Ja. Über die Whitelist im Web-Interface erlauben Sie gezielt einzelne Domains. Das ist nötig, wenn eine legitime Seite fälschlich blockiert wird (False Positive). Den blockierten Treffer finden Sie im Query Log mit einem Klick auf Whitelist.
Lohnt sich ein Umstieg von Pi-hole v5 auf v6?
Ja. Version 6 ist schlanker, sicherer und bringt eine vollständige REST-API mit. Der eingebettete Webserver ersetzt lighttpd und PHP, was die Angriffsfläche reduziert. Bei einer Neuinstallation nehmen Sie ohnehin direkt v6.
Related Coverage
- Tor vs. VPN: 100x langsamer, beide legal
- OPNsense vs. pfSense: EU vs. USA, 0 € Basis
- SSH-Key erstellen: Ed25519 in 8 Schritten
- HTTPS und TLS: Wie das Schloss im Browser Sie schützt
- GPG Verschlüsselung: 12 Schritte mit GnuPG
- Digitale Signaturen erklärt
- Datenlecks: Wie sie entstehen und wie Sie sich schützen
Stand: 13. Juni 2026. Prüfen Sie Versionsnummern von Pi-hole und Unbound am Tag der Installation, da sich besonders die Pi-hole-Core-Version häufig ändert.




