PiHole Logo

Pi Hole – Das schwarze Loch für Werbung

Veröffentlicht

Mittlerweile wird man auf nahezu jeder Internetseite mit Werbung bombardiert. Das ist nicht nur unglaublich nervig, sondern verlangsamt auch das Laden einer Seite. Ich habe mir bisher mit AdBlockern in Form eines Browser Plugins Abhilfe geschaffen. Allerdings müssen solche Plugins auf jedem einzelnen Endgerät installiert werden. Dabei gibt es mit Pi Hole eine viel komfortablere und vor allem flexiblere Lösung.

Pi Hole

Im Grunde ist Pi Hole nichts anderes als ein DNS Server im heimischen Netz. Er löst also Domain Namen in IP Adressen auf. Da er jedoch nicht weltweit alle IPs vorhalten kann, verwendet er wiederum einen anderen öffentlichen DNS. Beispielsweise von Google. Der Vorteil liegt jedoch darin, dass man mit Pi Hole Domains konfigurieren kann, die im heimischen Netzwerk nicht mehr erreichbar sein sollen. In diesem Fall werden keine IP Adresse zurückgeliefert, was dazu führt, dass ein bestimmter Inhalt nicht geladen werden kann. Anhand einer Liste von Domains, die bekanntermaßen Werbung ausliefern, kann man ebendiese somit komplett verbannen. Doch neben Werbung kann man auch Tracker, Metriken Sammler und andere ungewollte Domain-Anfragen so ins leere laufen lassen.

Installation

Für die meisten gängigen Linux Distribution gibt es ein herunterladbares Installations-Shell-Skript. Eine offizielle Auflistung der unterstützen Linux Distributionen und CPU Architekturen findest du hier:

Pi Hole - Unterstützte Distribution Versionen und CPU Architekturen
Pi Hole – Unterstützte Distribution Versionen und CPU Architekturen

Inoffiziell läuft Pi Hole sicher auch unter anderen Debian-basierten Distributionen. Da es jedoch ursprünglich für den Raspberry Pi konzipiert wurde, werden sich darauf die meisten Installationen finden. Auch ich habe die Software auf der kleinen Himbeere laufen. Läuft auf dem Raspberry Pi bereits Raspbian Stretch, geht die Installation ganz einfach mit nur einer Zeile auf der Kommandozeile von der Hand:

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

Gerade aus dem Hintergrund heraus, dass man so jedoch nicht prüfen kann, was genau ausgeführt wird, ist diese Methode möglicherweise nicht für jeden die bevorzugte Variante. Daher werden noch weitere Optionen angeboten:

  • GIT Repository klonen
    1. git clone –depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole
    2. cd „Pi-hole/automated install/“
    3. sudo bash basic-install.sh
  • Manueller Download per wget
    1. wget -O basic-install.sh https://install.pi-hole.net
    2. sudo bash basic-install.sh

Wählt man die GIT Repository Methode, so kann man das Shell Skript direkt online auf Github prüfen. Github ist das Kundenvertrauen sehr wichtig. Dementsprechend ist auch Sicherheit sehr wichtig. Mit unter anderem externen Audits und Bug Bounty soll sichergestellt werden, dass zum einen gehostete Projekt nicht kompromittiert werden. Zum anderen aber auch, genau der Inhalt ausgeliefert wird, den Anwender beim Klonen eines Repositorys erwarten. Mit dem manuellen Download per wget erhält man im Grund, wie per Github auch, das basic-install Shell Skript zur Installation.

Ich habe den Entwicklern so viel Vertrauen entgegengebracht und die vollständig automatische Installation per curl durchgeführt. Pi Hole ist eine sehr leichtgewichtige Software. Daher dauerte die Installation trotz eingeschränkter Hardware-Leistung des Pis nur wenige Minuten. Anschließend ist das schwarze Loch für Werbung theoretisch sofort einsatzbereit. Damit die Geräte nun auch den lokalen DNS Server verwenden, müssen jedoch noch ein paar Konfigurationen vorgenommen werden.

Konfiguration

