Raspberry Pi Adblocker: Mit Pi Hole das Netzwerk von Werbung befreien
Das Netz ist voller Werbung – weshalb immer mehr Leute zu einem Werbeblocker greifen. Dies kann entweder daran liegen, dass viele Seiten von Werbung voll sind, oder man einfach nicht getrackt werden möchte. Selbst Schadcode gelang in der Vergangenheit über Werbeanzeigen auf heimische Computer. Für viele Browser gibt es Adblocker, jedoch wollen wir in diesem Tutorial eine übergreifende Lösung für alle Geräte bauen: Dazu insallieren wir den Raspberry Pi Adblocker „Pi Hole“, der für das ganze Heimnetzwerk geeignet ist.
In nur wenigen Schritten erfolgt die Installation und Einrichtung aller Geräte, sodass wir am Ende werbefrei surfen können, beziehungsweise selbst entscheiden können, was wir sehen möchten.
Zubehör
Falls der Raspberry Pi als Standalone Adblocker fungieren soll, wird nicht viel Zubehör benötigt, da das Filtern der Werbung ausschließlich über die installierte Software stattfindet. Lediglich diese Komponenten werden gebraucht:
- Raspberry Pi 3 (mit LAN Anschluss)
- eine SD Karte mit mindestens 8 GB Speicher
- optimal: LAN Kabel (dadurch ist die Verbingun robuster als per Wlan)
- Stromversorgung
- ideal: Raspberry Pi Gehäude mit kleinen passiven Kühlkörpern
Natürlich kannst du gleichzeitig auch noch andere Projekte oder Berechnungen auf dem Raspi laufen lassen, da nicht all zu viel Rechenkraft des Pi’s benötigt ist. Auf einem „passivem“ Raspberry Pi lassen wir wunderbar Projekte wie die eigene Cloud, die Hausautomatisierung per Smart Home Software, oder aber Email und Twitter Bots erstellen. Schau dich dazu doch einfach mal auf der Seite um, es wurden bereits sehr viele Projekte umgesetzt.
Wofür ein Raspberry Pi Werbeblocker für das komplette Netzwerk?
Für manche wird sich sicherlich die Frage stellen, wofür man einen Raspberry Pi Adblocker bauen soll, wenn es doch Lösungen wie uBlock Origin, Adblock Plus und viele andere für die gängigen Browser auf Heimcomputern gibt? Nunja, nicht auf allen Geräten (Android, iOS) unterstützen die Browser solche Addons, weshalb hier auf Alternativen zurückgegriffen werden muss. Sofern der Browser das Addon unterstützt, so muss die Konfiguration auf jedem Gerät einzeln vorgenommen werden und auch wenn man diese teilweise übernehmen kann, ist es alles andere als komfortabel.
Darüber hinaus hat bspw. Google, welches mit Chrome den verbreitetsten Browser herausgebracht hat, angekündigt, eben jene Adblocker einzuschränken, da dies natürlich Googles Kerngeschäft – Geld verdienen mit Werbeanzeigen – gefährdet.
Dies sind wohl mitunter die stärksten Argumente, weshalb man auf eine Self-Made Lösung setzen sollte.
Pi Hole – Starker Adblocker für den Raspberry Pi
Die einfachste und allumfassende Lösung bietet und Pi-Hole. Die Software kann schnell und einfach installiert werden und dient „als schwarzes Loch für Online-Werbung“. Der Code dieses Open-Source Projekts kann auf Github eingesehen werden.
Unterstützte Betriebssysteme von Pi-Hole: Raspbian, Ubuntu, Debian, Fedora, CentOS sowie die Installation per Docker Container
Die Installation ist denkbar einfach. Alles was du dazu benötigst ist ein Linux basierendes System, wie bspw. Raspbian. Entweder wir nehmen ein bereits vorhandenes Betriebssystem oder flashen es auf eine SD Karte. Anschließend verbinden wir uns per SSH und führen folgenden Befehl aus:
wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh
Damit wird ein Skript heruntergeladen, welches die komplette Installation übernimmt.
Während dem Prozess werden einige Fragen gestellt wie bspw. ob das LAN oder Wlan Interface genutzt werden soll.

Als Upstream DNS Provider kannst du Google oder OpenDNS nutzen. Bei allen weiteren Fragen, ist die vorgeschlagene Möglichkeit in der Regel in Ordnung.

Ebenfalls kannst du Filtering Listen aus- bzw. abwählen. Später lassen sich individuelle Filter setzen.

Pi-Hole benötigt eine statische IP Adresse im Netzwerk. Diese wird dir hier angezeigt. Unter der Gateway IP Adresse ist üblicherweise dein Router erreichbar.
Bei den weiteren Schritten kannst du die empfohlenen Einstellungen nehmen. Im letzten Schritt wird dir noch das Passwort und die URL angezeigt, unter dem das Admin Interface erreichbar ist. Bei mir ist dies http://192.168.1.6/admin/.

Das Passwort solltest du dir unbedingt notieren, da es jedes Mal beim Einloggen in das Admin Interface von Pi Hole benötigt wird.
Damit ist die Installation bereits erledigt. Wir können uns nun um die Konfiguration kümmern.
Router Konfiguration: Pi-Hole DNS Server nutzen
Der Traffic unseres Netzwerks muss nun über den Raspberry Pi geleitet werden, damit Werbeinhalte von dort gefiltert werden können. Wir wechseln dazu in das Menü des Routers (normalerweise über 192.168.1.1 erreichbar) und suchen nach den Einstellungsmöglichkeiten von DNS / DHCP. Bei meinem Router war dies unter Heimnetzwerk -> LAN zu finden.
Trage unter statischem DNS die intere IPv4 Adresse des Raspis ein (in meinem Fall 192.168.1.6).
Anschließend öffnen wir das Admin-Menü im Browser von unserem PC. Dies ist entweder über http://pi-hole/admin möglich, oder über die interne IP Adresse des Pi’s. Diese findest du auf dem Raspi z.B. per ipconfig
oder über deinen Router heraus.
Die URL dazu wurde ebenfalls während der Installation angezeigt. Hierbei muss die IP angepasst werden. In meinem Fall lautet die URL http://192.168.1.6/admin .
Unter Settings > DNS (http://192.168.1.6/admin/settings.php?tab=dns) trägst du nun die IP Adresse des Pi’s unter Upstream DNS Server ein:
Hier kannst du ebenfalls den DNS Dienst auswählen.
Bei manchen Routern ist noch ein Neustart erforderlich. Anschließend laufen alle verbundenen Geräte über Pi-Hole werbefrei!
Konfiguration: Werbung für bestimmte Seiten erlauben
Wie du schnell feststellen wirst, werden manche Seiten nicht mehr funktionieren, sofern du einen Werbeblocker nutzt. Daher schauen wir uns als nächstes an, wie man die Konfiguration dementsprechend anpasst. Übrigens: Nicht nur Seiten, die nicht mehr funktionieren, sollten „whitelisted“ werden. Viele Webseiten sind nur dank Werbeeinnahmen verfügbar (auch dieser Blog). Daher ist es fair und auch im Eigeninteresse, bei jenen Seiten, die Werbeanzeigen zuzulassen.
Unter dem Punkt „Whitelist“ im Admin Interface kannst du ausgeschlossene Domains angeben:
Es ist ebenfalls – zusätzlich zu den vordefinierten Listen – bestimmte Elemente / URLs zu blacklisten. Diese Funktion sollte aber vorsichtig verwendet werden, da manche Seiten nicht mehr funktionieren, wenn gewissen Teile nicht geladen werden konnten.