Zuletzt aktualisiert am 1. November 2024
Man darf sich der Illusion nicht hingeben, mit einer VPN-Verbindung wäre anonymes Surfen möglich. Mittels VPN lassen sich Geo-IP-Sperren umgehen und Werbe- und Trackingtools blockieren.
Wer auf das Umgehen von Geo-IP-Sperren verzichten kann, jedoch lieber Werbe- und Tracking Tools blockiert haben will, sollte hier weiterlesen.
Inhaltsverzeichnis
Was brauchen wir?
Ich beabsichtige hier nicht weiter darauf einzugehen, was VPN (Virtual Private Network) eigentlich ist. Dazu gibt es genug Erklärungen im Netz. Eine einfache Erklärung zu diesem Thema gibt es bspw. bei Netzwelt.
Da ich selbst keine Fritz!Box habe, weil die Telekom mir bei einem neuen Router nie eine Fritz!Box schickt, auch wenn ich die haben will, nehme ich als Basis den schlechteren Speedport 4. Für den hier verwendeten Zweck reicht der völlig aus. Wer eine Fritz!Box hat, ist hier nicht aufgeschmissen. Es sind lediglich ein paar Einstellungen vorzunehmen, die sich im Netz leicht finden lassen.
Hardware
- Speedport 4
- Raspberry Pi
Software
Zugriff auf die Weboberfläche des Routers sollte schon vorhanden sein, ohne die geht es nicht. Noch etwas zur App WG-Tunnel für das Smartphone. Ob es eine gleichwertige App für IOS gibt, kann ich nicht sagen. WG-Tunnel ist auch nicht in Googles Playstore verfügbar. Den Store nutze ich ohnehin nicht für meine Apps, sondern den Open-Source-Store F-Droid. F-Droid ist ein alternativer App-Store, in dem man zum größten Teil freie und kostenlose Software bekommt. Die dortigen Apps werden von den Betreibern des Stores auf unerwünschte Merkmale geprüft und kommen erst dann in den Store, wenn auch wirklich sicher ist, dass die Apps keinen Schaden verursachen. Dazu liegen die Apps im Quelltext vor. Sollten andere unerwünschte Merkmale vorhanden sein, so wird man darauf hingewiesen.
Installation & Konfiguration von Pi-Hole
Zunächst, was ist überhaupt Pi-Hole? Pi-Hole ist eine Netzwerkweite Lösung, um für das heimische Netzwerk Werbung und Trackingtools von auf Geräten installierter Software zu blockieren. Heißt also, alles, was an Werbung und Trackern auf bspw. Smartphones in irgendwelchen Apps versteckt ist, wird weitestgehend blockiert.
Ich gehe davon aus, dass man bereits Raspberry OS oder auch Debian 12 auf dem Pi installiert hat. Daher werde ich das hier nicht beschreiben.
Zunächst verbinden wir uns via SSH zum Pi.
Wer nicht so wie ich Linux auf dem PC / Laptop hat, kann für Windows auch Putty verwenden. Einfach mal die favorisierte Suchmaschine befragen.
Auch wer sich jetzt wundert, dass beim Login eine andere Meldung kommt, die Willkommensnachricht kann man ändern. Dazu aber ein anderes Mal mehr.
Pi-hole lässt sich auf mehrere Arten installieren. Entweder wir nutzen das Installationsscript, oder wir basteln uns Pi hole aus den Quellen selbst. Wir nehmen aber das Script. Geht schneller.
curl -sSL https://install.pi-hole.net | bash
Danach noch ein paar Fragen beantworten:
Static IP Address
Yes: Set static IP using current values
Upstream DNS Provider
OpenDNS (ECS, DNSSEC)
Blocklists
Yes (include StevenBlack's)
Admin Web Interface
Yes
Web Server
Yes
Enable Logging
Yes
Privacy mode FTL
Show everything (private Installation)
Essenziell: Nach der Installation wird sowohl die IP-Adresse als auch das Passwort des Admin-Interfaces angezeigt. Aufschreiben und nicht vergessen, wo der Zettel hin ist 😀
Damit wäre Pi-Hole auch schon installiert und vor allem: aktiv.
Daher können wir jetzt schon mal das Admin-Interface des Speedport in einem Browser aufrufen: https://speedport.ip oder https://192.168.2.1/
Anschließend gehen wir auf Internet. Bei Primärer DNS-Server wird die IP-Adresse von Pi-Hole eingetragen. Ebenso die IPv6 Adresse.
Ich habe hier noch einen alternativen DNS eingetragen, für den Fall, dass der Pi mal ausfällt. Als Anbieter habe ich hier dnsforge.de gewählt.
Wenn wir gerade im Speedport hantieren, können wir auch gleich die VPN-Verbindung einrichten. Das geht recht einfach.
Unter Netzwerk Virtuelles Netz (VPN) auswählen, VPN-Zugang anlegen, einen Namen vergeben und mit der App WG-Tunnel den QR-Code scannen. Das war es schon. Zumindest für die VPN-Verbindung. Diese ist nun konfiguriert und aktiv.
Pi-Hole Konfiguration
Wenn wir uns das erste mal auf der Weboberfläche von Pi-Hole anmelden, ist diese in Englisch. Wen das nicht stört, kann es so lassen, wer es mit dem Englischen nicht mehr so hat, kann sich das ganze auch in Deutsch holen.
Dazu öffnen wir wieder die Konsole oder eben Putty, verbinden uns, sofern die Verbindung geschlossen ist, wieder per ssh mit dem Pi.
Danach geben wir den Befehl:
sudo curl -sSL https://raw.githubusercontent.com/pimanDE/translate2german/master/translate2german.sh | bash
ein. Dieser Befehl lädt ein Script runter, was das Webinterface von Pi-Hole ins Deutsche übersetzt.
Nachdem wir uns nun das Interface auf Deutsch umgestellt haben, geht es weiter.
Wenn wir uns in Pi-Hole eingeloggt haben, werden wir zunächst mit der Übersicht begrüßt.
Jedoch müssen wir hier und da noch ein paar Schrauben feinjustieren 😀
Wir gehen auf Einstellungen, wählen rechts oben den Reiter DNS aus. Bei den roten Punkten die Häkchen entfernen, sofern da welche sind. Weiter rechts dann die IPv4 und IPv6 Adressen des Speedport eintragen.
Die findet man im Webinterface des Speedport unter Netzwerk -> Netzwerk-Adressen.
Ganz unten auf der gleichen Seite findet Ihr noch den Punkt Verwende Bedingte Weiterleitung. Da dann die Werte für euer Netzwerk eintragen. Sollte man im Speedport keine anderen IP-Adressen für das Netzwerk festgelegt haben, können die Werte so übernommen werden.
Optionale Konfiguration
Pi-Hole bringt bereits eine Filterliste mit. Was nicht heißt, dass man da nicht noch welche einfügen kann.
Doch sollte man bedenken, je mehr Filterlisten man hinterlegt, umso mehr Seiten werden auch blockiert oder funktionieren nicht mehr richtig.
Für meine Zwecke verwende ich folgende Filterlisten:
- StevenBlack/hosts with the fakenews and gambling extensions
- StevenBlack/hosts (ist schon in Pi-Hole integriert)
- HaGeZi’s Amazon Tracker DNS Blocklist
- HaGeZi’s Pro++ DNS Blocklist
Diese Filterlisten kann man über den Menüpunkt Blocklisten hinzufügen
Sollte es dazu kommen, dass durch die Aktivierung von Filterlisten Webseiten nicht mehr funktionieren, muss man im Einzelfall prüfen, welche zusätzlichen Domains freigegeben werden müssen.
Dazu geht ihr im Webinterface auf Anfragen Protokoll und setzt dort blockierte Domains auf Whitelist. Genauso könnt Ihr da auch Domains von Hand blockieren, indem man diese dann auf die Blocklist setzt.
Filterlisten aktuell halten
Filterlisten müssen manuell aktualisiert werden. Macht Pi-Hole leider nicht automatisch. Doch das heißt nicht, dass man es nicht automatisieren kann.
Dazu nutzen wir eine Konfigurationsdatei, mit der wir dem Betriebssystem des Raspberry Pi sagen, dass er das zu machen hat. Die Rede ist hier von einem sog. Cronjob.
Davon ausgehend, dass die SSH-Verbindung zum Pi-Hole immer noch aktiv ist, nutzen wir eine solche Konfigurationsdatei:
sudo nano /etc/cron.d/pihole
Wie man anhand des Bildes sehen kann, habe ich meinen Cronjob für Pi Hole bereits angepasst. Unter der letzten Zeile fügen wir Folgendes ein:
# Pi-hole update ad sources
30 21 * * 0 root PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updateGravity >/var/log/pihole/pihole_updateGravity.log || cat /var/log/pihole/pihole_updateGravity.log
speichern das Ganze dann noch mit STRG + O ab und verlassen den Editor dann mit STRG + X.
Dieser Eintrag bewirkt, dass nun jeden Sonntagabend um 21:30 Uhr die Filterlisten aktualisiert werden.
Abschluss
Zum Schluss möchte ich noch anmerken, dass es noch viel mehr Möglichkeiten gibt, diesen Werbe- und Tracking-Blocker effizienter zu machen. Man könnte bspw. noch die Häufigkeit der Schreibzugriffe auf die SD-Karte minimieren, oder auch am Stromverbrauch schrauben.
Das mit den Schreibzugriffen will ich hier noch einfügen, dann soll es aber reichen. Denn je häufiger auf die SD-Karte zugegriffen wird, umso eher wird diese den Geist aufgeben. Auch SD-Karten nutzen sich ab. Schneller sogar als herkömmliche HDD-Festplatten, wie man sie aus einem älteren PC kennt.
Schreibzugriff auf die SD-Karte minimieren
In der Regel schreibt Pi-Hole jede Minute eine LOG-Datei in eine SQL-Datenbank.
Wir nehmen wieder den durch das Betriebssystem mitgelieferte Editor nano zu Hilfe und öffnen in diesem die pihole-FTL.conf
sudo nano /etc/pihole/pihole-FTL.conf
#; How often do we store queries in FTL's database [minutes] | Default: 1.0
DBINTERVAL=30
#; IP addresses older than the specified number of days are removed from database | Default: 365
MAXDBDAYS=30
Was bewirkt dieser Eintrag?
Zunächst setzen wir den Schreibzugriff von einer Minute auf 30 Minuten hoch.
Zusätzlich setzen wir das Sammeln der Langzeitdaten von 365 Tage auf 30 runter.
So, das soll es nun gewesen sein. Werbung und Tracker sollten jetzt weitestgehend in Abhängigkeit mit den verwendeten Filterlisten blockiert werden.
Viel Spaß damit.