Wenn es darum geht Werbung zu blocken, dann ist Pi-hole momentan ganz weit vorne. Ein normaler Adblocker unterbindet die Werbung, indem er sie nicht anzeigt. Pi-hole geht hier noch einen Schritt weiter und verhindert ebenfalls das herunterladen der Werbung. Somit wird auch Bandbreite gespart. Zwar benötigt ihr einen extra Server, wie einen Raspberry Pi, aber den habt ihr eventuell bereits bei euch aktiv. Zusätzlich werden auch noch Tracker blockiert.
Wie funktioniert Pi-hole
Pi-hole übernimmt die Funktion eures DNS-Servers, was normalerweise euer Router ist. Erkennt Pi-hole nun Anfragen für Domains, welche auf einer Blacklist stehen, dann wird diese Anfrage falsch beantwortet (mit 0.0.0.0) und die Werbung kann erst gar nicht geladen werden. Somit entsteht auch kein Traffic durch Werbung, da sie nicht angezeigt werden kann. Da euer Rechner die Daten auch nicht anzeigen muss, spart ihr auch Leistung.
Installation von Pi-hole
Ursprünglich ist Pi-hole für die Installation auf einem Raspberry-Pi gedacht, es werden aber folgende Betriebssysteme unterstützt:
- Raspbian: Jessie / Stretch
- Ubuntu: 16.04 / 16.10
- Fedora: 27 / 28
- Debian: 8 / 9
- CentOS: 7 (not ARM)
Ihr habt mehrere Möglichkeiten Pi-hole zu installieren. Die einfachste ist es folgenden Befehl auszuführen:
curl -sSL https://install.pi-hole.net | bash
Wem diese Methode nicht sicher erscheint, der kann das Repository clonen oder den Installer manuell herunterladen. Alles Infos findet ihr auf GitHub. Ebenfalls möglich ist der Einsatz eines Docker Containers.
Wenn ihr den Installer ausführt, werdet ihr durch die Installation geführt. Bei der Wahl des Upstream DNS Provider habt ihr die Wahl zwischen bereits vorgegebenen oder einem eigenen. Hier könnt ihr selbst entscheiden. Solltet ihr auf eurem Router DNS Namen gepflegt haben und nutzen, dann muss hier euer Router eingetragen werden. Alle Einstellungen können später über das Webinterface verändert werden. Am Ende erhaltet ihr eine Übersicht mit den IP-Adressen und dem Passwort für das Webinterface. Damit ist die Installation abgeschlossen und Pi-hole läuft. Solltet ihr Probleme haben, hilft euch sicherlich die Community.
Solltet ihr euren eigenen Webserver auf Port 80 betreiben, so darf lighthttpd nicht aktiviert werden. Das Webinterface von Pi-hole wird in /var/www/html/admin abgelegt. Hier müsst ihr eventuell selbst etwas Hand anlegen, aber die helfende Community ist groß.
Eine kleine Anmerkung noch zum DNS-Server. Anbieter wie Google (8.8.8.8) und die meisten DNS-Server der Provider, werten eure Anfragen aus um dadurch noch Einnahmen zu generieren. Solltet ihr dieses verhindern wollen, so solltet ihr als Upstream DNS Provider einen freien DNS-Server ohne Protokollierung verwenden. Zu nenne wäre hier z.B. der Server von digitalcourage:
- IPv4: 46.182.19.48
- IPv6: 2a02:2970:1002::18
Anpassung des Routers
Damit ihr Pi-hole auch nutzt, müsst ihr eure DNS-, bzw. DHCP-Einstellungen anpassen. Solltet ihr feste IPs verwendet, müsst ihr als DNS-Server euren Pi-hole-Server angeben. Ansonsten müsst ihr eurem DHCP-Server sagen, welcher Server eure DNS-Anfragen bearbeiten soll, also der Pi-hole-Server. Pi-hole bringt selbst einen DHCP-Server mit, und könnte somit den eures Routers ersetzen, darauf habe ich aber verzichtet.
Ich habe die Einstellungen hier mal exemplarisch bei einer FritzBox gemacht. Die Einstellungen findet ihr unter Heimnetz -> Heimnetzübersicht -> Netzwerkeinstellungen -> IPv4-Adressen und IPv6-Adressen. Somit erhalten alle Clients per DHCP den Pi-hole-Server als DNS-Server. Für andere Router verhält es sich ähnlich.
Wenn ihr noch den DNS-Server eurer Fritzbox anpassen wollt, findet ihr diesen unter Internet -> Zugangsdaten -> DNS-Server
Pi-hole testen
Natürlich wollen wir auch sehen ob es was bringt. Wenn ihr z.B. auf die Webseite von RTL geht, ist das erste was angezeigt wird, ein Werbebanner. Dieses sollte nun fehlen und somit läuft euer Pi-hole. Glückwunsch! Und was bringt es? Ich würde sagen ihr testet Pi-hole mal für ein paar Tage und schaut dann im Webinterface nach, bei mir wurden aktuell 45% aller DNS Anfragen geblockt.
Pi-hole updaten
Um pi-hole upzudaten loggt ihr euch auf euren Server ein und Startet folgenden Befehle. Danach wird Pi-hole automatisch upgedatet.
pihole -up
Mögliche Probleme
Es sind keine wirklichen Probleme, nur halt Auswirkungen. Nehmen wir z.B. mal Google und suchen nach Uhr. Google wird euch nun auch Produkte vorschlagen, die als Anzeige gekennzeichnet sind. Wenn ihr den Link öffnet, werdet ihr mit folgender Meldung konfrontiert, da der Google Adservice geblockt wird. Solche Links gehen also nicht mehr.
Generell alle Links, welche über einen Anzeigenanbieter geschaltet sind, werden nicht mehr funktionieren. Das sollte euch bewusst sein und ihr solltet alle Personen in eurem Haushalt darüber informieren!
Was ebenfalls nicht ging, war der Abruf von Anhängen aus dem Telekom Email-Center. Glücklicherweise kann man in Pi-hole die letzten DNS Abfragen verfolgen (Query Log) und Ausnahmen einer Whitelist hinzufügen. Ihr werdet also eventuell einige Anpassungen manuell durchführen müssen. Wenn also eine DNS Anfrage scheitert, kann Pi-hole schuld sein. Twitter Analytics sind ebenfalls per Default geblockt.
Fazit
Pi-hole funktioniert sehr gut und ist relativ einfach zu installieren. Eventuell müsst ihr ein paar Kleinigkeiten anpassen, aber das ist schnell gemacht. Dadurch habt ihr euch damit dem Griff der Werbeindustrie etwas entzogen und gebt weniger Infos über euch preis. Schaut es euch einfach mal an und testet Pi-hole, ihr werdet nicht enttäuscht sein. Sollte euch das Projekt gefallen haben, dann spendet denn Machern doch auch etwas.
Guter Artikel und klasse Projekt!
Habe mal meinen Raspberry 3 mit Pihole installiert und dazu eine Videoanleitung veröffentlicht:
Installation:
https://devtube.dev-wiki.de/video-channels/pihole_01/videos
Inbetriebnahme:
https://devtube.dev-wiki.de/video-channels/pihole_02/videos
Gruß Dr. Varut Kaschmir