Hier eine kurze Zusammenfassung der nötigen Schritte um AdGuardHome als Docker Container auf einem Synology NAS in Betrieb zu nehmen.
Damit filtere ich Werbung, Popups, Cookie-Meldungen und Privatsphäre-Tracker für alle Geräte im Netzwerk. Im Gegensatz zum Brave-Browser also systemweit (auch in Apps) und ohne jegliche Installation auf den Endgeräten.
Bislang kam dafür Pi-hole zum Einsatz. Dessen Filterwirkung ist bereits überzeugend. AdGuardHome ist noch schlanker, kann verschlüsselte Namensauflösung via DoH oder DNS over TLS direkt out-of-the-box und bietet eine API für die Integration in Homeassistant. Ein Highlight für mich ist zudem die direkte Nutzbarkeit von Filterlisten im AdBlock-Format. Statt einer Liste von bekannten Servern, basieren diese auf Mustererkennung in den URLs. Entsprechende Listen gibt es für alle Anwendungsgebiete und geographischen Regionen.
Kleiner Bonus für diejenigen, die AdGuardHome auf einem Raspberry Pi installieren (dauert nur wenige Sekunden. Herunterladen, Entpacken, Starten): Man kann zukünftige Updates direkt über das Webfrontend durchführen.
Vorbereitungen
- SSH Verbindung (z.B. mit Putty) zum NAS aufbauen
- Hostnamen ausdenken und freie IP-Adresse im Client-Netz suchen
192.168.178.7
- Netzwerkinterface des NAS identifizieren (meist
eth0
oderovs_bond0
wenn ein OpenVSwitch-Bond verwendet wird)ip addr show
- Optional für HTTPS: Zertifikat und Key im BASE64 Format besorgen.
Installation
- Datenstruktur anlegen (z.B. mit File Station)
/volume1/docker/adguardhome/conf
/volume1/docker/adguardhome/work
- Docker Netzwerk anlegen, damit der Container eine eigene IP bekommt (vermeidet Portkonflikte). Dabei NAS Netzwerkinterface als parent angeben
docker network create -d macvlan --subnet=192.168.178.0/24 --ip-range=192.168.178.7/32 --gateway=192.168.178.1 -o parent=eth0 adguard_network
adguard/adguardhome:latest
Image aus Docker registry herunterladen- Abbild starten
- Erweitert
- Automatischen Neustart aktivieren
- Volumes
/opt/adguardhome/conf
und/opt/adguardhome/work
mounten (Ordner hinzufügen, lokales Verzeichnis auswählen)
- Netzwerk
adguard_network
hinzufügenbridge
entfernen
- Umgebung
- Variable
TZ
=Europe/Berlin
hinzufügen
- Variable
- Erweitert
- Container starten
Konfiguration
- Startseite aufrufen
http://192.168.178.7:3000
- Benutzer und Passwort vergeben
- Einstellungen
- Allgemein
- AdGuard Webservice für Internetsicherheit verwenden
- Protokoll- und Statistikzeitraum anpassen
- DNS-Einstellungen
- Upstream-DNS-Server ersetzen
- z.B.
tls://dns.google
und/odertls://1.1.1.1
(cloudflare) - ggf. parallele Abfragen aktivieren
- z.B.
- Upstream-DNS-Server ersetzen
- Verschlüsselungseinstellungen
- Zertifikat und Key hinterlegen
- HTTPS aktivieren
- Allgemein
- Filter
Betrieb
- ggf. DNS-Server eines einzelnen Clients vorab auf die AdGuard IP stellen
- Im DHCP-Server AdGuard als DNS-Server publizieren
- z.B. in der Fritz!Box unter
Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> IPv4-Adressen -> Lokaler DNS-Server -> 192.168.178.7
- z.B. in der Fritz!Box unter
- Integration in Homeassistant vornehmen um Monitoring-Infos zu erhalten oder z.B. SafeSearch und Inhaltsfilter bei Anwesenheit von Kindern zu aktivieren.
Soll das NAS selbst (bzw. dessen Docker-Container) ebenfalls durch den Filter laufen, fügt man über die Docker GUI ein weiteres Docker-Bridge-Netzwerk mit einer IP-Adresse hinzu und weist dieses dem Container hinzu. Dann verweist man das NAS manuell auf diese IP und führt einen abschließenden Neustart durch.
In der Praxis erweist sich AdGuardHome als sehr schnell (auf dem Raspberry ca. 1-1,5 ms pro Request, unter Docker 0,0x ms) und genügsam (kaum nennenswerte CPU-Last, ca. 60-100 MB RAM).