IT Security

Pi-hole – Werbe- und Tracking-Blocker im Heimnetz

Pi-hole ist ein netzwerkweiter DNS-Filter, der Werbung, Tracker und schädliche Domains bereits auf DNS-Ebene blockiert. Statt auf jedem Endgerät einen Adblocker zu installieren, wird Pi-hole zentral im Netzwerk betrieben – häufig auf einem Raspberry Pi oder in einem Docker-Container.

Funktionsweise von Pi-hole

  1. Clients im Netzwerk verwenden Pi-hole als DNS-Server.
  2. Pi-hole prüft jede DNS-Anfrage gegen Blocklisten (Ad-/Tracking-Domains).
  3. Geblockte Domains werden nicht aufgelöst, Werbung und Tracking-Anfragen laufen ins Leere.
  4. Erlaubte Domains werden an einen Upstream-DNS-Server (z. B. Unbound, DoT/DoH-Resolver) weitergeleitet.

Systemvoraussetzungen

  • Raspberry Pi (oder x86-Server/VM, NAS, Docker-Host)
  • Stabile Netzwerkverbindung (LAN empfohlen)
  • Statische IP-Adresse im lokalen Netz

Pi-hole Installation (klassisch auf Linux)

Pi-hole wird in der Regel auf einem Debian-/Ubuntu-basierten System installiert.

bashKlick markiert alles · Strg + C
sudo apt update
sudo apt upgrade
curl -sSL https://install.pi-hole.net | bash
  1. System aktualisieren (apt update/upgrade).
  2. Installationsskript ausführen und den Dialogen folgen.
  3. Upstream-DNS-Server wählen (z. B. Quad9, Cloudflare oder eigenen Resolver).
  4. Blocklisten übernehmen (Standardlisten können später erweitert werden).
  5. Webinterface und Admin-Passwort notieren.

Pi-hole Installation mit Docker

Pi-hole kann auch in einem Docker-Container betrieben werden, z. B. auf einem NAS oder Server.

bashKlick markiert alles · Strg + C
docker run -d \
  --name pihole \
  -p 53:53/tcp -p 53:53/udp \
  -p 80:80 \
  -e TZ="Europe/Berlin" \
  -v /opt/pihole/etc-pihole:/etc/pihole \
  -v /opt/pihole/etc-dnsmasq.d:/etc/dnsmasq.d \
  --dns=127.0.0.1 --dns=1.1.1.1 \
  --restart=unless-stopped \
  pihole/pihole:latest

Wichtig ist, dass Port 53 (DNS) und Port 80 (Webinterface) erreichbar sind und der Host eine statische IP besitzt.


Grundkonfiguration von Pi-hole

Zugriff auf das Webinterface

Nach der Installation ist das Webinterface über die IP-Adresse des Pi-hole-Servers erreichbar:

bashKlick markiert alles · Strg + C
http://<PIHOLE-IP>/admin

Im Dashboard werden Statistiken zu Anfragen, geblockten Domains und Top-Clients angezeigt.

Upstream-DNS-Server konfigurieren

Unter „Settings → DNS“ können Upstream-DNS-Server gewählt werden, z. B.:

  • Öffentliche Resolver (Quad9, Cloudflare, Google DNS)
  • Eigener lokaler Resolver (z. B. Unbound für DNSSEC und Privacy)

Blocklisten verwalten

Pi-hole nutzt sogenannte Adlists, um Werbung und Tracking-Domains zu blockieren. Unter „Group Management → Adlists“ können zusätzliche Listen eingetragen werden.

bashKlick markiert alles · Strg + C
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

Nach dem Hinzufügen neuer Listen sollte die Gravity-Datenbank aktualisiert werden:

bashKlick markiert alles · Strg + C
pihole -g

Pi-hole als DHCP-Server verwenden

Pi-hole kann optional als DHCP-Server fungieren und Clients automatisch die richtige DNS-Konfiguration zuweisen. Dies ist besonders sinnvoll, wenn der Router nur eingeschränkte DNS-Einstellungen erlaubt.

  1. Im Router den internen DHCP-Server deaktivieren (falls möglich).
  2. In Pi-hole unter „Settings → DHCP“ den DHCP-Server aktivieren.
  3. IP-Range, Gateway (Router-IP) und Lease-Time definieren.
  4. Clients neu verbinden, damit sie neue IP- und DNS-Einstellungen erhalten.

Typische Konfiguration im Heimnetz

Variante 1: Router zeigt auf Pi-hole als DNS

  1. Im Router Pi-hole-IP als primären DNS-Server eintragen.
  2. Optional sekundären DNS entfernen oder auf Pi-hole spiegeln (je nach Router).
  3. Clients erhalten Pi-hole automatisch per DHCP als DNS.

Variante 2: Pi-hole als DHCP + DNS

  1. Router-DHCP deaktivieren.
  2. Pi-hole-DHCP aktivieren und konfigurieren.
  3. Alle Clients nutzen Pi-hole direkt als DNS-Server.

Whitelist, Blacklist & Regex-Filter

Einzelne Domains können gezielt erlaubt (Whitelist) oder blockiert (Blacklist) werden. Zusätzlich unterstützt Pi-hole Regex-Filter, um ganze Domainmuster zu blockieren.

bashKlick markiert alles · Strg + C
(^|\.)facebook\.com$
(^|\.)doubleclick\.net$

Damit lassen sich z. B. bestimmte Tracking-Domains oder komplette Dienste granular steuern.


Sicherheit & Best Practices

  • Pi-hole-Admin-Interface nur im internen Netz erreichbar machen.
  • Regelmäßige Updates von System und Pi-hole durchführen:
bashKlick markiert alles · Strg + C
pihole -up
  • Backups der Pi-hole-Konfiguration (Adlists, Whitelist, Blacklist, DHCP) erstellen.
  • Optional Kombination mit einer Firewall (z. B. ufw) und einem lokalen Resolver (Unbound) für mehr Privacy.

Vorteile von Pi-hole im Netzwerk

  • Werbung und Tracking zentral für alle Geräte blockieren.
  • Weniger Datenverkehr, schnellere Seitenladezeiten.
  • Mehr Privatsphäre, da Tracking-Domains nicht mehr aufgelöst werden.
  • Transparente Statistiken über DNS-Anfragen im eigenen Netz.