Eigentlich wollte ich „nur mal kurz“ einen Werbeblocker für das ganze Haus einrichten. Doch wie es bei IT-Projekten oft ist, wurde daraus schnell ein Infrastruktur-Projekt: Pi-hole als zentraler DNS-Werbeblocker und Unbound als eigener rekursiver DNS-Resolver, betrieben in einer Ubuntu-VM unter Proxmox. In diesem Guide zeige ich dir, wie du Werbung und Tracking auf Netzwerkebene eliminierst und gleichzeitig deine Privatsphäre durch DNS-Souveränität schützt.
Dieses Setup ist ein wesentlicher Baustein in meinem digitalen Ökosystem, das ich bereits in meinem Homeserver-Guide skizziert habe. Anstatt DNS-Anfragen (das "Adressbuch" des Internets) an Google oder Cloudflare zu senden, nehmen wir die Namensauflösung selbst in die Hand.
Warum Pi-hole? Das schwarze Loch für Werbung
Pi-hole ist ein DNS-basierter Werbeblocker. Im Gegensatz zu Browser-Plugins blockiert Pi-hole Werbung direkt bei der Anfrage. Wenn dein Smartphone oder dein Smart-TV versucht, eine Tracking-Domain aufzurufen, antwortet Pi-hole mit einer ungültigen Adresse (0.0.0.0). Die Werbung wird gar nicht erst geladen.
- Werbe-Freiheit für alle: iPhones, Android-Tablets, Smart-TVs und sogar IoT-Geräte profitieren ohne zusätzliche Software.
- Performance: Da blockierte Inhalte nicht heruntergeladen werden, bauen sich Webseiten spürbar schneller auf.
- Privatsphäre: Telemetrie-Daten von Apps werden unterbunden, bevor sie den Server des Herstellers erreichen.
Warum zusätzlich Unbound? Die DNS-Souveränität
Pi-hole alleine ist ein hervorragender Filter, benötigt aber einen Upstream-DNS-Server, um unbekannte Adressen aufzulösen. Hier kommt Unbound ins Spiel. Unbound ist ein rekursiver DNS-Resolver. Anstatt deine Anfragen an 8.8.8.8 (Google) zu schicken, fragt Unbound direkt bei den Root-Servern des Internets nach.
Die Vorteile von Unbound:
- Datenschutz: Kein externer DNS-Anbieter sieht mehr dein komplettes Surfverhalten.
- Sicherheit: Unbound validiert Antworten via DNSSEC, was Man-in-the-Middle-Angriffe auf DNS-Ebene verhindert.
- Lokaler Cache: Einmal aufgelöste Domains werden lokal gespeichert. Wiederholte Anfragen werden in Bruchteilen einer Millisekunde beantwortet.
Das Zusammenspiel sieht dann so aus: Geräte im LAN → Pi-hole (Filter) → Unbound (Resolver) → Internet Root-Server.
Proxmox-Setup: Warum eine dedizierte VM?
Ich betreibe Pi-hole und Unbound in einer eigenen Ubuntu Server VM auf meinem Proxmox-Host. Diese strikte Trennung von Diensten erlaubt es mir, Snapshots zu erstellen, bevor ich tiefgreifende Konfigurationsänderungen vornehme. Zudem kann die DNS-Infrastruktur im Notfall unabhängig von anderen Diensten wie meinem Webserver neu gestartet werden.
Docker-Infrastruktur: Port 8081 und saubere Netzwerke
Da auf meiner VM bereits ein Apache-Webserver läuft, der Port 80 belegt, musste ich Pi-hole umkonfigurieren. Intern nutzt Pi-hole weiter Port 80, aber nach außen mappe ich ihn auf 8081. So erreiche ich das Dashboard bequem unter http://192.168.178.5:8081/admin.
Pi-hole + Unbound im Docker: Der Netzwerk-Trick
Ein häufiger Fehler ist die Angabe von 127.0.0.1 als DNS-Server in Pi-hole, wenn Unbound in einem separaten Container läuft. Innerhalb von Docker bezieht sich 127.0.0.1 auf den jeweiligen Container selbst. Die saubere Lösung ist ein gemeinsames Docker-Netzwerk (Bridge), in dem Pi-hole Unbound direkt über den Servicenamen anspricht.
# Ausschnitt aus der docker-compose.yml
services:
unbound:
image: mvance/unbound:latest
container_name: unbound
networks:
dns_net:
ipv4_address: 172.20.0.2
pihole:
image: pihole/pihole:latest
container_name: pihole
environment:
- FTLCONF_dns_upstreams=172.20.0.2#53
depends_on:
- unbound
networks:
dns_net:
ipv4_address: 172.20.0.3ApexCharts in Home Assistant: Visualisierung der Blockrate
Ein DNS-Server ist erst dann "smart", wenn man die Erfolge auch sieht. Über die Home Assistant Integration binde ich die Pi-hole Daten ein. Mit der apexcharts-card habe ich ein Dashboard erstellt, das mir die Blockrate grafisch aufbereitet.
Die mathematische Blockrate $B$ berechne ich in Echtzeit:
$$B = \frac{\text{Blockierte Anfragen}}{\text{Gesamtanfragen}} \times 100$$
In einem normalen Haushalt liegt dieser Wert oft bei beeindruckenden 25% bis 40% – ein klarer Beweis dafür, wie viel Tracking im Hintergrund stattfindet.
Schutz für unterwegs: WireGuard Integration
Um diesen Schutz auch im mobilen Netz oder in öffentlichen WLANs zu genießen, habe ich das System um ein VPN erweitert. Wie ich mein Smartphone per Split-Tunnel an den Pi-hole anbinde, erfährst du in meinem Beitrag über WireGuard & Pi-hole für unterwegs.
Fazit: DNS-Souveränität als Basis
Die Kombination aus Pi-hole und Unbound in einer Proxmox-VM ist die sicherste und performanteste Lösung für ein modernes Heimnetzwerk. Es ist ein "Set and Forget"-Projekt: Einmal eingerichtet, sorgt es Tag für Tag für ein saubereres Internet-Erlebnis. Es ergänzt meine weiteren Automatisierungen perfekt und bildet die Vertrauensbasis für mein digitales Zuhause.
Hast du Fragen zur unbound.conf oder brauchst Hilfe beim Docker-Routing? Schau dir mein Portfolio an oder schreib mir eine Nachricht über das Kontaktformular. Ich unterstütze dich gerne dabei, dein Netzwerk abzusichern!