Pi-Hole ist ein DNS Server der einen eingebauten Werbeblocker besitzt. Der Vorteil dieser Lösung im Vergleich zu einem Werbeblocker Plugin im Browser ist, das Pi-Hole als DNS Server für jedes Gerät im Netzwerk verwendet werden kann, also auch für Handys, Konsolen, Fernseher etc. – für das gesamte Heimnetz eben.
Kurzer Ausflug: Wie funktioniert ein DNS Server?
Immer wenn wir eine Webseite ansurfen, brauchen wir einen DNS Server. Wollen wir z.b. google.de im Browser aufrufen, wird der Browser bevor er los surfen kann erst einen DNS Server nach der IP Adresse hinter „google.de“ fragen. Der DNS Server agiert als „Telefonbuch“ und nennt dem Browser die entsprechende IP Adresse, welche nun aufgerufen wird.
Was hat das mit Werbeblockern zu tun?
Pi-Hole hat eine White- und eine Blacklist. Die Listen werden automatisch gepflegt, können jedoch auch angepasst werden. Versucht der Browser eine Domain eines bekannten Werbenetzwerks aufzurufen, erkennt Pi-Hole das anhand der Einträge in der Blacklist und liefert nicht die richtige IP zurück sondern die eigene. Ergebnis: Die Werbung wird nicht geladen, stattdessen wird ein Hinweismeldung eingeblendet.
Installation
Pi-Hole lässt sich recht einfach installieren:
curl -sSL https://install.pi-hole.net | bash
Die Installation ist selbsterklärend und nach wenigen Schritten erledigt. Wichtig: Am Schluss der Installation wird das Passwort für den Adminbereich angezeigt, dieses notieren wir uns.
Ist die Installation abgeschlossen, sollte Pi Hole bereits einsatzbereit sein. Um den neuen DNS Server zu nutzen, muss er bei den Clients eingetragen werden. Das kann man entweder per Hand oder über einen DHCP Server machen.
Probleme
Ich hatte noch zwei Herausforderungen zu lösen:
- Setze ich bereits einen DNS Server ein, der auf dem Raspberry Pi läuft. Diesen Server wollte ich nicht abschalten, daher habe ich Pi-Hole als weiteren DNS installiert. Nach der Installation muss der Port von DNSMSQ (diesen Dienst nutzt der Pi-Hole als DNS Server) geändert werden. Dies ist in der Datei /etc/dnsmaq.conf möglich. Danach den Dienst neustarten.
- Da ich bereits einen DNS Server nutze, habe ich Pi-Hole dort als Forwarded DNS eingetragen.
- Pi Hole installiert als Webserver lighttpd welcher auf Port 80 gebunden wird. Dieser Port war bereits bei mir vergeben. Um den Port zu ändern einfach folgende Datei bearbeiten: /etc/lighttpd/conf-available.
Hallo, ich bin auf der Suche nach meinen Problem mit BIND9 und dem Pi-Hole auf deine Seite gestossen. Wenn ich das richtig verstanden habe, hast du Bind und Pi-Hole auf ein und dem selben Raspi am laufen. Hab es zwar hinbekommen, das beides bei mir parallel läuft. Aber jetzt wird in der Pi-Hole Admin Console nur der Localhost angezeigt der fast alle Queries erzeugt. Ich möchte jedoch sehen, welche Clients die Abfragen stellen. Kannst du mir sagen, wie du das bei dir genau mit der Konfiguration gelöst hast? Das wäre echt Nett. 😉