Netzwerkweit Werbung blockieren mit Pi-hole

pihole_logoHabt ihr genug von flackernden Werbebannern die mehr Raum einnehmen als der eigentliche Seiteninhalt oder gefühlte 100 Ad-Server die beim Öffnen einer einzigen Webseite kontaktiert werden? Adblock & Co. sind eine gute Sache, allerdings auf den Webbrowser beschränkt auf dem das Plugin installiert ist. Android oder iOS waren da meistens aussen vor. Auf der Suche nach einem weiteren Beschäftigungsfeld für meinen Raspberry Pi bin ich auf ein nettes Projekt gestoßen!

 

 

Mit einer Zeile ist er auf dem Raspberry Pi installiert: der Werbeblocker Pi-hole:

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

Während der Installation wird die Konfiguration von Pi-hole durch eine grafische Oberfläche erleichtert. Die meisten Voreinstellungen kann man ohne Änderung abnicken.

Unter anderem ist als DNS-Server der von Google voreingestellt. Diese Einstellung kann nach Abschluss der Installation nachträglich in der Pi-hole-Konfigurationsdatei mit

angepaßt werden. Das ist erforderlich, damit auch die lokale Namensauflösung im Heimnetz funktioniert. Hierzu muss der lokale Router als DNS anstelle dem Google-DNS eingerichtet werden. Dazu folgende Gelb markierte Änderung vornehmen (die auskommentierten IPs hinter server sind die beiden von Google) und dort die IP eurer FritzBox bzw. des Routers eintragen (bei mir ist das die Standardadresse der FritzBox mit der 192.168.178.1). Nach der Änderung den Raspi durchstarten.

dnsip

Damit nun der Pi-hole auch netzwerkweit als DNS genutzt wird, muss in der FritzBox (Firmware 6.5) unter “Heimnetz -> Heimnetzübersicht -> Netzwerkeinstellungen -> IPv4 Adressen” noch die IP des Pi-hole-Rechners als lokaleer DNS-Server eintragen werden.

fritzbox2

Soviel zur Installation und Konfiguration von Pi-hole! Es kann ein paar Minuten dauern bis die Hostnamen im lokalen Netz wieder aufgelöst werden. Ab nun laufen die DNS-Anfragen aller im Heimnetz eingebundenen Geräte (LAN oder WLAN) über den Pi-hole und alles ist werbefrei!

 

Die Weboberfläche von Pi-hole erreicht man standardmäßig über den HTTP-Port 80 des Servers wo die Installation gemacht wurde. Da bei mir auf dem Rapsberry aber parallel noch ein Apache werkelt, konnt der lighttpd nicht auf Port 80 gestartet werden. Eine entsprechende Fehlermeldung kam am Ende der Installation. Daher musste ich den Port des lighttpd noch ändern. Dazu die Konfiguration des lighttpd mit

editieren (nach “80” suchen und den Wert hinter server.port auf den gewünschten Port stellen). Anschliessend den lighttpd-Service mit folgendem Befehl neu starten:

 

Die Admin-Oberfläche des Pi-hole erreicht man über http://<servername>:<port>/admin/api.php. Dort wird eine tägliche Zusammenfassung der gestellten DNS-Anfragen etc. angezeigt. Ausserdem kann hier die White- und Blacklist seit der Version 2.7 gepflegt werden.

pihole1

 

Verschiedene der in der Adminoberfläche angezeigten Information können auch sehr einfach über eine JSON-Schnittstelle abgefragt werden. Hier ein kurzes Beispiel um diese Abfrage in PHP zu realsieren und ein Screenshot der Implementierung in meiner Hausübersicht (links unten).

pihole_heimnetz

 

Für die Bastler die das Ganze auch noch mit Hardware verbinden wollen, bin ich noch über folgendes gestolpert:

http://thetimmy.silvernight.org/pages/endisbutton/

Hier kann Pi-hole über einen Button am Raspberry aktiviert oder deaktiviert werden und der Status wird per LED angezeigt. Ist bei mir nicht so praktikabel, da der Raspberry Pi bei mir im Keller an der Wand hängt.

 

Ansonsten kann man auf der Konsole mittels pihole [option] noch verschiedene Funktionen aufrufen. So kann zum Beispiel die Liste der Werbe-Domains aktualisiert werden:

Zeigt alle möglichen Optionen:

 

Aktuell ist noch kein Update-Mechanismus integriert. Daher erfordert ein Update eine Neuinstallation mittels oben genannten Aufruf. Dabei werden die in der Pi-hole manuell vorgenommenen Änderungen wieder überschrieben. Daher am besten vorher /etc/dnsmasq.d/01-pihole.conf sichern, mit der neuen Version vergleichen und ggf. zurückspielen oder anpassen. Der Port vom lighttpd in /etc/lighttpd/lighttpd.conf muss auch ggf. wieder angepaßt werden.

So, und nun viel Spaß mit einem größtenteil werbefreien Internet!

 

Gruß

Chris

 

Ein Gedanke zu „Netzwerkweit Werbung blockieren mit Pi-hole

  • 11. Februar 2017 um 22:40
    Permalink

    Danke, für die einfache Erklärung. Jetzt ist auch bei den Flodders Schluss mit Werbung in den Handy Apps 🙂

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.