
HowTo: Endlich weg mit der Werbung – AdGuard Home ganz einfach mit Synology Docker
Seien wir ehrlich… Werbung wird immer nerviger. Als Hobby Admins unserer eigenen Netzwerke gibt es aber einfache Lösungen, um mit super wenig Arbeit, für alle verbundenen Geräte auf einmal einen Großteil der Werbe- und Trackingsysteme global zu blockieren.
Es gibt zwei sehr weit verbreitete kostenlose Programme, die das können: piHole oder AdGuard Home. Ich geh hier nicht auf die Unterschiede ein, sondern nehme einfach AdGuard Home, da es hübscher aussieht und bei mir auf Anhieb top funktioniert hat. AdGuard Home ist hierbei ein Domain Name Server (DNS), der dafür sorgt, dass die Geräte im Netzwerk die Domains der bekannten Netzwerk und Tracking Services nicht mehr zu IPs auflösen kann und Werbung kann dann einfach nicht mehr geladen werden. Der DNS wird in normalen Netzwerken einmal im Router konfiguriert und alle Clients, die sich mit dem Router verbinden, bekommen automatisch dann AdGuard als DNS Server, so dass es im Standardfall eine „zero-config“-Lösung ist.
In diesem HowTo richten wir also AdGuard Home als generellen Werbe- und Trackingfilter für ein Netzwerk ein.
Konkret werden wir:
- AdGuard Home als als Docker Image auf der Synology installieren
- AdGuard Home konfigurieren
- Die Installation einmal testen
- Ein Unifi Netzwerk umkonfigurieren, dass der Filter automatisch für alle verbundenen Geräte wirkt
AdGuard Home per Docker auf der Synology
Loggt euch in euer DSM ein und öffnet Menü -> Docker -> Registrierung und sucht „adguardhome“. Das richtige Paket ist adguard/adguardhome. Klickt drauf um es zu installieren.
Ich habe folgende Einstellungen gewählt:
- Version/tag: latest
- Network: bridge
- Containername: adguardhome
- Automatisch neu starten
- Zwei Ordner sollten angelegt werden:
- Ich packe Ordner für Docker bei mir auf der Synology immer in /docker/“imagename“. Heißt hier:
- [Synology]
/docker/adguardhome/conf -> /opt/adguardhome/conf
[Docker] - [Synology] /docker/adguardhome/work -> /opt/adguardhome/work [Docker]






Ports konfigurieren
Bevor ihr den Container startet (schaltet ihn einmal aus, sollte er schon laufen), geht in der Synology einmal auf Docker -> Container -> adguardhome -> Bearbeiten -> Port Einstellungen.
Setzt folgende Ports:
- 53 -> 53 für UDP und TCP (hier läuft dann der DNS Server)
- 8080 -> 80 für TCP (hier läuft dann die AdGuard Oberfläche)

Startet dann den Container.
AdGuard Home initial konfigurieren
Ihr müsst nun einmalig die Initialisierung von AdGuard Home machen. Die Initialisierung läuft auf Port 3000 im Docker Container, der Port wird aber dynamisch beim Start des Containers auf einen Port eurer Synology gemapped. Geht in der Synology auf euren laufenden Container und schaut nach, welcher Port zu Port 3000 gehört.

In dem Fall hier ist das TCP Port 49155. Ruft dann also http://192.168.178.57:49155 auf.
Bei den Einstellungen musste ich in der Tat nichts ändern. Yay, sinnvolle defaults 🙂 Als Hinweis jedoch: Wir verwenden hier der Einfachheit halber den „bridge“ Netzwerk Modus von docker. Der ist zwar einfach, hat aber den Nachteil, dass wenn AdGuard IPs anzeigt (sowohl hier in der DNS Config, als auch später bei den anfragenden IPs), dann wird immer nur die interne IP des Docker Images angezeigt und nicht die aus dem Netzwerk. Das ist ein Schönheitsfehler, der keine Auswirkung auf die Funktionsweise hat, daher war mir das erstmal egal.
Die Seite zeigt euch aber auch, wie ihr auf unterschiedlichen Systemen AdGuard ausprobieren könnt bevor ihr die Router Config für euer Netzwerk ändert.


Ausprobieren
In der Config Seite hat man eine Anleitung wie man den eigenen PC anpassen kann um AdGuard Home als DNS Server zu verwenden. Auf einem MacBook wäre es Systemeinstellungen -> Netzwerk -> WLAN -> Details -> DNS. Dort die IP eurer Synology einstellen.
Dann einfach mal eine Internetseite laden (auf der ihr sonst nicht seid), die Werbung enthält und die Werbung sollte ausgefiltert werden. Auf der Übersichtseite von AdGuard Home sollten die DNS und blockierten DNS Anfragen dann auch aufgeführt sein. Die Übersichtseite erreicht ihr unter eurer Synology IP mit Port 8080 (haben wir oben so eingerichtet). Bspw: http://192.168.178.57:8080

Wenn alles geklappt hat, entfernt die manuelle DNS Konfiguration wieder, die muss man nicht bei jedem System einrichten, sondern nur einmal im Router.
Unifi Netzwerk Router DNS konfigurieren für AdGuard Home
Wenn der manuelle Test eben geklappt hat, konfigurieren wir den AdGuard DNS Server noch als Default für unser lokales Netzwerk. Dadurch wird er automatisch für alle Geräte im Netz verwendet. Jedes normale System (Laptops, PCs, Handys, Gast Geräte, IoT Geräte, …), das sich mit euren Netz verbindet, bekommt dann per DHCP nicht nur eine IP zugewiesen, sondern auch den DNS, den es verwenden soll, um Domain Namen zu IPs aufzulösen. Da wird dann AdGuard Home als DNS verwendet.
Wir richten das hier am Beispiel eines Unifi Routers ein, in einer Fritz Box geht das prinzipiell aber genauso.
In Unifi, geht in eure Network App, dort auf Settings -> Networks -> Default -> „Show Options“ im „DHCP Service Management“. Dann:
- Entfernt das Häkchen bei DNS Server -> „Auto“
- Tragt die IP eurer Synology ein
Wiederholt das für die anderen Netzwerke, die ihr habt falls gewünscht (bspw ein Guest Network).



Die Änderung wird in der Regel nach 24 Stunden überall aktiv sein, alternativ, schaltet einmal das Wlan an eurem Handy aus und wieder an und ihr solltet eure IP als DNS sehen. Ruft eine beliebige Seite mit Werbung auf und sie sollte nicht mehr laden. Das wars dann auch schon.
Fazit
Wir haben mit wenigen Klicks AdGuard Home als Standard DNS im lokalen Netzwerk eingerichtet. Werbung wird nun nicht mehr geladen, da die Domains der Werbenetzwerke geblockt werden.
Ein paar abschließende Hinweise noch:
- Das funktioniert nur, wenn die Werbung auch von einem entsprechenden Netzwerk geladen wird. Bei Youtube zum Beispiel, werden die Werbeeinblendungen von youtube.com ausgespielt, das kann mit dieser Methode natürlich nicht weggefiltert werden.
- Es gibt in dieser Variante keine Möglichkeit, Ausnahemen zu konfigurieren. Bspw, dass ihr einen Blog wie den hier, explizit unterstützen wollt und daher die Werbung nur auf dieser Blog-Seite anzeigen wollt. Da der DNS den Kontext nicht kennt in dem ihr unterwegs ist, ist es eine alles oder nichts filtern Lösung.
Kommentiert gerne, ob ihr noch bessere Möglichkeiten kennt, Werbung mit wenig Konfigurationsaufwand wegzubekommen.

