⌕
AnmeldenDabei sein ↗

Tippe mindestens zwei Buchstaben. Pfeiltasten wählen, Enter öffnet.

ANLEITUNG⌂ Homelab & Server

Werbeblocker fürs ganze Heimnetz: AdGuard Home mit Docker einrichten

Ein DNS-Filter blockiert Werbung und Tracker auf allen Geräten im Haus, auch auf Smart-TV und Konsole. Wir installieren AdGuard Home mit Docker, lösen den Konflikt mit Port 53 und stellen den Router um.

Ein kleiner Server mit Schutzschild zwischen Fernseher, Laptop und Smartphone, daneben durchgestrichene Werbeanzeigen
Illustration: Spawnpunkt

Jedes Gerät fragt vor jeder Verbindung einen DNS-Server, welche IP-Adresse zu einem Namen gehört. Ein eigener DNS-Server wie AdGuard Home beantwortet diese Fragen für Werbe- und Tracking-Adressen einfach nicht. Das Ergebnis: weniger Werbung und Tracking auf Handy, Laptop, Smart-TV und Konsole, ohne auf jedem Gerät etwas zu installieren. Dazu siehst du, welche Geräte wohin funken.

Du brauchst: einen Server im Heimnetz mit Docker, der rund um die Uhr läuft (ein Raspberry Pi reicht völlig), SSH-Zugang und Zugriff auf deinen Router. Zeitaufwand: etwa 30 Minuten.

Schritt 1: Feste IP-Adresse für den Server

Alle Geräte werden später diesen Server als DNS nutzen. Seine Adresse darf sich also nie ändern. Richte im Router eine feste IP-Zuweisung für den Server ein. Bei der FRITZ!Box: Heimnetz → Netzwerk → Gerät bearbeiten → „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen“.

Schritt 2: Port 53 freimachen

DNS läuft auf Port 53. Unter Ubuntu und manchen anderen Systemen belegt der Dienst systemd-resolved diesen Port bereits. Prüfe das:

bash
sudo ss -tulpn | grep ':53 '

Erscheint keine Ausgabe, ist der Port frei und du kannst zu Schritt 3 springen. Taucht systemd-resolved auf, schaltest du dessen lokalen DNS-Dienst ab. AdGuard beschreibt dafür in seiner Dokumentation folgende Schritte:

bash
sudo mkdir -p /etc/systemd/resolved.conf.d
printf '[Resolve]\nDNS=127.0.0.1\nDNSStubListener=no\n' | sudo tee /etc/systemd/resolved.conf.d/adguardhome.conf
sudo mv /etc/resolv.conf /etc/resolv.conf.backup
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl reload-or-restart systemd-resolved

Unter Raspberry Pi OS ist das normalerweise nicht nötig.

Schritt 3: AdGuard Home starten

Lege einen Ordner und eine Compose-Datei an:

bash
mkdir -p ~/adguard && cd ~/adguard
nano docker-compose.yml
yaml
services:
  adguardhome:
    image: adguard/adguardhome:latest
    container_name: adguardhome
    restart: unless-stopped
    volumes:
      - ./work:/opt/adguardhome/work
      - ./conf:/opt/adguardhome/conf
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "3000:3000/tcp"
      - "8080:80/tcp"

Port 53 ist der DNS-Dienst, Port 3000 der Einrichtungsassistent, und die spätere Weboberfläche erreichst du über Port 8080. Starten:

bash
docker compose up -d

Schritt 4: Einrichtungsassistent

Öffne im Browser http://192.168.1.50:3000. Der Assistent fragt nach:

  1. Admin-Weboberfläche: Lass hier Port 80 stehen. Das ist der Port im Container, von außen erreichst du ihn über 8080.
  2. DNS-Server: Port 53 auf allen Schnittstellen.
  3. Benutzer und Passwort für die Oberfläche.

Danach erreichst du AdGuard Home unter http://192.168.1.50:8080.

Schritt 5: Upstream-DNS und Listen

Unter Einstellungen → DNS-Einstellungen legst du fest, wen AdGuard Home für erlaubte Anfragen fragt. Verschlüsseltes DNS (DNS-over-HTTPS) verhindert, dass dein Anbieter mitliest. Beispiele:

text
https://dns.quad9.net/dns-query
https://dns.cloudflare.com/dns-query

Unter Filter → DNS-Sperrlisten ist bereits die AdGuard-Liste aktiv. Weitere Listen fügst du über „Sperrliste hinzufügen“ aus der eingebauten Auswahl hinzu. Mehr Listen sind nicht automatisch besser: Jede zusätzliche Liste erhöht das Risiko, dass etwas Gewolltes blockiert wird.

Der Router schickt DNS-Anfragen an AdGuard Home: Ein grüner Pfeil führt weiter ins Internet, ein roter gestrichelter Pfeil endet an einer durchgestrichenen Werbeanzeige
Der Router verteilt AdGuard Home als DNS-Server: Erlaubte Anfragen gehen weiter ins Internet, Werbung und Tracker werden abgefangen.

Schritt 6: Router umstellen

Damit alle Geräte AdGuard Home nutzen, verteilt der Router ab jetzt dessen Adresse als DNS-Server.

FRITZ!Box: Heimnetz → Netzwerk → Netzwerkeinstellungen → IPv4-Einstellungen → „Lokaler DNS-Server“: IP deines Servers eintragen. Unter den IPv6-Einstellungen verteilt die FRITZ!Box sich selbst als DNS-Server. Wenn Geräte AdGuard umgehen, stellst du dort ebenfalls den Server als DNS ein oder schaltest die DNS-Verteilung über IPv6 ab.

Andere Router: Suche in den DHCP-Einstellungen nach „DNS-Server“.

Geräte übernehmen die neue Einstellung erst, wenn sie ihre Adresse neu anfordern. WLAN aus- und wieder einschalten reicht meist. Im Dashboard von AdGuard Home siehst du dann die ersten Anfragen.

Wenn etwas nicht mehr funktioniert

Manchmal blockiert eine Liste etwas, das du brauchst: einen Link in einer Newsletter-Mail, eine App-Anmeldung, ein Spiel-Update. Öffne im Abfrageprotokoll die gesperrten Anfragen des betroffenen Geräts und klicke auf Entsperren. Die Domain landet dann auf deiner Freigabeliste.

Updates bekommst du wie bei jedem Container:

bash
cd ~/adguard
docker compose pull
docker compose up -d
UmfrageEine Antwort

Welchen netzweiten Werbeblocker nutzt du?

Wird geladen …
✓ Fazit
  • AdGuard Home filtert Werbung und Tracker für alle Geräte im Heimnetz
  • Server braucht eine feste IP-Adresse
  • Unter Ubuntu Port 53 von systemd-resolved freimachen
  • Einrichtung über Port 3000, danach Oberfläche auf Port 8080
  • Im Router den Server als DNS verteilen, auch an IPv6 denken
  • Bei Problemen im Abfrageprotokoll gezielt entsperren

Wie viel blockiert AdGuard Home bei dir? Teile einen Screenshot deines Dashboards in der Community.

Quellen

Kommentare

Noch keine Kommentare. Was meinst du dazu?

Mitreden? Melde dich an, um zu kommentieren.

Frage stellen

Spawnpunkt bindet keine Dienste von Drittanbietern ein. Alles, was du hier erlaubst, bleibt auf meinem eigenen Server.