FreeNAS: Pi-Hole & PiVPN in Ubuntu-VM

Wer FreeNAS 11 als NAS- bzw. Homeserver-Software verwendet, kann pi-hole sowie pi-vpn verwenden und sowohl auf das eigene Netzwerk zugreifen als auch Werbung zuverlässig blockieren.

PiVPN (http://www.pivpn.io/) ist ein Installations- und Verwaltungsscript für OpenVPN. Eigentlich gedacht für die Verwendung auf einem Raspberry Pi, funktioniert die Installation auch ohne Probleme auf einem Ubuntu 17.04, welches in einer bhyve-VM läuft. Der Ablauf ist der selbe wie beim „Bastelrechner“:

curl -L https://install.pivpn.io | bash

Das Installationsscript beschwert sich zwar, dass die verwendete Linux-Version gegebenenfalls nicht kompatibel ist und verweigert das automatische konfigurieren von einigen Dingen, am Ende läuft aber alles soweit problemlos durch. Wichtig: damit das deutleiten der VPN-Verbindung klappt, muss unter Ubuntu die Firewall „ufw“ (uncomplicated firewall – ein Commandozeilen-Tool für das einfache Einstellen von iptables-Regeln) installiert sein und der entsprechende Port freigegeben sein.

OpenVPN: UDP oder TCP?

OpenVPN-Verbindung iPhone7
OpenVPN-Verbindung iPhone7
Während der Installation fragt PiVPN, ob UDP oder TCP als Protokoll verwendet werden soll. TCP ist aufgrund der Fehlerkorrektur etwas langsamer, bietet aber einen entscheidenden Vorteil: konfiguriert auf Port 443 (normalerweise für HTTPS vorgesehen) funktioniert es in den meisten Umgebungen, wogegen UDP in vielen Netzwerken gesperrt ist. Ich habe mich daher für TCP entschieden.

Ist PiVPN soweit komplett eingerichtet, dass der Raspberry Pi als VPN-Server funktioniert (Verbindung in das heimische Netzwerk sowie das Internet), kann man sich an die Installation und Konfiguration von Pi-Hole machen.

Pi-Hole: das schwarze Loch für Werbung

Pi-Hole (https://pi-hole.net/) blockt den Zugriff auf Hosts, die in Zusammenhang mit Werbung bzw. Tracking stehen, auf DNS-Basis. Entsprechende Requests verlassen also das Netzwerk gar nicht erst, sondern werden vom DNS-Server geblockt.

Das Setup ist auch hier einfach, mittels

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

wird die Installation gestartet, danach ist unter http://IP-Adresse-des-Servers/admin die Pi-Hole-Administrationsoberfläche verfügbar, benötigt wird auch das Passwort aus der Installation.

Um Pi-Hole zu nutzen muss bei den Clients, auf denen Werbung geblockt werden soll, der Pi-Hole-Server als DNS eingetragen werden. Sobald das geschehen ist, werden alle Anfragen an Tracking- bzw. Werbeserver verhindert, auch in Anwendungen abseits des Browsers. So wird zum Beispiel keine Werbung mehr in Skype dargestellt.

Pi-Hole arbeitet zwar anders als klassische Werbeblocker wie uBlock, kann aber die selben Filterlisten verwenden. Leider ist das Format der Listen unterschiedlich, sodass eine Umwandlung stattfinden muss: unter https://wally3k.github.io/ findet man verschiedene AdBlocker-Filterlisten, die bereits in ein für Pi-Hole kompatibles Format umgewandelt wurden.

Langzeit-Erfahrungen: gut 7 – 10 Prozent aller Requests geblockt

Pi-Hole Admin-Panel
Pi-Hole Admin-Panel

Verwendet man das Setup mit Pi-Hole eine Zeitlang für normales Surfen mit mehreren Geräten (in meinem Fall läuft ein PC, ein Macbook sowie ein iPhone über den Pi-Hole-Server), bekommt man in den Statistiken eine Ahnung davon, wie viele Anfragen nur für Werbung und Tracking verwendet werden: nach gut einer Woche hat sich die Quote bei gut 7 – 10 Prozent einpendelt.

Nebenwirkungen sind bisher keine Aufgetreten: wir einmal ein Request geblockt, der doch sinnvoll war, kann man die entsprechende Domain über das Pi-Hole-Interface auf eine Whitelist setzen. Der Unterbau mit einem FreeNAS-Server (in meinem Fall ein HP Microserver Gen8 mit 16 GiB RAM sowie einem Core i5-Prozessor) liefert auch genug Leistung, um sowohl eine OpenVPN-Verbindung als auch das Filtern mit 117.000 Domains in der Blockliste zu ermöglichen.

Kombiniert man Pi-Hole mit einem klassischen Adblocker (in meinem Fall uBlock), verschwinden auch die weißen Flächen von Webseiten: Pi-Hole verhindert die Anfrage, uBlock entfernt die Platzhalter.

Zu bedenken: Webseiten sind Werbefinanziert

Bedenken sollte man allerdings, dass viele Angebote Werbefinanziert sind und nur so ohne Paywall auskommen können. Zwar nervt Werbung häufig, aber konsequentes Blocken führt nicht sofort zu weniger Werbung.

Update 16.03.2019: keine Verbesserung

Seit dem ursprünglichen Setup hat sich nicht wirklich etwas verbessert, gerade mit deaktiviertem Adblocker im Browser ist die Zahl der blockierten DNS-Anfragen erschreckend hoch: mehr als 20% der DNS-Anfragen entfallen auf Hosts, die von den Werbesperr-Listen erfasst sind.

Pihole-Statistiken ohne Adblocker
Pihole-Statistiken ohne Adblocker

Vorteil von Pihole ist nach wie vor, dass man kein Plugin im Browser braucht und man auch auf iPad und Smartphone (und in Apps, denn zumindest für Safari gibt es iOS-Adblocker seit iOS 9). Noch besser wäre natürlich, wenn diese Maßnahmen gar nicht erst nötig wären – ich persönlich habe nichts dagegen, wenn ich möglichst passende Werbung bekomme, aber diese selbst sollte schnell geladen sein und nicht einen gefühlten Großteil der jeweiligen Seite ausmachen.

Ein Kommentar

Schreibe einen Kommentar

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