AdGuard Home: Netzwerkweiter Ad-Blocker und DNS-Server
Jedes Gerät in deinem Netzwerk sendet hunderte DNS-Anfragen pro Tag - viele davon an Werbenetzwerke und Tracker. AdGuard Home fängt diese auf DNS-Ebene ab und blockiert Werbung und Tracking für alle Geräte, ohne dass du auf den einzelnen Geräten etwas installieren musst. Ein zentraler DNS-Server, der dein gesamtes Netzwerk schützt.
Was ist AdGuard Home?
AdGuard Home ist ein Open-Source DNS-Server mit integriertem, netzwerkweitem Ad-Blocker. Im Gegensatz zu Browser-Erweiterungen arbeitet AdGuard Home auf DNS-Ebene und schützt damit alle Geräte in deinem Netzwerk - vom Smartphone über Smart-TVs bis hin zu IoT-Geräten.
Kernfeatures:
- Netzwerkweites Blocking: Blockiert Werbung und Tracker für alle Geräte ohne Installation
- Moderne Web-UI: Übersichtliche Statistiken und einfache Konfiguration
- Verschlüsseltes DNS: Unterstützt DNS-over-HTTPS (DoH), DNS-over-TLS (DoT), DNS-over-QUIC (DoQ) und DNSCrypt
- DNS Rewrites: Lokale DNS-Auflösung für Homelab-Services
- DHCP-Server: Kann den DHCP-Server deines Routers ersetzen
- Parental Controls: Jugendschutz und Safe Browsing
- Client-spezifische Regeln: Verschiedene Filtereinstellungen pro Gerät
GitHub: AdguardTeam/AdGuardHome
Wie funktioniert DNS-basiertes Blocking?
DNS (Domain Name System) übersetzt Domain-Namen wie example.com in IP-Adressen. Bei jeder Anfrage an eine Website fragt dein Gerät zuerst einen DNS-Server nach der passenden IP-Adresse. Genau hier setzt AdGuard Home an:
sequenceDiagram
participant Device as Gerät
participant AG as AdGuard Home
participant Block as Blocklisten
participant DNS as Upstream DNS
Device->>AG: DNS-Anfrage: ads.tracker.com
AG->>Block: Domain prüfen
Block-->>AG: ❌ Geblockt
AG->>Device: 0.0.0.0 (Ad wird nie geladen)
Device->>AG: DNS-Anfrage: example.com
AG->>Block: Domain prüfen
Block-->>AG: ✓ Erlaubt
AG->>DNS: Anfrage weiterleiten
DNS-->>AG: 93.184.216.34
AG->>Device: 93.184.216.34
Warum ist DNS-Blocking besser als Browser-Erweiterungen?
| Vorteil | Erklärung |
|---|---|
| Alle Geräte | Funktioniert ohne Installation auf Smartphones, Smart-TVs, Konsolen, IoT-Geräten |
| App-Werbung | Blockiert Werbung in Apps, nicht nur in Browsern |
| Bandbreite | Werbung wird gar nicht erst geladen - spart Traffic und beschleunigt das Laden |
| IoT-Schutz | Schützt smarte Geräte, die keine Ad-Blocker installieren können |
| Netzwerkebene | Zentrale Verwaltung statt Konfiguration auf jedem Gerät |
DNS-Blocking wirkt auf Netzwerkebene, bevor Werbung überhaupt geladen wird. Das spart Bandbreite, beschleunigt das Surfen und schützt alle Geräte gleichermaßen.
Features im Überblick
AdGuard Home bietet weit mehr als nur Ad-Blocking:
| Feature | Beschreibung |
|---|---|
| DNS Filtering | Blockiert Werbung, Tracker und Malware anhand von Blocklisten |
| DNS-over-HTTPS/TLS/QUIC | Verschlüsselte DNS-Anfragen für mehr Privatsphäre |
| Query Log | Detaillierte Statistiken pro Client und Domain |
| Custom Filtering Rules | Eigene Regeln mit Regex und Wildcards |
| DNS Rewrites | Lokale DNS-Auflösung für Homelab-Services |
| DHCP Server | Integrierter DHCP-Server als Router-Ersatz |
| Safe Browsing | Schutz vor Malware und Phishing |
| Parental Controls | Jugendschutzfilter und zeitbasierte Regeln |
| Client-spezifische Einstellungen | Verschiedene Filter pro Gerät |
| REST API | Automatisierung und Integration in andere Tools |
Installation mit Docker
Die einfachste Möglichkeit, AdGuard Home zu betreiben, ist Docker Compose:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
services:
adguard:
image: adguard/adguardhome:latest
container_name: adguard-home
ports:
- "53:53/tcp" # DNS
- "53:53/udp" # DNS
- "3000:3000/tcp" # Setup UI (nur beim ersten Start)
- "80:80/tcp" # Web UI (nach Setup)
- "443:443/tcp" # HTTPS
- "853:853/tcp" # DNS-over-TLS
volumes:
- ./adguard/work:/opt/adguardhome/work
- ./adguard/conf:/opt/adguardhome/conf
environment:
- TZ=Europe/Berlin
restart: unless-stopped
Starten:
1
docker compose up -d
Port 53 Konflikt beheben
Auf vielen Linux-Systemen (besonders Ubuntu) belegt systemd-resolved bereits Port 53. Das führt zu einem Konflikt beim Start von AdGuard Home.
Lösung für Ubuntu/Debian:
1
2
3
4
5
6
7
8
9
# systemd-resolved deaktivieren
sudo systemctl disable --now systemd-resolved
# /etc/resolv.conf neu erstellen
sudo rm /etc/resolv.conf
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf
# AdGuard Home neustarten
docker compose restart adguard
Nach dem initialen Setup auf Port 3000 wechselt die Web-UI automatisch zu Port 80. Du kannst Port 3000 dann aus der Docker-Konfiguration entfernen.
Ersteinrichtung
Nach dem ersten Start erreichst du das Setup-Interface unter http://SERVER-IP:3000:
Schritt 1: Admin-Account erstellen
Lege einen Benutzernamen und ein sicheres Passwort fest. Diese Credentials brauchst du für den Zugriff auf die Web-UI.
Schritt 2: DNS-Listener konfigurieren
AdGuard Home fragt, auf welchen Interfaces es DNS-Anfragen annehmen soll:
- All interfaces: Empfohlen für normale Setups
- Specific IP: Wenn du mehrere Netzwerk-Interfaces hast
Der Standard-Port ist 53 (DNS). Ändere das nur, wenn du einen Grund dafür hast.
Schritt 3: Web-UI Port
Nach dem Setup läuft die Web-UI standardmäßig auf Port 80. Du kannst einen anderen Port wählen, wenn Port 80 bereits belegt ist.
Schritt 4: Upstream DNS wählen
Wähle die DNS-Server, an die AdGuard Home erlaubte Anfragen weiterleitet. Empfohlene Optionen:
- Cloudflare:
https://dns.cloudflare.com/dns-query - Quad9:
https://dns.quad9.net/dns-query - Google:
https://dns.google/dns-query
Mehr dazu im nächsten Abschnitt.
Schritt 5: Als Netzwerk-DNS einrichten
Setze die IP-Adresse des AdGuard-Servers als DNS in deinem Router oder DHCP-Server. Alle Geräte verwenden dann automatisch AdGuard Home.
Upstream DNS konfigurieren
Upstream DNS-Server sind die Server, an die AdGuard Home erlaubte DNS-Anfragen weiterleitet. Die Wahl des richtigen Protokolls und Anbieters ist wichtig für Performance und Privatsphäre.
Protokoll-Optionen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# DNS-over-HTTPS (DoH) - empfohlen
https://dns.cloudflare.com/dns-query
https://dns.google/dns-query
https://dns.quad9.net/dns-query
# DNS-over-TLS (DoT)
tls://1dot1dot1dot1.cloudflare-dns.com
tls://dns.quad9.net
tls://dns.google
# DNS-over-QUIC (DoQ) - schnellstes Protokoll
quic://dns.adguard-dns.com
quic://dns.nextdns.io
# Klassisch (unverschlüsselt) - nicht empfohlen!
1.1.1.1
8.8.8.8
9.9.9.9
DoH vs. DoT vs. DoQ: DNS-over-HTTPS (DoH) ist am weitesten verbreitet und läuft über Port 443, was gut durch Firewalls kommt. DNS-over-TLS (DoT) nutzt Port 853 und ist ebenfalls sicher. DNS-over-QUIC (DoQ) ist das neueste Protokoll, basiert auf QUIC (wie HTTP/3) und ist am schnellsten - aber noch nicht überall unterstützt.
Empfohlene Upstream DNS-Server
| Anbieter | Server | Fokus |
|---|---|---|
| Cloudflare | https://dns.cloudflare.com/dns-query |
Schnelligkeit, Privacy |
| Quad9 | https://dns.quad9.net/dns-query |
Sicherheit, Malware-Blocking |
| AdGuard DNS | quic://dns.adguard-dns.com |
Privacy, Ad-Blocking |
| NextDNS | https://dns.nextdns.io/... |
Konfigurierbar, Analytics |
Du kannst auch mehrere Upstream-Server gleichzeitig konfigurieren. AdGuard Home nutzt dann den schnellsten oder verteilt die Last.
Filterlisten
Filterlisten (Blocklists) definieren, welche Domains blockiert werden. AdGuard Home kommt mit Standard-Listen, du kannst aber weitere hinzufügen.
Standard-Listen
AdGuard Home aktiviert beim Setup bereits sinnvolle Listen:
- AdGuard DNS filter: AdGuards eigene Liste
- AdAway Default Blocklist: Fokus auf mobile Werbung
- MalwareDomainList: Malware und Phishing
Empfohlene zusätzliche Listen
| Liste | URL | Fokus |
|---|---|---|
| OISD Big | https://big.oisd.nl/ |
Sehr populär, gut gepflegt, umfassend |
| Steven Black’s hosts | https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts |
Kombiniert mehrere bekannte Listen |
| HaGeZi Pro | https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/wildcard/pro.txt |
Deutsch-fokussiert, aggressiv |
| EasyList | https://easylist.to/easylist/easylist.txt |
Browser-Werbung |
| EasyPrivacy | https://easylist.to/easylist/easyprivacy.txt |
Tracking und Analytics |
| 1Hosts Pro | https://o0.pages.dev/Pro/hosts.txt |
Umfangreich, häufig aktualisiert |
Listen hinzufügen
Filters → DNS blocklists → Add blocklist → Add a custom list
Füge die URL ein und klicke auf “Save”. AdGuard lädt die Liste herunter und wendet sie an.
Übertreibe es nicht mit Blocklisten. Zu viele überlappende Listen bringen keinen Mehrwert, verlangsamen aber die DNS-Auflösung. 3-5 gut gepflegte Listen reichen völlig aus.
Custom Filtering Rules
Zusätzlich zu Blocklisten kannst du eigene Regeln definieren:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Domain blockieren
||ads.example.com^
# Alle Subdomains blockieren
||tracker.com^
# Domain erlauben (Whitelist)
@@||trusted.com^
# Regex-Regel
/^ad[0-9]+\.example\.com$/
# Wildcard
*.tracking-*.net
Filters → Custom filtering rules - hier kannst du diese Regeln eintragen.
DNS Rewrites (lokale DNS-Auflösung)
DNS Rewrites sind eine der mächtigsten Features von AdGuard Home für Homelab-Nutzer. Statt /etc/hosts auf jedem Gerät zu pflegen, definierst du lokale Domain-Auflösungen zentral.
Warum DNS Rewrites?
Angenommen, du betreibst mehrere Services in deinem Homelab:
- Jellyfin Media Server auf
192.168.60.50 - Immich Photo Management auf
192.168.60.80 - GitLab auf
192.168.60.170
Ohne DNS Rewrites müsstest du entweder:
- Die IP-Adressen auswendig lernen
/etc/hostsauf jedem Gerät manuell pflegen- Einen vollwertigen DNS-Server wie BIND aufsetzen
Mit DNS Rewrites geht das viel einfacher.
DNS Rewrites konfigurieren
Filters → DNS rewrites → Add DNS rewrite
| Domain | IP-Adresse |
|---|---|
jellyfin.homelab.local |
192.168.60.50 |
immich.homelab.local |
192.168.60.80 |
git.homelab.local |
192.168.60.170 |
Jetzt kannst du von jedem Gerät im Netzwerk einfach jellyfin.homelab.local aufrufen - AdGuard löst das automatisch zur richtigen IP auf.
Wildcard Rewrites
Noch besser: Nutze Wildcards mit einem Reverse Proxy (Nginx Proxy Manager, Traefik):
1
*.homelab.local -> 192.168.60.65
Alle Domains unter .homelab.local zeigen auf deinen Reverse Proxy (z.B. Nginx Proxy Manager auf 192.168.60.65). Der Proxy routet dann anhand des Hostnamens zum richtigen Backend-Service.
sequenceDiagram
participant Browser
participant AG as AdGuard Home
participant NPM as Nginx Proxy Manager<br/>192.168.60.65
participant Jellyfin as Jellyfin<br/>192.168.60.50
Browser->>AG: DNS: jellyfin.homelab.local
AG->>Browser: 192.168.60.65 (Wildcard *.homelab.local)
Browser->>NPM: HTTP: jellyfin.homelab.local
NPM->>Jellyfin: HTTP Proxy
Jellyfin->>NPM: Response
NPM->>Browser: Response
Vorteile:
- Ein Rewrite statt dutzender einzelner Einträge
- SSL-Terminierung am Reverse Proxy (Let’s Encrypt)
- Zentrale Verwaltung aller Service-Domains
- Einfaches Hinzufügen neuer Services ohne DNS-Änderungen
DNS Rewrites sind der Grund, warum AdGuard Home in fast jedem Homelab unverzichtbar ist. Statt auf jedem Gerät /etc/hosts zu pflegen, konfigurierst du lokale Domains zentral an einer Stelle.
Client-spezifische Einstellungen
AdGuard Home erlaubt unterschiedliche Filterregeln für verschiedene Geräte oder Nutzer. Das ist besonders nützlich für:
- Kinder-Geräte: Strengere Filter, Jugendschutz
- IoT-Geräte: Aggressives Tracking-Blocking
- Gast-WLAN: Basisschutz ohne Rewrites
- Eigene Geräte: Lockerere Filter
Persistent Clients anlegen
Settings → Client settings → Add client
Gib dem Client einen Namen und identifiziere ihn per:
- IP-Adresse:
192.168.60.105 - MAC-Adresse:
AA:BB:CC:DD:EE:FF - Client-ID: Bei verschlüsselten DNS-Protokollen
Individuelle Einstellungen
Für jeden Client kannst du konfigurieren:
- Blocklisten: Welche Listen gelten für diesen Client?
- Safe Browsing: Malware/Phishing-Schutz aktivieren?
- Parental Control: Jugendschutzfilter?
- Safe Search: Erzwingt Safe Search in Suchmaschinen
- Custom Rules: Client-spezifische Whitelists/Blacklists
Beispiel-Setup:
| Client | Einstellung |
|---|---|
| Kids-iPad | Parental Control ON, Safe Search ON, strengere Blocklisten |
| Smart-TV | Aggressive Tracking-Listen, Safe Browsing ON |
| Entwickler-Laptop | Basis-Listen, viele Whitelists für Dev-Tools |
| Gast-WLAN | Standard-Listen, keine DNS Rewrites |
Im Netzwerk einrichten
Damit alle Geräte AdGuard Home nutzen, musst du es als DNS-Server im Netzwerk bekannt machen. Es gibt zwei Ansätze:
Option 1: DNS im Router setzen (empfohlen)
Setze die IP-Adresse des AdGuard-Servers als DNS-Server in den DHCP-Einstellungen deines Routers. Alle Geräte, die ihre Netzwerk-Konfiguration per DHCP beziehen, verwenden dann automatisch AdGuard Home.
Vorteile:
- Zentrale Konfiguration
- Alle Geräte automatisch geschützt
- Neue Geräte sofort abgesichert
Vorgehen (beispielhaft für gängige Router):
- Router-UI öffnen (z.B.
192.168.1.1) - DHCP-Einstellungen öffnen
- Primary DNS:
IP-ADRESSE-VON-ADGUARD-HOME - Secondary DNS:
1.1.1.1(Fallback für AdGuard-Ausfälle) - Speichern und DHCP-Leases erneuern
Option 2: DNS pro Gerät setzen
Alternativ kannst du auf jedem Gerät manuell den DNS-Server eintragen. Das ist sinnvoll, wenn du AdGuard Home nur für bestimmte Geräte nutzen willst.
Nachteile:
- Manueller Aufwand pro Gerät
- Neue Geräte müssen manuell konfiguriert werden
- Vergisst man leicht bei Smartphones, Gästen, etc.
DNS-Einstellung testen
Nach der Konfiguration kannst du prüfen, ob Geräte AdGuard Home nutzen:
1
2
3
4
5
# Linux/macOS
nslookup example.com
# Windows PowerShell
Resolve-DnsName example.com
Der Output sollte den AdGuard-Server als DNS-Server zeigen.
Wichtig: Wenn AdGuard Home ausfällt, funktioniert DNS im gesamten Netzwerk nicht mehr. Setze immer einen Fallback-DNS (z.B.
1.1.1.1) als Secondary DNS oder implementiere Hochverfügbarkeit.
Hochverfügbarkeit
Ein einzelner AdGuard-Server ist ein Single Point of Failure: Fällt er aus, funktioniert DNS im gesamten Netzwerk nicht mehr. Für produktive Homelabs empfiehlt sich Redundanz.
Zwei AdGuard-Instanzen
Betreibe zwei AdGuard-Instanzen auf verschiedenen Hosts oder VMs:
- Primary:
192.168.60.53 - Secondary:
192.168.60.54
Setze beide IPs als DNS-Server im Router:
- Primary DNS:
192.168.60.53 - Secondary DNS:
192.168.60.54
Wenn der Primary-Server ausfällt, nutzen Geräte automatisch den Secondary-Server.
Konfiguration synchronisieren
Um beide Instanzen identisch zu konfigurieren, nutze adguard-home-sync:
GitHub: adguard-home-sync
1
2
3
4
5
6
7
8
9
10
11
12
13
services:
adguard-sync:
image: ghcr.io/bakito/adguardhome-sync:latest
container_name: adguard-sync
environment:
- ORIGIN_URL=http://192.168.60.53
- ORIGIN_USERNAME=admin
- ORIGIN_PASSWORD=secret
- REPLICA_URL=http://192.168.60.54
- REPLICA_USERNAME=admin
- REPLICA_PASSWORD=secret
- SYNC_INTERVAL=60
restart: unless-stopped
Das Tool synchronisiert alle 60 Sekunden die Konfiguration vom Primary zum Secondary Server.
Backup der Konfiguration
AdGuard Home speichert die Konfiguration in ./adguard/conf/AdGuardHome.yaml. Sichere diese Datei regelmäßig:
1
2
3
4
5
# Manuelles Backup
cp ./adguard/conf/AdGuardHome.yaml ./backups/adguard-$(date +%F).yaml
# Automatisches Backup mit Cron (täglich um 3 Uhr)
0 3 * * * /usr/bin/docker cp adguard-home:/opt/adguardhome/conf/AdGuardHome.yaml /backups/adguard-$(date +\%F).yaml
Vergleich: AdGuard Home vs. Pi-hole
Pi-hole ist der bekannteste netzwerkweite Ad-Blocker. Wie schlägt sich AdGuard Home im Vergleich?
| Feature | AdGuard Home | Pi-hole |
|---|---|---|
| Web-UI | Modern, übersichtlich | Funktional, etwas älter |
| DNS-over-HTTPS (DoH) | ✅ Nativ | ❌ Erweiterung nötig |
| DNS-over-TLS (DoT) | ✅ Nativ | ❌ Erweiterung nötig |
| DNS-over-QUIC (DoQ) | ✅ Nativ | ❌ Nicht unterstützt |
| DNSCrypt | ✅ Ja | ✅ Ja (Plugin) |
| Eingebauter DHCP | ✅ Ja | ✅ Ja |
| DNS Rewrites | ✅ Nativ, sehr flexibel | ⚠️ Über Local DNS (eingeschränkt) |
| Client-spezifische Regeln | ✅ Umfangreich | ⚠️ Begrenzt (Gruppen) |
| Regex-Filter | ✅ Ja | ✅ Ja |
| API | ✅ REST API | ✅ REST API |
| Upstream-Protokolle | DoH, DoT, DoQ, DNSCrypt, UDP | Hauptsächlich UDP (DoH mit Plugin) |
| Parental Controls | ✅ Eingebaut | ❌ Nicht vorhanden |
| Safe Browsing | ✅ Eingebaut | ❌ Nicht vorhanden |
| Docker-Support | ✅ Offizielles Image | ✅ Offizielles Image |
| Ressourcenverbrauch | ~50-100 MB RAM | ~30-70 MB RAM |
| Community-Größe | Wachsend, aktiv | Sehr groß, etabliert |
| Filterlisten-Kompatibilität | Hosts, ABP, uBlock | Hosts, AdBlock |
| Geschrieben in | Go | Shell, PHP, C |
| Installation | Ein Binary | Mehrere Komponenten |
Fazit
Beide Tools sind hervorragend und erfüllen ihren Zweck. Die Wahl hängt von deinen Prioritäten ab:
Wähle AdGuard Home, wenn du:
- Verschlüsselte DNS-Protokolle (DoH, DoT, DoQ) nativ nutzen willst
- DNS Rewrites für Homelab-Services brauchst
- Parental Controls und Safe Browsing schätzt
- Eine moderne, integrierte Lösung bevorzugst
- Client-spezifische Regeln ausgiebig nutzen willst
Wähle Pi-hole, wenn du:
- Eine etablierte, battle-tested Lösung willst
- Die große Community und viele Tutorials schätzt
- Auf bewährte Open-Source-Technologie setzt
- Minimalen Ressourcenverbrauch bevorzugst
- Bereits Pi-hole-Erfahrung hast
Beide Tools sind hervorragend. AdGuard Home bietet mehr eingebaute Features (verschlüsselte DNS-Protokolle, Rewrites, Client-Regeln). Pi-hole hat die größere Community und ist länger am Markt. Du machst mit keinem der beiden einen Fehler.
Monitoring und Statistiken
AdGuard Home bietet ein umfangreiches Dashboard mit detaillierten Statistiken.
Dashboard-Übersicht
Nach dem Login siehst du:
- DNS Queries: Anzahl der Anfragen in den letzten 24h/7d/30d/90d
- Blocked by filters: Prozentsatz und absolute Zahl blockierter Anfragen
- Top Clients: Welche Geräte erzeugen die meisten Anfragen?
- Top Queried Domains: Welche Domains werden am häufigsten aufgerufen?
- Top Blocked Domains: Welche Werbung/Tracker wird am häufigsten blockiert?
Query Log
Der Query Log zeigt jede einzelne DNS-Anfrage in Echtzeit:
- Client: Welches Gerät hat die Anfrage gestellt?
- Domain: Welche Domain wurde angefragt?
- Type: A, AAAA, CNAME, etc.
- Response: IP-Adresse oder Blocked
- Response Time: Wie schnell wurde die Anfrage beantwortet?
Du kannst nach Client, Domain, Response-Typ filtern und Anfragen gezielt whitelisten/blacklisten.
Statistiken pro Client
Unter Statistics siehst du eine Aufschlüsselung pro Client:
- Wie viele Anfragen stellt jedes Gerät?
- Wie viel davon wird blockiert?
- Welche Domains ruft jedes Gerät auf?
Das ist nützlich, um problematische Geräte (z.B. Smart-TVs mit exzessivem Tracking) zu identifizieren.
Homepage Dashboard Widget
Wenn du Homepage nutzt, kannst du AdGuard Home als Widget einbinden:
1
2
3
4
5
6
7
8
9
- AdGuard Home:
icon: adguard-home.png
href: http://192.168.60.53
description: Network-wide ad blocker
widget:
type: adguard
url: http://192.168.60.53
username: admin
password: secret
Das Widget zeigt DNS-Queries, Blocked Requests und Top Domains direkt im Homepage-Dashboard.
Troubleshooting
Port 53 bereits belegt
Problem: AdGuard Home startet nicht, weil Port 53 bereits belegt ist.
Lösung: Deaktiviere systemd-resolved (siehe Abschnitt Installation) oder konfiguriere AdGuard Home auf einem anderen Port.
Geräte nutzen AdGuard nicht
Problem: Du hast AdGuard im Router eingetragen, aber Geräte verwenden es nicht.
Mögliche Ursachen:
- DHCP-Lease nicht erneuert: Geräte nutzen noch die alte DNS-Konfiguration. Lösung: Geräte neustarten oder DHCP-Lease manuell erneuern.
- Statische DNS-Einträge: Manche Geräte (z.B. Smartphones) haben manuell konfigurierte DNS-Server. Lösung: DNS-Einstellungen auf “Automatisch” setzen.
- VPN aktiv: VPN-Apps überschreiben oft die DNS-Einstellungen. Lösung: VPN deaktivieren oder VPN-DNS auf AdGuard setzen.
Zu viele False Positives
Problem: Wichtige Websites oder Apps funktionieren nicht, weil Domains fälschlicherweise blockiert werden.
Lösung: Nutze den Query Log, um herauszufinden, welche Domain blockiert wird. Füge sie zur Whitelist hinzu:
Filters → Custom filtering rules
1
@@||blocked-domain.com^
Häufig blockierte, aber wichtige Domains:
graph.facebook.com(Facebook Login)s.youtube.com(YouTube Analytics)www.googleadservices.com(Google Shopping)
Langsame DNS-Auflösung
Problem: Websites laden langsamer als vorher.
Mögliche Ursachen:
- Langsamer Upstream DNS: Teste verschiedene Upstream-Server (Cloudflare, Quad9, Google).
- Zu viele Blocklisten: Reduziere die Anzahl der Listen oder wechsle zu optimierten Listen wie OISD.
- Netzwerk-Latenz: Prüfe die Netzwerkverbindung zum AdGuard-Server.
Upstream DNS testen:
AdGuard Home hat einen eingebauten Test: Settings → DNS settings → Upstream DNS servers → Test upstreams
AdGuard Dashboard nicht erreichbar
Problem: Die Web-UI lädt nicht.
Lösung:
1
2
3
4
5
6
7
8
# Container läuft?
docker ps | grep adguard
# Logs prüfen
docker logs adguard-home
# Container neustarten
docker compose restart adguard
Tipps für die Praxis
1. Starte konservativ mit Blocklisten
Beginne mit den Standard-Listen und füge nach und nach weitere hinzu. Zu viele überlappende Listen bringen keinen Mehrwert.
Empfohlenes Starter-Set:
- AdGuard DNS filter (Standard)
- OISD Big
- HaGeZi Pro
2. Nutze den Query Log aktiv
Der Query Log ist dein bester Freund, um False Positives zu identifizieren. Wenn eine Website nicht funktioniert:
- Öffne den Query Log
- Filtere nach dem betroffenen Client
- Suche nach blockierten Domains (rote Einträge)
- Whiteliste die Domain, wenn sie legitim ist
3. DNS Rewrites für alle Homelab-Services
Setze für alle selbst gehosteten Services DNS Rewrites auf. Das macht dein Homelab viel komfortabler:
1
2
3
4
jellyfin.homelab.local -> Jellyfin IP
immich.homelab.local -> Immich IP
home.homelab.local -> Home Assistant IP
git.homelab.local -> GitLab IP
Oder nutze einen Reverse Proxy mit Wildcard-Rewrite:
1
*.homelab.local -> Reverse Proxy IP
4. Client-spezifische Einstellungen nutzen
Nutze Client-spezifische Regeln für:
- IoT-Geräte: Aggressives Tracking-Blocking
- Kinder-Geräte: Jugendschutz, Safe Search
- Gast-WLAN: Basisschutz ohne Zugriff auf lokale Rewrites
5. Homepage Dashboard Widget
Wenn du Homepage nutzt, binde AdGuard als Widget ein. So siehst du auf einen Blick, wie viele Anfragen blockiert werden.
6. Regelmäßige Backups
Die AdGuard-Konfiguration liegt in ./adguard/conf/AdGuardHome.yaml. Sichere diese Datei regelmäßig:
1
docker cp adguard-home:/opt/adguardhome/conf/AdGuardHome.yaml ./backup-$(date +%F).yaml
7. Secondary DNS für Redundanz
Setze immer einen Fallback-DNS (z.B. 1.1.1.1) als Secondary DNS im Router. Wenn AdGuard Home ausfällt, funktioniert DNS trotzdem noch - wenn auch ohne Ad-Blocking.
8. Safe Browsing aktivieren
Aktiviere Safe Browsing für alle Clients. Das schützt vor Malware und Phishing, ohne Performance-Einbußen.
9. Verschlüsselte DNS-Protokolle nutzen
Konfiguriere DoH oder DoT als Upstream-Protokoll. Das verschlüsselt deine DNS-Anfragen und verhindert, dass dein ISP sieht, welche Websites du besuchst.
10. Query Log Retention anpassen
Standardmäßig speichert AdGuard Home 90 Tage Query Logs. Für DSGVO-Compliance oder Performance kannst du das reduzieren:
Settings → General settings → Query log retention
Fazit
AdGuard Home ist die moderne DNS-Lösung für Homelabs. Die Kombination aus netzwerkweitem Ad-Blocking, verschlüsselten DNS-Protokollen und DNS Rewrites macht es zu einem unverzichtbaren Baustein der Homelab-Infrastruktur.
Die größten Vorteile:
- Netzwerkweiter Schutz: Alle Geräte profitieren ohne Installation
- DNS Rewrites: Lokale Domains für Homelab-Services
- Verschlüsseltes DNS: DoH, DoT, DoQ für mehr Privatsphäre
- Client-spezifische Regeln: Individuelle Filter pro Gerät
- Einfache Installation: Docker Compose in 5 Minuten
Für wen ist AdGuard Home?
- Homelab-Betreiber, die lokale DNS-Auflösung brauchen
- Nutzer, die Werbung und Tracking netzwerkweit blockieren wollen
- Privacy-Enthusiasten, die verschlüsselte DNS-Protokolle schätzen
- Familien, die Kinder-Geräte zentral absichern wollen
AdGuard Home ist kostenlos, Open Source und läuft stabil auf minimaler Hardware. Für einen Homelab-DNS-Server gibt es kaum bessere Alternativen.
Ressourcen
- AdGuard Home GitHub: github.com/AdguardTeam/AdGuardHome
- AdGuard Home Dokumentation: github.com/AdguardTeam/AdGuardHome/wiki
- OISD Blocklists: oisd.nl
- HaGeZi DNS Blocklists: github.com/hagezi/dns-blocklists
- Steven Black’s hosts: github.com/StevenBlack/hosts
- 1Hosts: o0.pages.dev
- adguard-home-sync: github.com/bakito/adguardhome-sync
- DNS-over-HTTPS Resolver: github.com/curl/curl/wiki/DNS-over-HTTPS