Lokaler Filter DNS mit PiHole
Vorab – was ist PiHole und wofür braucht man es?
PiHole ist ein System, das es möglich macht, unter anderem einen lokalen DNS zur Werbe- und Tracking-Filterung bereitzustellen.
Werbe URLs und Hostnamen werden beim DNS Lookup der Geräte durch lokale oder „non-existing“ Ergebnisse ersetzt.
Das führt dazu, dass der vorgesehene Inhalt der aufgerufenen Werbeseiten, Tracker usw. nicht an deine Geräte ausgeliefert werden.
In Anbetracht dessen wie viel heutzutage auf Webseiten geworben wird und wie exzessiv Hersteller von Software und Geräten versuchen dich auszuspionieren ist dies ein sehr nützliches Tool!
PiHole kann ebenso als DHCP Server verwendet werden, um z. B. unübersichtliche Router Interfaces zu umgehen oder eben DHCP + DNS auf einem Gerät zu vereinen.
Bei PiHole handelt es sich um ein OpenSource Projekt, es wird von einer großen Community gewartet und weiter entwickelt und ist kostenlos.
Features die PiHole bietet
- Leicht zu installieren
- blockt Werbung zuverlässig
- blockt auch non-Browser Werbung (Bsp. Smartphone App Werbung)
- blockt auch non-Browser Tracking (Bsp. Windows „nachhause telefonieren“)
- funktioniert für alle Geräte im Netzwerk
- Browsing Beschleunigung durch lokalen DNS Cache
- Braucht nicht viele Hardware Ressourcen
- Übersichtliches Webinterface für die Konfiguration
- IPv4/IPv6 Betrieb möglich (parallel)
- Open Source, kostenlos
Was brauche ich um PiHole zu verwenden?
Hauptsächlich hängt das von der vorgesehenen Verwendung ab.
Typischerweise verwendet man PiHole im eigenen privaten Heimnetzwerk.
Um das eigene Heimnetz mit PiHole zu versorgen, reicht in der Regel eine der folgenden Geräte/Umgebungen:
- Raspberry Pi mit >500 MB RAM (Beispiel)
- eine bestehende Linux Umgebung (Ubuntu/Debian/Fedora/CentOS)
- Docker
Installation
Einfacher könnte diese fast nicht sein!
Logge dich als root oder anderer privilegierter Benutzer ein und führe dieses Kommando aus:
curl -sSL https://install.pi-hole.net | bash
Dies startet den Installer, welcher die benötigten Abhängigkeiten und PiHole selbst installiert.
ACHTUNG: Verwendest du ein bestehendes System mit Webserver, beachte bitte, dass PiHole für sein Webinterface /var/www/html verwendet – tut das der bestehende Webserver auch, könnte PiHole ungewollt auch über diesen erreichbar werden.
Willst du PiHole in Docker verwenden:
docker pull pihole/pihole
Dies lädt das vorkonfigurierte Image.
Dort ist es aber empfehlenswert, die Docker Konfiguration anzupassen – Beschreibung dazu.
Das PiHole Webinterface und was es enthält
Hier nun eine kleine Übersicht des Webinterface.
Details zu meinen Blacklisten:
Github Page: https://github.com/DerHary/PiHole_Blocklist
Direkte Listen URLs:
- https://raw.githubusercontent.com/DerHary/PiHole_Blocklist/main/Harys_BlackList.txt
- https://raw.githubusercontent.com/DerHary/PiHole_Blocklist/main/Harys_general_combined_List.txt
Die Listen sind duplikatbereinigt und alphabetisch sortiert.
Verschiedene Optionen
Nach dem Gruppen-Management gibt es auch die Möglichkeit, mit „Disable“ das Blocking von PiHole temporär zu deaktivieren.
Allerdings ist hier zu beachten, dass die Deaktivierung nicht bedeutet, dass man eine Seite sofort erreichen kann – denn – auch Geräte haben einen DNS Cache, der sich nicht sofort aktualisiert.
Soll heißen, deaktivierst du PiHole kann es dennoch dauern bis du die Seite/den Dienst, den du erreichen willst, nicht sofort erreichen wirst.
Du kannst es aber auf z. B. Windows beschleunigen in dem du in der Commandline „ipconfig /flushdns“ ausführst, was den DNS Cache von Windows leert.
Unter Tools finden sich diverse Hilfen, um z. B. eine generelle PiHole Diagnose zu machen, die Blacklisten upzudaten (herunterladen und anwenden), oder die Logs zu prüfen.
Das war es auch schon mit dem Interface.
Ich habe nicht alle Seiten des Interface gezeigt, aber versucht einen generellen Überblick zu verschaffen.
Meine PiHole Umgebung
Wie oben genannt, sind die Voraussetzungen für eine PiHole Maschine nicht besonders groß.
Selbst die Installation ist sehr einfach, vorausgesetzt man hat ein Linux Grundsystem bereits installiert oder einen Raspberry.
Ich selbst habe bei mir einen Windows-Server 2019 mit Hyper-V auf einer potenten Hardware im Einsatz.
Von daher hat hier PiHole eine eigene VM, mit Debian als solide „Unterlage“, die auf dem Hyper-V Server als Gen2 VM läuft.
Neben dem PiHole habe ich ebenfalls einen Apache Webserver installiert und hoste das PiHole Webinterface damit.
Das ermöglicht mir für meine externe Erreichbarkeit auch die Erstellung von Zertifikaten über Certbot und die verschlüsselte Kommunikation auch intern zum PiHole.
Der von mir oben erwähnte Custom DNS-Server ist konfiguriert seine DoH Anfragen an die DNS von NextDNS weiterzuleiten.
Soweit hier erstmal die Informationen von mir.
Wenn ich am Pihole etwas Neues/anders konfiguriere, werde ich ggf. einen Artikel erstellen und hier verlinken, um die Infos zu teilen.
One Comment