Pi-Hole – Werbeblocker für das Heimnetz

Ich möchte euch dieses spannende kleine Tool namens Pi-Hole nicht vorenthalten und beschreibe in diesem Beitrag wie ihr in eurem Heimnetz einen auf DNS basierten Werbeblocker (oder auch Adblocker genannt) installieren könnt. Pi-Hole schützt dabei euer komplettes Heimnetz vor Werbung.

Browser Addons wie Adblock Plus oder uBlock Origin werden mit dieser Methode hinfällig. Auch Handys oder Tablets sind automatisch von Werbung befreit.

Block Ads

Pi-Hole wurde für einen Raspberry Pi entwickelt, läuft aber nicht nur unter Raspbian oder Xbian, sondern auch auf anderen Debian Distributionen ohne weitere Probleme.

Was ist das?

Im Grunde besteht Pi-Hole es aus einem Dnsmasq und Lighttpd Dienst.

Pi-Hole füttert Dnsmasq mit einer Liste von über 100.000 Domainnamen die Werbung ausliefern oder Telemetriedaten von Benutzern sammeln möchten. Ein Lighttpd Webserver wird installiert um Statistiken und Query Logs anschaulich darzustellen.

pi-hole_dashboard

Wie funktioniert das?

Die PI-Hole IP-Adresse wird mittels DHCP automatisch oder manuell auf den Clients konfiguriert. Ab sofort geht jede DNS Anfrage wie z.B. https://adminforge.de nicht mehr wie gewohnt zum DNS Server eures Providers sondern zum Pi-Hole Server in eurem Heimnetz. Dort wird die aufgerufene Domain sowie alle verlinkten Domains mit einer Liste an Domainnamen verglichen und bei Match direkt auf dem Pi-Hole Server geblockt. Alle gültigen Anfragen werden wie gewohnt an den Client ausgeliefert.

Punkt 1: Installation von Pi-Hole

Ich gehe davon aus euer Raspbian oder Debian Betriebssystem ist installiert und ihr kennt euer Netzwerkinterface (meist wlan0 oder eth0).

Installiert zuerst curl:

Nun kann auch schon die Pi-Hole Installation losgehen:

Im nachfolgenden Installationsmenü immer Weiter drücken bis das Netzwerkinterface zur Asuwahl steht.

Dort euer genutztes Interface auswählen wo eure IP-Adresse konfiguriert ist wlan0 oder eth0.
Nun könnt ihr DNS Server festlegen, wählt Custom aus und fügt die DNS IP-Adressen aus dem Router ein.

Beispiel FRITZ!Box:
Unter http://fritz.box im Menüpunkt Internet -> Online-Monitor -> Genutzte DNS-Server findet ihr zwei DNS IP-Adressen die ihr im Pi-Hole hinterlegt.

Drückt <Weiter> bis die Installation abgeschlossen ist.

Punkt 2: Webinterface aufrufen

Im Browser kann nun das Admin Webinterface aufgerufen werden.

Punkt 3: Lokaler DNS-Server im Router einstellen

Nun könnt ihr den Pi-Hole im Heimnetz als DNS-Server eintragen. Ich führe das anhand eines Beispiel-Routers auf.

Beispiel FRITZ!Box:
Unter http://fritz.box im Menüpunkt Heimnetz -> Heimnetzübersicht -> Netzwerkeinstellungen scrollt herunter auf IPv4-Adressen und legt in der Zeile Lokaler DNS-Server die IP-Adresse eures Pi-Hole Servers fest.

Nach dem Klick auf OK könnt ihr das WLAN am Handy oder Rechner aus- und wieder einschalten und Werbefrei surfen.

Punkt 4: Cronjob anpassen

In der Datei /etc/cron.d/pihole kommentieren wir Zeile 22 ein und aktivieren somit ein wöchentliches Update von Pi-Hole.
Ein manuelles Update ist mit pihole -up möglich.

Danach starten wir den Crond neu.

Punkt 5: Listen hinzufügen

Wir kopieren die folgende Datei:

In /etc/pihole/adlists.list können nun weitere Listen aktiviert oder eingefügt werden.
Danach lesen wir die Listen ein mit folgendem Befehl:

Punkt 6: Munin Plugin (optional)

Eine kleine Eigenkreation um auch über einen längeren Zeitraum grafisch alles festzuhalten. (nicht schön aber funktionell)

Pi-Hole Stats:

Pi-Hole Domains Being Blocked:

Weitere nützliche Anleitungen:

 

Dominion

Dominion

Linux Systemadministrator

4 Antworten

  1. Stefan sagt:

    Dickes Dankeschön für das Munin-Plugin! Das Admin-Tool von Pihole ist sehr gut, aber jetzt passt alles perfekt in mein Munin-System für das gesamte LAN

  2. steubi sagt:

    Geht das auch wenn Librelec installeirt ist?

  3. Artur sagt:

    Danke für deinen Artikel, es ist alles sehr verständlich beschrieben 🙂
    Gruß Artur

Schreibe einen Kommentar

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

Translate »