← Zurück zur Übersicht Nie wieder Werbung: Netzwerk-weiter Adblocker mit Pi-hole & Docker in 5 Minuten

Nie wieder Werbung: Netzwerk-weiter Adblocker mit Pi-hole & Docker in 5 Minuten

[WERBUNG: CONTENT OBEN]

Nie wieder Werbung: Pi-hole als Netzwerk-Adblocker

Browser-Adblocker wie uBlock Origin sind großartig – aber sie schützen nur einen Browser auf einem Gerät. Was ist mit deinem Smart-TV, deinem Handy, dem Tablet der Kinder? Die Lösung: Pi-hole, ein DNS-basierter Adblocker, der Werbung im gesamten Netzwerk blockiert, bevor sie überhaupt geladen wird.

Das Beste: Du brauchst keinen Raspberry Pi dafür. Ein normaler PC, ein NAS oder ein VPS mit Docker reicht völlig aus.


🧠 Wie funktioniert Pi-hole?

Jedes Gerät im Netzwerk fragt einen DNS-Server, um Domainnamen (z.B. ads.google.com) in IP-Adressen aufzulösen. Pi-hole schaltet sich als DNS-Server dazwischen und blockiert bekannte Werbe- und Tracking-Domains, bevor sie geladen werden.

Ohne Pi-hole Mit Pi-hole
Browser fragt DNS → bekommt IP → lädt Werbung Browser fragt Pi-hole → Domain geblockt → keine Werbung
Nur einzelne Browser geschützt Alle Geräte im Netzwerk geschützt
Tracker laden im Hintergrund Tracker werden DNS-seitig blockiert

🛠️ Setup: Pi-hole mit Docker Compose

1. Projektordner erstellen

mkdir my-pihole && cd my-pihole

2. Docker Compose Konfiguration

my-pihole/docker-compose.yml:

version: '3.8'
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "8080:80/tcp"
    environment:
      TZ: 'Europe/Berlin'
      WEBPASSWORD: 'dein-sicheres-passwort'
    volumes:
      - './etc-pihole:/etc/pihole'
      - './etc-dnsmasq.d:/etc/dnsmasq.d'
    restart: unless-stopped

3. Starten

docker compose up -d

Das war's! Pi-hole läuft jetzt. Öffne das Dashboard unter:

http://localhost:8080/admin

⚠️ 📸 SCREENSHOT ANFRAGE: Hier einen Screenshot des Pi-hole Admin-Dashboards einfügen, mit der Übersicht der geblockten Domains und Query-Statistiken.


⚙️ Dein Netzwerk umstellen

Damit Pi-hole wirkt, müssen die Geräte im Netzwerk Pi-hole als DNS-Server verwenden. Dafür gibt es zwei Wege:

Option A: Gerät einzeln (zum Testen)

Stelle auf einem einzelnen Gerät den DNS auf die IP deines Pi-hole-Servers:

Linux/Mac (temporär):

# Ersetze 192.168.1.100 durch deine Server-IP
sudo sh -c \
    'echo "nameserver 192.168.1.100" > /etc/resolv.conf'

Windows: Netzwerkeinstellungen → Adapter → IPv4 → DNS auf die Server-IP setzen.

Option B: Router (für alle Geräte)

Die beste Lösung: Ändere den DNS-Server in deinem Router auf die IP deines Pi-hole-Servers. Damit sind automatisch alle Geräte im Netzwerk geschützt – auch Smart-TVs, Smartphones und IoT-Geräte.

💡 Tipp: Die Einstellung findest du bei den meisten Routern unter Internet → DNS-Server oder LAN → DHCP → DNS.


📋 Nützliche Befehle

Befehl Beschreibung
docker compose up -d Pi-hole im Hintergrund starten
docker compose down Pi-hole stoppen
docker compose logs pihole Logs anzeigen
docker exec pihole pihole status Status prüfen
docker exec pihole pihole -g Filterlisten aktualisieren

🛡️ Zusätzliche Blocklisten hinzufügen

Pi-hole kommt mit einer Standard-Blockliste, aber du kannst jederzeit weitere hinzufügen. Im Admin-Dashboard unter Group Management → Adlists kannst du URLs einfügen.

Empfohlene Listen:

Liste URL Domains
Steven Black https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts ~130.000
Firebog Ticked https://v.firebog.net/hosts/lists.php?type=tick Kuratiert
OISD https://dbl.oisd.nl ~140.000

Nach dem Hinzufügen Filterlisten aktualisieren:

docker exec pihole pihole -g

📊 Was bringt's? Echte Zahlen

In einem typischen Heimnetzwerk mit 4 Personen kannst du mit diesen Ergebnissen rechnen:

Metrik Typischer Wert
DNS-Anfragen pro Tag 15.000 – 30.000
Geblockte Anfragen 20 – 35%
Durchschnittliche Blockzeit < 1ms
Seitenlade-Verbesserung 10 – 30% schneller

Das bedeutet: Tausende Werbe- und Tracking-Anfragen werden pro Tag geblockt – und deine Seiten laden merklich schneller, weil der ganze Werbemüll gar nicht erst geladen wird.


⚠️ Wichtige Hinweise

[!CAUTION] WARNUNG: Host-weiter DNS-Ausfall möglich! Die folgenden Befehle deaktivieren das Standard-DNS-System (systemd-resolved) von Ubuntu, damit Pi-hole auf Port 53 lauschen kann. PROBLEM: Wenn du dies tust, kann dein Server selbst keine Domain-Namen mehr auflösen (z.B. für apt update), sofern die /etc/resolv.conf nicht korrekt auf einen externen Nameserver (z.B. 1.1.1.1) zeigt.

Sichererer Weg: Nutze stattdessen das Port-Binding an eine spezifische IP-Adresse oder stelle sicher, dass du weißt, wie man die Nameserver-Konfiguration manuell wiederherstellt.

# Deaktivieren nur wenn du absolut sicher bist und Pi-hole die DNS-Rolle übernimmt!
# sudo systemctl stop systemd-resolved
# sudo systemctl disable systemd-resolved
  • Passwort ändern: Das Web-Passwort kannst du jederzeit ändern:
docker exec pihole pihole -a -p neues-passwort
  • Whitelist: Falls eine Seite nicht mehr funktioniert, kannst du sie im Dashboard unter Whitelist freischalten.

Fazit

Pi-hole ist eines der mächtigsten Self-Hosting-Projekte, die du in 5 Minuten aufsetzen kannst. Es blockiert Werbung und Tracker netzwerkweit, beschleunigt das Browsing und schützt deine Privatsphäre – und das alles mit einer einzigen docker-compose.yml.

Einmal eingerichtet, vergisst du, dass es da ist – bis du bei Freunden surfst und wieder Werbung siehst. 😉

[WERBUNG: CONTENT UNTEN]