Wer kennt das nicht, bei Google auf einen Link geklicked und schon bei einem Verkäufer gelandet, eine Website aufgerufen und gefühlt Minuten gewartet bis endlich alle Werbebanner geladen sind. Das muss nicht so sein, Werbung muss man nicht ertragen.
Die Möglichkeiten sind vielfältig und beginnen mit der Installation von Ad-Blockern im Browser, mit Black Lists im Router. Dabei kann man es sich auf einfach machen…. Die Werbung muss ja irgendwo herkommen, dies geschieht nicht wie früher, wo ich in einer Zeitung ein Inserat aufgegeben habe und diese es dann veröffentlichte. Damals war die Werbung Bestandteil der Zeitung und Webseiten sehen so aus, als wäre die Werbung ebenfalls ihr Bestandteil. Glücklicherweise ist dem aber nicht so, denn die Werbung wird aus externen Quellen, sogenannten Werbenetzwerken, erst dann heruntergeladen wenn ihr Euch die Webseite anzeigt. Dadurch wird erst eine „personalisierte“ Werbung ermöglicht. Und damit sich der Betreiber einer Webseite nicht um den Traffic kümmern muss, den die Werbung erzeugt, überredet man den Browser diesen Part zu übernehmen.
Und genau hier ist der Ansatzpunkt um ca. 80% aller Werbung zu verbannen. Die Idee ist, alle Werbung, die nicht Bestandteil der Webseite selbst ist, gar nicht erst zu laden. Nicht nur die Ladezeiten der Webseiten wird verringert, im Zusammenspiel mit PiVPN wird auch das mobile Datenvolumen für Inhalte, anstatt für Werbung benutzt.Darüberhinaus handelt es sich um eine zentrale Lösung, die nicht erfordert auf jedem einzelnen Gerät einen Werbeblocker einzusetzen.
curl -sSL https://install.pi-hole.net | bash
Wie bei PiVPN reicht dieser eine Befehl um Pi-Hole zu installieren. Im folgenden Konfigurationsdialog, der sich an die automatische Installation der notwendigen Pakete anschließt, wird man nach einigen Einstellungen gefragt, u.a. welcher DNS (Domain Name Service) genutzt werden soll. Hier hat man die Wahl entweder dein heimischen Router (sofern er DNS als Service anbietet, wie die Fritz Box), den DNS des Internet Providers oder, um Tracking zu verhindern, einen der freien, nicht protokoliierenden DNS Server einträgt. Ich habe mich dazu entschieden hier meine Fritz Box einzutragen. Für die Einstellungen, die man überlegt machen sollte, gebe ich hier meine Auswahl zum Besten:
Im Laufe der Installation wird die URL des Web Interfaces angezeigt und auch das Passwort des Users admin, das ihr sicher verwahren solltet.
Zu diesem Zeitpunkt ist Pi-Hole komplett funktionsfähig und einsatzbereit. Die entsprechenden Dienste werden bei Starten der Raspberry Pi mitgestartet, die tägliche automatische Aktualisierung der Block Listen ist aktiviert. Es sind jetzt nur noch alle Clients dazu zu überreden den Raspberry Pi als DNS zu benutzen. Die einfachste Möglichkeit dies zu gewährleisten ist, auf dem heimischen Router die DHCP Einstellungen so anzupassen, das es den Raspberry Pi als DNS propagiert. Bei der Fritz Box findet man den Punkt unter
Heimnetz -> Netzwerk -> Reiter: Netzwerkeinstellungen -> IPv4 Adressen -> Feld: Lokaler DNS Server
Wenn Euch das nicht gelingt, oder ihr den Werbeblocker nur für einzelne Geräte nutzen wollt, müsst Ihr die DNS Einstellungen auf jedem einzelnen Gerät anpassen.
Es ist für das Blocken der Werbung nichts weiter zu konfigurieren, solltet Ihr aber etwas ändern wollen kann dies entweder durch ändern der Datei /etc/pihole/setupVars.conf oder durch eine Neuinstallation geschehen. Wird die Datei /etc/pihole/setupVars.conf manuell geändert, müssen die entsprechenden Dienste neu gestartet werden.
sudo service dnsmasq restart sudo service pihole-FTL restart
Ihr wollt mehr, z.B. weil er heimische Router keinen DNS Service bietet oder ihr eigenen Adressen umleiten wollt? Natürlich ist dies kein Problem, denn Pi-Hole benutzt für seinen Funktionen den Dienst dnsmasq, einen kleinen, einfachen DNS Server. Die Konfiguration des DNS Servers findet man unter /etc/dnsmasq.d/01-pihole.conf . In dieser Datei stehen alle Informationen, die Pi-Hole benötigt. dsnmasq liest alle Dateien in diesem Verzeichnis, die auf .conf enden. Ich beschreibe nun mal, wie einfach man
Als erstes legen wir eine eigene Konfigurationsdatei /etc/dnsmasq.d/02-lan.conf an, deren Inhalt wie folgt aussieht:
addn-hosts=/etc/pihole/lan.list
Damit teilen wir dnsmasq freundlich mit, das eine Datei /etc/pihole/lan.list ebenfalls zu berücksichtigen ist. Der Inhalt dieser Datei, die wir ebenfalls anlegen müssen, entspricht im Aufbau exakt einer /etc/hosts Datei. Hier ein Beispiel:
192.168.178.30 raspberrypi raspberrypi.fritz.box # PI fuer PiHole 192.168.178.40 pi3 pi3.fritz.box onkelhartwig.myfirewall.org onkelhartwig.myfirewall.org # PI fuer owncloud und OpenVPN Client
Wie man sieht, habe ich hier zwei Raspberry Pi eingetragen, für die dnsmasq die Namen in IP Adressen (und umgekehrt) übersetzt. Wenn ich im Internet bin wird „onkelhartwig.myfirewall.org“ zu meiner externen IP aufgelöst, während zu Hause die interne IP (192.168.178.40) benutzt wird.
Apropos: in einer /etc/hosts Datei wird alles, was hinter dem Zeichen „#“ steht als Kommentar interpretiert.