Wer hasst sie nicht, lästige Werbung auf jeder Seite. Teilweise so penetrant, dass das Lesefluss gestört wird. Mittlerweile findet sich auch in jeder App oftmals mehr Werbung als eigentliche App-Inhalt. Während man im ersten Fall noch Werbeblocker im Browser installieren kann, oder gleich einen Browser mit integrierten Filtern verwendet, wie etwa Brave. Hilft das bei In-App-Werbung nicht weiter. Wie gut, dass es Pi-hole gibt, ein lokaler DNS, der Werbung blockiert und zwar noch bevor sie heruntergeladen wird. Lediglich ein geringer Prozentsatz an Werbung kann nicht gefiltert werden, und zwar jene, die der Seiten- bzw. App-Betreiber selber hostet (etwa Werbung auf Youtube).
Installation
Für Docker auf der DiskStation benötigt ihr das Paket Container Manager, zu finden im Paket Zentrum jener DiskStations die Docker auch unterstützen. Auf DSM Versionen < 7.2 heißt das Paket noch Docker.
Um die Konfiguration und Statistiken von Pi-hole abzuspeichern, benötigen wir noch zwei Ordner. Erstellt im Freigegebenen Ordenr /docker
den Ordner “pihole” und darin die beiden Ordner “pihole” und “dnsmasq.d”.
Wechselt in den Bereich Registry und sucht nach “pihole”. Ladet das Image herunter und wechselt in den Bereich Image. Sobald der Download abgeschlossen ist, könnt ihr die Einrichtung des Containers durch einen Doppelklick auf das Image starten.
Aktiviert die Option “Automatischen Neustart aktivieren” und klickt auf Weiter.
Die Ports könnt ihr so belassen, fügt die beiden, zuvor angelegten Ordner hinzu und mappt sie auf /etc/dnsmasq.d/
und /etc/pihole/
.
Achtung
Verwendet ihr den DNS-Server der DiskStation kommt es zu einem Port-Konflikt DNS-Server verwenden standardmäßig Port 53, so auch das Synology-Paket “DNS Server” und Pi-hole. Entweder deaktiviert ihr das DNS-Server-Paket und übernehmt die Konfiguration in Pi-hole oder ihr lasst Pi-hole in einem Bridge-Netzwerk laufen.
Jetzt geht es an die Umgebungsvariablen. Ändert DNSMASQ_USER auf root. Pi-hole erfordert einen User mit root-Berechtigung. Fügt dann folgende Variablen hinzu:
Variable | Wert | Beispiel |
TZ | gewünschte Zeitzone | Europe/Vienna |
FTLCONF_webserver_api_password | Passwort für das Webinterface | |
FTLCONF_dns_listeningMode | “all” sollte nur dann erforderlich sein, wenn der Container im Bridge-Netzwerk läuft | all |
FTLCONF_webserver_port | Port, unter dem das Webinterface erreichbar sein soll | 8080 |
Als nächstes klickt ihr unter “Funktionen” auf Funktionen konfigurieren und aktiviert zusätzlich NET_ADMIN, SYS_NICE und SYS_TIME, den Rest belasst ihr. Als Netzwerk wählt ihr Host aus, damit der Container im selben Netzwerk wie eure DS läuft, das macht es einfacher Pi-hole zu nutzen. Es sollte auch möglich sein den Container in einem Bridge-Netzwerk laufen zu lassen, dafür sind aber weitere Einstellungen notwendig die in dieser Anleitung nicht abgedeckt sind. Klickt anschließend auf Weiter und Fertig. Der Container sollte jetzt starten. Mögliche Fehlerquellen sind: Vergessen den Benutzer auf “root” zu ändern oder einen Port zu wählen, der bereits von der DS belegt wird.
Ihr könnt jetzt das Pi-hole-Webinterface öffnen. Ihr erreicht es unter der Domain/IP unter der Ihr auch eure DiskStation erreicht, gefolgt vom gewählten Port und /admin/login
, Beisple: ds.meinedomain.com:8080/admin/login
Gebt das gewählte Passwort ein und ihr solltet das, noch leere, Dashboard sehen.
Lokale Namensauflösung / lokaler DNS
Bevor ihr euren Router so konfigurieren könnt, das alle Clients den Pi-hole als DNS-Server verwenden können, müsst ihr euch über die lokale Namensauflösung Gedanken machen. Nutzt ihr für eure DiskStation und/oder Dienste im lokalen Netz eine lokale Domain oder habt ihr die Namensauflösung für eine echte Domain im LAN konfiguriert, müsst ihr das dem Pi-hole mitteilen, ansonsten können hinterher die Domains lokal nicht mehr aufgelöst werden.
Die Auflösung einer Domain auf eine lokale IP-Adresse wird von vielen Consumer-Routern verhindert bzw. muss diese eigens aktiviert werden. FRITZ!Boxen haben die entsprechende Option in den DNS-Einstellungen (die bei mir immer wieder mal nicht funktioniert haben). Bei Routern die das nicht können, bzw. generell sorgloser geht es über einen eigenen DNS-Dienst (DNS-Server Paket auf der DS oder dem Synology Router) der die lokalen Domains auflöst. Habt ihr noch keinen DNS-Server konfiguriert, könnt ihr auch Pi-hole zur lokalen Auflösung verwenden.
Habt ihr bereits einen DNS-Server in euren LAN laufen, müsst ihr euch entscheiden wie ihr die DNS-Services schalten wollt.
Option A: Die Pi-hole wird als erster DNS verwendet und
A1: frägt für die lokale Auflösung bei eurem lokalen DNS nach oder
A2: leitet generell alle Anfragen die er nicht beantworten kann an den lokalen DNS weiter.
Option B: Alle Clients verwenden primär euren lokalen DNS, dieser übernimmt die Auflösung für eure lokalen Domains und alle anderen Anfragen leitet er an den Pi-hole weiter.
Wichtig ist, die Arbeitsweise des Pi-hole zu verstehen, er nimmt anfragen entgegen und blockiert alle Anfragen die an Domains gehen, die Werbung ausliefern, alle anderen Anfragen leitet er an einen öffentlichen DNS im Internet weiter, das was sonst euer Router macht. Eine richtige oder falsche Option gibt’s nicht, logisch gesehen macht Option B mehr Sinn, denn euer DNS übernimmt zuerst die Auflösung lokaler Domains (die ja sowieso keine Werbung enthalten) und alles weitere schickt er an den Pi-hole. Das würde auch die geringste Änderung im Netzwerk bedeuten. ALLERDINGS kommen dann alle Anfragen an den Pi-hole von eurem lokalen DNS. Ihr könnt in den Statistiken dann nicht mehr nach lokalen Clients unterscheiden. Ist euch das wichtig, ist Option A die bessere Wahl. Geht es nur um die lokale Auflösung wählt Option A1, habt ihr auf eurem lokalen DNS komplexere bzw. umfangreichere Einstellungen, macht Option A2 Sinn.
Nachfolgend erkläre ich euch alle 3 Optionen. Ich selbst habe Option A1 in Verwendung.
WICHTIG: Konfiguriert nur eine Option.
Lokale Namensauflösung via Conditional forwarding (aka Option A1)
Geht dazu im Webinterface von Pi-hole auf Settings > DNS und aktiviert dort den Expert-Mode indem ihr auf Basic klickt. Scrollt runter bis zum Abschnitt “Conditinal forwarding” dort müsst ihr jetzt das Netz, den DNS/Router der für die lokale Auflösung zuständig ist und die gewünschte(n) Domain(s) eintragen. Verwendet dazu eine Zeile pro Domain und folgendes Format <enabled>,<ip-address>[/<prefix-len>],<server>[#<port>][,<domain>]
ein Beispiel dazu: true,192.168.1.0/24,192.168.1.1,meinedomain.com
Klickt dann auf Save & Apply.
Vollständige Weiterleitung an den lokalen DNS (aka Option A2)
Geht dazu im Webinterface von Pi-hole auf Settings > DNS und aktiviert dort den Expert-Mode indem ihr auf Basic klickt. Im Abschnitt “Upstream DNS Servers” entfernt ihr alle Häkchen in der Tabelle und klappt “Custom DNS servers” auf. Tragt dort die IP eures DNS-Servers ein.
Klickt dann auf Save & Apply.
Pi-hole nach dem lokalen DNS betreiben (aka Option B)
Option B erfordert vorerst keine Änderungen.
Weiter geht’s damit den Clients den Pi-hole als DNS-Server zu übermitteln.
LAN-Setup
Pi-hole ist bereits Vorkonfiguriert und ist bereit Anfragen entgegen zu nehmen. Dazu müssen die Clients im LAN Pi-hole als DNS-Server eingetragen bekommen. Das passiert normalerweise per DHCP, der am Router läuft, es sei denn, ihr habt jeden Client manuell konfiguriert oder den DHCP anderswo laufen.
DHCP-Setup für Optionen A
Geht in die DHCP-Einstellungen eures Routers und tragt dort die IP-Adresse eurer DiskStation als primären und sekundären DNS ein. Warum für beide? Es gibt Geräte wie etwa Android(TV)-Geräte (z.B. Fire TV, Nvidia Shield TV) die den Google-DNS hardcoded eingetragen haben (andere Geräte können auch Herstellerspezifische DNS-Einträge haben). Das heißt, bekommen diese Geräte keinen zweiten DNS eingetragen, verwenden sie automatisch den Hersteller-DNS und umgehen somit Pi-hole (Pi-hole blockiert, also wird die Anfrage an den Hersteller-DNS weitergeleitet).
Nur bei Option A1: In eurem lokalen DNS-Server könnt ihr jetzt den Upstream-DNS-Server entfernen/deaktivieren. Im Synology DNS-Server deaktiviert ihr dazu im Beriech Auflösung den Auflösungsdienst.
Nachdem ihr die Einstellungen übernommen habt, kann es etwas dauern, bis alle Geräte davon mitbekommen haben. Bei einigen (mobil) Geräten reicht ein Neustart, unter Windows könnt ihr in der Kommandozeile mit ipconfig /renew
die neuen Einstellungen vom Router sofort beziehen und mit ipconfig /flushdns
den Lookup-Cache leeren. Für Unix gibt es ähnliche Befehle.
Setup für Option B
Wenn ihr Pi-hole hinter eurem lokalen DNS betreiben wollt, müsst ihr zuerst in eurem lokalen DNS, die IP eurer DiskStation als Upstream-DNS-Server eintragen. Im DNS-Server von Synology findet ihr die Option unter Auflösung > Auflösungsdienst. Dort habt ihr bis jetzt einen öffentlichen DNS oder euren Router eingetragen gehabt (sonst könntet ihr keine Internet-Domains mehr auflösen).
Wahl des Upstream-DNS-Servers
Für die Optionen A1 und B könnt ihr in den Einstellungen des Pi-hole den Upstream-DNS-Server festlegen. Also jenen DNS, der nach dem Pi-hole die Auflösung übernimmt. Üblicherweise betrifft das die Auflösung für Domains im Internet. Ihr habt die Wahl, ihr könnt den DNS eures Providers angeben, oder einen beliebigen anderen DNS. Wählt man einen anderen DNS, ist man etwas unabhängiger und kann eventuelle Sperren umgehen (Funktioniert nur bei Sperren per blockierter Namensauflösung). Standardmäßig verwendet Pi-hole die Google-DNS 8.8.8.8 und 8.8.4.4. Ihr könnt unter Settings > DNS > Upstream DNS Servers über die Tabelle steuern, welche DNS ihr verwenden wollt.
ECS
DNS mit ECS liefern Ergebnisse die durch die Geolocation (also euren Ort) beeinflusst sind. Heißt ihr bekommt für eine Domain einen anderen Server/IP als z.B. jemand in Amerika.
Verwendet am besten einen DNS der Secure DNS/DNS over HTTPS (DoH) unterstütz. Entweder verwendet ihr Cloudflare (in der Tabelle) oder ihr sucht euch vertrauenswürdige IPs aus dem Internet. Wenn ihr mehr über Secure DNS wissen wollt, lest bitte im Internet nach.
Zusammenfassung
So, ich weiß, das Thema ist nicht ganz einfach und der Artikel ist nicht ganz straight forward, hängt das Setup doch davon ab was ihr erreichen wollt bzw. was ihr schon in euren LAN habt. Nachfolgend findet ihr die 3 Optionen nochmal auf einen Blick zusammengefasst.
Option A1
Option A2
Option B
Setup testen
Jetzt wollen wir testen, ob wir alles richtig gemacht haben. Um Pi-hole zu testen, surft mit einem Gerät im LAN eine Webseite mit viel Werbung an. Dazu eigenen sich beispielsweise Seiten von Tageszeitungen und Magazinen. Ruft danach das Pi-hole-Dashboard auf und ihr solltet die ersten Werte sehen. Unter Query Log könnt ihr euch die einzelnen Anfragen ansehen. Ihr sehr welche Anfragen gestellt wurden und von welchem Client sie kommen. Das ist die IP vom Gerät, wenn Pi-hole der erste DNS-Server ist bzw. die IP von eurem lokalen DNS, wenn Pi-hole dahinter läuft.
Die lokale Namensauflösung testet ihr, indem ihr eine lokale Domain aufruft. Das ganze könnt ihr auch über die Kommandozeile testen. Unter Windows heißt der Befehl nslookup <Domain>
, z.B. nslookup google.com
oder nslookup meinedomain.com
Die Befehle ipconfig /all
, ping
, tracert -d
und nslookup
helfen euch auch bei der Fehlersuche.
Achtung
Die FRITZ!box verhält sich etwas eigenwillig. Auch wenn ihr in der Box einen eigenen DNS hinterlegt, schaltet sich die FRITZ!box immer davor. Clients bekommen immer die IP der FRITZ!box als DNS-Server eingetragen. Die Verwendung von Pi-hole und/oder lokalem DNS funktioniert zwar trotzdem (eventuell nicht immer zuverlässig) im Fehlerfall kann das die Suche nach der Ursache etwas erschweren. Ihr könnt im Notfall die IP-Einstellungen am Gerät immer noch manuell vornehmen und IP-, Gateway- und DNS-Adressen selbst eintragen.
Wenn ihr lokale Domains und Internetseiten auflösen könnt, besucht eine Seite mit viel Werbung (Seiten von Tageszeitungen eignen sich da sehr gut). Wechselt dann wieder ins Webinterface von Pi-hole, ihr solltet dort jetzt die ersten Statistiken sehen.
Unter Query log könnt ihr euch die einzelnen Anfragen ansehen, die gemacht wurden, welche erlaubt und welche blockiert wurden.

Möchtet Ihr noch detailliertere Schritt-Für-Schritt-Anleitungen für euer Synology NAS, mit viel mehr Hintergrundinformationen, Tipps und Tricks? Dann holt euch mein Wissen als als umfassendes Praxis-Handbuch. Mehr Infos findet ihr in keinem Buch zu Synology und alles in der von mir gewohnten Qualität.
Die dritte Auflage enthält Aktualisierungen zu DSM 7.1 und den Updates von WebStation, Surveillance Station und Synology Photos.
Das Buch direkt beim Verlag
Das Buch auf Amazon