Einen Werbeblocker kennt mittlerweile wohl fast jeder. Zumeist werden sie im Browser als Plugin installiert und halten diesen dann zumeist recht werbefrei. Der Nachteil ist, dass solche Werbeblocker für jeden Rechner und Browser im Heimnetz einzeln installiert, konfiguriert und gewartet werden müssen. Das kann bei mehreren Rechnern schon mal in etwas Arbeit ausarten.

Findige Nutzer installieren im Heimnetz einen Proxy, der Werbung ausfiltert. Die Nutzung eines Proxys muss jedoch ebenfalls an jedem Rechner im Heinetz eingestellt werden. Ein Nachteil dieser Lösung ist, dass verschlüsselte Webseiten, die per HTTPS ausgeliefert werden, nur über Umwege “bereinigt” werden können - die Entschlüsselung der Webseiten übernimmt hier normalerweise der Browser auf dem jeweiligen Rechner.

Wenn man die Entschlüsselung einen Proxy (z.B squid überlassen möchte, muss dieser die Entschlüsselung übernehmen und in Richtung Browser ein eigenes Zertifikat zum erneuten Verschlüsseln benutzen). Ein zusätzlicher Content Filter wie SquidGuard sorgt dann für das Aussortieren der Werbung. Alles in allem, eine recht aufwändige Lösung.

Pi-hole verfolgt einen anderen - durchaus interessanten - Ansatz. Da die meisten Werbeanzeigen über eigene Hostnamen ausgeliefert werden, liegt es nahe, diese DNS-Abfragen abzufangen und umzuleiten. Pi-hole ersetzt den DNS im Heimnetz durch einen eigenen und bietet zusätzlich eine Weboberfläche zum Verwalten des Werbeblockers.

Zur Integration des Systems ins Heimnetz, muss am Router nur der DNS, der per DHCP ausgeliefert wird, auf die IP der pi-hole Installation umgestellt werden.

Ab sofort profitieren alle Geräte im Heimischen Netz/WLAN von der Werbefreiheit. Und das ohne weitere Konfiguration!

Voraussetzungen

Als Basis für die Installation setze ich bei mir einen Raspberry Pi 3 mit Rasbian als Betriebssystem ein. Die Installation ist schnell gemacht. Anleitungen gibt es reichlich dazu zu bei Google zu finden.

"Foto: Apple" Foto: Raspberry Pi 3 Model B V1.2, Oberseite - Quelle: Wikipedia, CC BY-SA 4.0 - Creative Commons

Installation

Für die Installation vom pi-hole gibt es mehrere Möglichkeiten, welche auf der Github Seite des Projekts zu finden sind.

Die Einfachste ist folgendes Shell Kommando

curl -sSL https://install.pi-hole.net | bash

Danach wird das Installations-Script heruntergeladen und die automatische Installation gestartet. Während der Installation sind ein paar wenige Dinge einzustellen.

  • Dazu gehört das Netzwerkinterface über die die DNS Anfragen ankommen sollen. Im meinem Fall habe ich das WiFi Interface wlan0genommen.
  • Die IP-Adresse des Raspberry Pi im Heimnetz. Es sollte sichergestellt werden, dass mmer dieselbe Adresse an den Raspberry Pi vergeben wird.
  • Ebenfalls sind die gewünschten DNS Forwarder einzutragen. Hier kann man aus mehreren auswählen (Google, OpenDNS, Level3, Norton, Comodo) oder aber auch seinen eigenen (z.B. den DNS vom Router) eintragen.

Die Macher des pi-hole Projektes haben ein kurzes Video zur Installation erstellt.

Integration ins Heimnetz

Damit sämtliche DNS-Anfragen nun zum Raspberry Pi gehen, muss man die DHCP Optionen des Routers noch entsprechend anpassen. Hier ist per Default die IP-Adresse des Routers eingetragen.

Bei meiner FritzBox ist dieses unter Heimnetzübersicht -> Netzwerkeinstellungen zu finden. Um die Einstellungen zu Ändern, sind die IPv4 Adressen und die IPv6 Adressen zu bearbeiten. Die Adressen, die dort eingetragen werden müssen, werden am Ende des Installations-Scripts ausgegeben und können zumeist übernommen werden.

Wurden die DNS-Server Einträge im DHCP geändert, bekommen alle Netzwerkgeräte ab sofort den Raspberry Pi als zuständigen DNS mitgeteilt. Da diese Zuteilung beim Start des Gerätes erfolgt, ist die sicherste Methode, diese einmal neu zu starten. Zusätzlich empfiehlt es sich den DNS Cache des jeweiligen Gerätes zu löschen.

Danach werden Anfragen auf eine URL, die Werbung ausliefert auf den Raspberry Pi umgeleitet und von dem dort - während der Installation - installierten Webserver (lighttp) abgearbeitet. Dieser liefert ein leeres 1px GIF oder ein kleines Script zum schließen von Popup Werbung an den anfragenden Browser zurück.

Statistiken und weitere Konfigurationsmöglichkeiten bietet die Weboberfläche vom pi-hole, die unter http://<RaspberryPi IP>/admin/ erreichbar ist.

tl;tr