Um im heimischen Netz immer über dieselbe IP Adresse erreichbar zu sein, muss dem Pi Hole im DHCP Server (vermutlich wird diese Funktion vom verwendeten Internet Router übernommen) eine IP Adresse reserviert werden. Das Vorgehen hierfür unterscheidet sich in den unterschiedlichen Routen leicht. In der FritzBox passiert das unter dem Menüpunkt „Heimnetz > Netzwerk“. Dort klickt man neben dem Raspberry Pi auf den Stift, um die Verbindung zu bearbeiten und setzen einen Haken bei „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen„. Alternativ kann man die IP Verteilung per DHCP auch von Pi Hole erledigen lassen. Das hat den Vorteil, dass man später die DNS Abfragen aller verbunden Geräte eindeutig unterscheiden kann. Es macht jedoch die Gesamtkonfiguration des heimischen Netzwerkes etwas komplexer. Verwendet man hingegen weiterhin seinen Standard DHCP Server im Router, kann man nur DNS Anfragen über den Router und von der Pi Hole Hardware selbst unterscheiden.

Hat man sich dazu entschieden seinen Standard DHCP Router weiterhin zu verwenden, muss darin zusätzlich konfiguriert werden, dass er fortan nicht mehr einen öffentlichen DNS, sondern den DNS des Pi Hole verwendet. In einer FritzBox trägt man dazu unter „Internet > Zugangsart > DNS-Server“ die oben reservierte IP Adresse ein. Letzten Endes wird anschließend trotzdem ein öffentlicher DNS verwendet. Zuvor werden jedoch ungewünschte Domains herausgefiltert.

Pi Hole Dashboard

Wenn alles korrekt konfiguriert ist, sollte man nach kurzer Zeit erste Aktivitäten auf der Pi Hole Oberfläche sehen. Man kann dort sehen, wieviele Domains ingesamt nicht erlaubt werden, wieviel Domains angefragt wurden und wieviele Domains tatsächlich geblockt wurden. Den letzteren Wert sieht man einmal als konkrete Anzahl, als auch als prozentualen Wert von allen Anfragen. Darunter sieht man noch weitere Diagramme, die den Verlauf darstellen und welche Art Queries angefragt, bzw. wie beantwortet wurden. Hier sieht man im Beispiel, dass nicht geblockte Anfragen in den meisten Fällen an den Google DNS weitergereicht werden.

  • PiHole - Dashboard
  • PiHole - System Settings
  • PiHole - Blocklists
  • PiHole - DNS Settings

Bei Bedarf kann das Blocking auch vorübergehend oder permanent deaktiviert werden. Dies ist beispielsweise hilfreich, um die Funktionalität zu prüfen. In den System Settings kann kann man einige Metriken einsehen und beispielsweise das System neustarten.

Standardmäßig werden nur einige tausend Domains geblockt. In vielen Fällen genügt dies, um sich Werbung auf Internet Seiten zu entledigen. Wer jedoch noch weitere Domains blocken möchte, kann das ganz einfach über weitere Einträge in die Black List erledigen. Komfortabler ist es jedoch bereits fertige Block Listen hinzuzufügen. Auf Firebog findet man einige Listen, die in unterschiedliche Kategorien untergliedert sind. Darunter sind Listen gegen Werbung und Tracking, aber auch gegen verdächtige und schädliche Seiten. Es ist verlockend einfach alle Listen hinzuzufügen. Dadurch kann es jedoch zu einem „Over-blocking“ kommt. Im Endeffekt muss jeder für sich selbst das richtige Maß finden.

Fazit nach drei Monaten

Ich möchte Pi Hole bei mir Daheim nicht mehr missen. Werbung wird in den meisten Fällen wirkungsvoll herausgefiltert, ohne auf jedem einzelnen Gerät einen AdBlocker installiert zu haben. Lediglich YouTube funktioniert meiner Erfahrung nach nicht mehr, wenn man zu viele Werbedomains blockt. Hier muss ich also leider weiterhin den ein oder anderen Werbe-Clip ertragen. Dafür habe ich es etwa Microsoft, Apple und Google deutlich erschwert Metriken über mich zu sammeln. Zudem laden viele Internet Seiten schneller, da keine für mich unnütze Inhalte nachgeladen werden.

Im nächsten Schritt werde ich ein leichtgewichtiges VPN, wie WireGuard zu mir nach Hause einrichten, um auch mobil jederzeit vom Schutz meines Pi Holes profitieren zu können. Zwar habe ich bereits OpenVPN laufen, etwa für mein Smartphone ist es jedoch zu ressourcenhungrig. Bei Interesse kann ich dazu gerne einen weiteren Beitrag schreiben, um von meinen Erfahrungen damit zu berichten.

Hast du schon einmal von Pi Hole gehört? Was hältst du von dem Konzept auf diese Weise Werbung und andere ungewünschte Domains zu verbannen?

Viele Grüße dein Dominic

Hinterlasse eine Nachricht

Kommentar verfassen

  Subscribe  
Benachrichtigen, wenn