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.

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:
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:
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-resolvedUnter Raspberry Pi OS ist das normalerweise nicht nötig.
Schritt 3: AdGuard Home starten
Lege einen Ordner und eine Compose-Datei an:
mkdir -p ~/adguard && cd ~/adguard
nano docker-compose.ymlservices:
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:
docker compose up -dSchritt 4: Einrichtungsassistent
Öffne im Browser http://192.168.1.50:3000. Der Assistent fragt nach:
- Admin-Weboberfläche: Lass hier Port 80 stehen. Das ist der Port im Container, von außen erreichst du ihn über 8080.
- DNS-Server: Port 53 auf allen Schnittstellen.
- 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:
https://dns.quad9.net/dns-query
https://dns.cloudflare.com/dns-queryUnter 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.

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:
cd ~/adguard
docker compose pull
docker compose up -dWelchen netzweiten Werbeblocker nutzt du?
- 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.
- AdGuard Home auf GitHub (inkl. Docker-Anleitung) – github.com/AdguardTeam/AdGuardHome
- AdGuard Home Wiki: Docker – github.com/AdguardTeam/AdGuardHome/wiki/Docker
Kommentare
Noch keine Kommentare. Was meinst du dazu?
Mitreden? Melde dich an, um zu kommentieren.