Sicher und werbefrei surfen mit dem Raspberry Pi
Was ist der Unterschied von Pihole zu einem Adblocker?
Warum einen Raspberry Pi mit etwas ausstatten, das ein Adblocker im Browser auf den ersten Blick auch kann? Weil Adblocker-Plugins etwas anders funktionieren und aufgerufene Websites erst blocken, sobald sie euren PC, Mac oder das Smartphone erreicht haben. Pihole hat einen anderen Ansatz, denn es blockt Tracker, virenverseuchte Websites und Werbung auf DNS-Ebene.
Das heißt, dass das Pihole quasi alles rausfiltert, bevor es an die Geräte im Netzwerk ausgeliefert wird. Wie ein Sieb, das zwischen eurem Router und allen Geräten im Netzwerk arbeitet. Und es bringt den Vorteil mit, dass diese Geräte auch in den nativen Apps werbefrei sind – und nicht nur mit Plugins oder speziellen Apps. Ich blicke in deine Richtung, iPhone.
Weniger Tracking, mehr Speed
Weniger Tracker bedeuten auch gleichzeitig mehr Privatsphäre, denn die eingebauten Filter sorgen dafür, dass deutlich weniger Informationen über euer Surfverhalten gesammelt werden können. Pihole ist zwar kein Tails oder Tor, das euren Traffic über fünf Millionen Proxies und dann nochmal zur Venus schickt, blockt aber sehr viele Anbieter und gefährliche Seiten.
Weniger Werbung und weniger Gefunke von Trackern und Analytics-Anbietern bedeutet zudem weniger Traffic und schnellere Ladezeiten von Websites und Apps. Na, überzeugt? Das alles braucht ihr für die Einrichtung.
Diese Hardware brauchst du für den Raspberry Pi mit Pihole
- Einen Raspberry Pi – im Grunde tut es jeder Raspberry, auch der Raspberry Pi 1 oder Zero. Wir empfehlen euch jedoch einen Raspberry Pi 3 und aufwärts, um die Weboberfläche vom Pihole flott nutzen zu können.
- Ein Netzteil – oder einen USB-Anschluss mit 2A-Output oder mehr.
- Eine Micro-SD-Karte und einen SD-Adapter, der Karten meistens beiliegt.
- Optional: Ein Gehäuse für den Raspberry Pi.
- Optional: Einen Hoodie, da ihr ein paar einfache Shell-Befehle kopieren werdet und dabei aussehen müsst, wie ein Hacker.
Software für Pihole
- Balenaetcher – oder Rufus oder Unetbootin.
- Raspberry Pi OS Lite – das offizielle Betriebssystem für den Raspberry Pi.
Vorbereitung der SD-Karte
- Ladet euch im ersten Schritt Balenaetcher (oder eine der oben erwähnten Alternativen) herunter und installiert das Tool. Balenaetcher braucht ihr, um das Betriebssystem für den Raspberry Pi auf der SD-Karte zu „installieren“. Das Image öffnen und die Dateien kopieren funktioniert übrigens nicht, da eine Partitionstabelle auf die Micro-SD-Karte geschrieben werden muss.
- Raspberry Pi OS findet ihr hier, wobei ihr für das Pihole nur die „Lite“-Version braucht. Bei der Veröffentlichung dieses Artikels ist das Raspberry Pi OS (32-bit) Lite (basierend auf Debian Buster). Ihr könnt aber auch die 64-Bit-Variante installieren oder die Version mit einer Desktopumgebung, falls ihr den Raspberry Pi mit Pihole noch für andere Dinge verwenden wollt.
- Startet Balenaetcher, wählt die heruntergeladene und entpackte Datei und dann die Micro-SD-Karte aus, die nun mit oder ohne Adapter in eurem PC stecken sollte. Checkt bitte vorher, dass ihr die richtige Micro-SD-Karte und nicht eine externe Festplatte oder den USB-Stick auswählt (den mit dem geheimen Ordner, den Mutti niemals sehen sollte).
- Balenaetcher schreibt das Raspberry Pi OS auf die SD-Karte, und somit wäre das gute Stück dann auch schon bereit für den Einsatz. Steckt die Karte in euren Raspberry und stöpselt ihn mit einem HDMI- und am besten einem Netzwerkkabel verbunden an die Strombuchse. Ihr braucht zudem eine Tastatur mit Bluetooth-Adapter oder ganz oldschool eine mit Kabel.
Voreinstellungen des Raspberry Pi OS
Nachdem der Raspberry Pi gebootet hat (was ein wenig nach „Matrix“ aussieht), loggt ihr euch mit folgenden Logindaten und Passwort ein:
pi
raspberry
(beziehungsweise „raspberrz“, da die Tastatur noch auf Englisch eingestellt ist)
Ich bin zwar kein Hellseher, nehme aber an, dass ihr mit hoher Wahrscheinlichkeit eine deutsche Tastatur nutzt. Damit das auch der Raspberry weiß, gebt ihr im Terminal ein:
sudo raspi-config
In dem Konfigurationstool hüpft ihr zu Punkt 4 (Localisation Options) und stellt im nächsten Schritt die Locale unter I1 auf Deutsch (DE), die Timezone (I2) auf Berlin, das Keyboard Layout (I3) auf Deutsch (DE) und WLAN Country (I4) ebenfalls auf DE. Die Punkte wählt ihr mit der Space-Taste an oder ab und wechselt mit Tab auf „Select“ beziehungsweise „Back“. Nach etwas Gerödel verlasst ihr das Menü über „Finish“ und startet den Raspberry am besten neu, mit:
sudo reboot
Nach dem Neustart ändert ihr zunächst das Passwort, damit Mr. Robot nicht so einfach Zugriff auf euren Raspberry Pi hat. Loggt euch ein (diesmal mit hoffentlich deutschem Tastaturlayout) und gebt ein:
passwd
Gebt euer aktuelles Passwort ein (raspberry) und dann euer neues, das ihr am besten in einem Passwortmanager speichert. Um das Betriebssystem auf den neuesten Stand zu bringen, führen wir ein Update durch, mit:
sudo apt update && sudo apt -y upgrade && sudo apt-get -y dist-upgrade && sudo apt -y autoremove && sudo apt -y autoclean && sync && sudo reboot
Nach dem Neustart installiert ihr nun Pihole und macht euch erstmal zum root, da Pihole bestimmte Rechte für die Installation braucht:
sudo passwd root
Vergebt jetzt ein temporäres Passwort und loggt euch als root ein, mit:
su -
Die Installation von Pihole auf dem Raspberry Pi
Falls ihr nicht wisst, welche IP euer Pihole hat, findet ihr es so raus und notiert es am besten:
hostname -I
(das ist ein großes I, wie „Ihhh“, kein L)
Jetzt installiert ihr das Pihole über das Skript:
curl -sSL https://install.pi-hole.net | bash
Sollte das nicht funktionieren, weil curl fehlt, könnt ihr auch Folgendes tun:
wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh
Bei Problemen findet ihr weitere Infos zur Installation auf der GitHub-Seite von Pihole. Das Skript installiert und arbeitet ein bisschen vor sich hin und wird euch zwischendurch einige Fragen stellen, die ihr wie folgt beantworten könnt:
Select Upstream DNS Provider: Cloudflare oder Google oder einer eurer Wahl.
Select Lists: Wählt hier einfach alle Listen aus.
Select Protocols: IPv4 und/oder IPv6, falls ihr IPv6 nutzt.
Do you want to use your current network settings as a static address: Gebt hier die IP-Adresse des Raspberry Pi ein, die euer Router zugewiesen hat (beziehungsweise Enter), und wählt den Router als Gateway aus – meist 192.168.0.1, aber prüft es zur Sicherheit nochmal in den Einstellungen eures Routers.
Do you wish to install the web admin interface: Ja, denn hier nehmt ihr nachher Einstellungen vor und seht, was das Pihole alles filtert.
Do you wish to install the web server (lighttpd): Ja, denn ohne läuft auch die Weboberfläche nicht oder ihr müsst euch den Server anders zusammenfrickeln.
Do you want to log queries: Ja, sofern ihr die Zugriffe in Logdateien speichern wollt.
Select a privacy mode for FTL: Je nachdem, ob ihr ein öffentliches Netzwerk betreibt oder die Anfragen schlicht und einfach komplett anonymisieren wollt (hallo DSGVO), könnt ihr hier einstellen, was genau geloggt wird.
Nach der Installation zeigt euch das Skript die Adresse des Pihole als IPv4 und/oder IPv6 sowie das Passwort für die Weboberfläche an. Loggt euch wieder als root aus und auch ein Neustart kann nicht schaden:
exit
sudo passwd -dl root
sudo reboot
Pihole als DNS-Server des Routers eintragen
Im Grunde könnt ihr den Raspberry nun an seinen Zielort verfrachten. Er braucht nur noch Strom und ein Netzwerkkabel zu eurem Router. Das Pihole funktioniert im Grunde auch per WLAN, sofern es nicht der ganz alte Raspberry Pi 1 ist. Für eine stabile Verbindung, und um etwas Frickelei zu vermeiden solltet ihr aber ein Netzwerkkabel nutzen. Wer den Raspberry Pi übrigens nicht kennt: Das Teil hat leider keinen An- oder Aus-Schalter. Ihr macht ihn an, wenn ihr das USB-Kabel anstöpselt und fahrt ihn am besten herunter mit:
sudo shutdown now
Dann könnt ihr ihn vom Strom trennen und wieder anklemmen, wenn ihr ihn einschalten wollt. Im Idealfall wird er aber die ganze Zeit durchlaufen und Trackinganfragen, Werbung und anderen Firlefanz auf DNS-Ebene blocken. Damit das funktioniert, müsst ihr das in einem letzten Schritt eurem Router mitteilen.
Hier unterscheiden sich die Modelle bei ihrer Weboberfläche natürlich. Bei der Fritzbox findet ihr die Einstellung unter Internet > Zugangsdaten > DNS-Server.
Hier gebt ihr die IPv4- und/oder die IPv6-Adresse eures Pihole ein. Als Alternative empfiehlt sich noch ein zweiter DNS-Server, falls ihr den Raspberry mal wechseln, aber dennoch weiter Internet haben wollt. Hier bieten sich Cloudflare (1.1.1.1) oder Googles DNS-Server (8.8.8.8) an, aber ihr könnt natürlich nehmen, was ihr wollt.
Die Weboberfläche und weitere Einstellungen
Im Grunde sollte alles out-of-the-box funktionieren. Ihr könnt euch die Weboberfläche vom Pihole ansehen, indem ihr die IP-Adresse im Browser angebt und ein „/admin/“ anhängt, zum Beispiel:
http://192.168.0.10/admin/
Loggt euch mit dem Passwort aus der Installation ein und ihr könnt euch auf dem Dashboard ansehen, wie viele Anfragen vom Pihole geblockt worden sind, welche Domains und Tracker das waren und so weiter. Wenn ihr die Listen aktuell halten wollt, könnt ihr unter dem Punkt Tools > Update Gravity auf Update klicken.
Eine Allow-Liste findet ihr ebenfalls im Menü links und ihr werdet sie das eine oder andere Mal brauchen, denn manchmal blockt Pihole relativ harmlose Werbetracker oder versaut euch Links in Newslettern, da diese meist über Tracking-Tools laufen. Setzt die entsprechenden Domains dann einfach auf die Liste oder schaltet Pihole kurzzeitig mit einem Klick auf Disable aus und wählt, für wie lange er ausbleiben soll.
Wer möchte, kann das Pihole auch als DHCP-Server nutzen, DNSSEC aktivieren, als rekursiven DNS-Server mit Unbound nutzen, weitere Adblock-Listen hinzufügen oder die Allow-Lists automatisch updaten lassen. Auf die gehört übrigens auch www.t3n.de – ist ja klar. Wie ihr das alles anstellt, erfahrt ihr hier:
- Unbound als rekursiven DNS-Server einrichten
- Massenimport von Adblock-Listen mit pihole5-list-tool
- Tipps für Whitelisting unkritischer Tools und Services
- Pi-Hole mit OpenVPN und DNSCrypt basteln
Als kleiner Tipp: Wenn das Blocken mal nicht direkt funktioniert, wartet ein paar Minuten, bis euer Netzwerk das Pihole als DNS-Server „vermittelt“ hat. Oder startet euer Gerät ein Mal neu. Das gleiche gilt auch, wenn ihr das Pihole im Menü kurzzeitig ausschaltet, denn ein paar Sekunden lang wird es Tracker immer noch blocken.
Danke dir für die Empfehlung.
Super Sache das piHole. Nur leider funktioniert ist nicht richtig bei Services wie TVNow weil dort auch die komplette Werbung geblockt wird. An und für sich nichts schlechtes, nur leider laufen dann die Video Streams nicht und das piHole muss dann immer wieder deaktiviert werden. Schade, wenn es dann Mal eine Whitelist für TVNow gibt, darf ich mein piHole wieder nutzen.
Du könntest den DNS-Eintrag des Gerätes ändern, auf dem deine TV Now-App läuft, siehe hier: https://discourse.pi-hole.net/t/how-can-i-use-pi-hole-for-all-my-devices-except-one-or-more/3372
Einfach zu etwas anderem als Pihole ändern und es sollte nur für dieses Gerät funktionieren, während das Pihole weiter läuft.
Alternativ ist TV Now Premium+ werbefrei. Wenn das aber auch keine Option ist, dann findest du hier eine Komfort-App, mit der du das Pihole per Smartphone ein und ausschalten kannst: https://apps.apple.com/us/app/pi-hole-remote/id1515445551
Der PiHole ist auch nur so gut wie die Entwickler die dahinter sind. Bei mir hat PiHole ob nun „armhf“ oder „x86“ es nicht mal geschafft Eintragungen in die Manuelle Blockliste zu Verarbeiten. Wenn man selber keine Seiten Sperren kann… ist schon viel verloren (und wehe es ist ein Misch Netzwerk aus IPv4 und IPv6 Vorhanden dann gibt der PiHole schnell auf)
Das Positive beim PiHole ist 1. Die einfache und Kinderleichte Installation und 2. Die Kompatibilität zu unterschiedlichen Plattformen (x86, ARM etc.).
Wer es richtig machen will schaut sich Squd + Squidguard mal an, was hier in der Blockliste eingetragen wird, das ist auch wirklich Verboten. Auch wenn Unternehmen XYZ was Zahlt um solche Sperren zu umgehen!
Funktioniert bei mir tadellos. Hast Du das Skript als root installiert oder mit sudo? Letzteres versaut nämlich das eine oder andere.
Meine PiHole läuft nun seit 2 Wochen, als Docker Container auf nem Pi4.
Was soll ich sagen, das „Versprechen“ Werbefrei zu surfen bleibt doch Wunschdenken. Habe nach wie vor überall Werbung, trotz fast 1 Mio. geblockter Domains. Ohne Browser Adblocker gehts also nach wie vor nicht.
Was ich aber gemerkt habe ist, dass mein Samsung Smart TV, welches KEIN Samsung Cloud Dienst nutzt, non stop Daten an diese schickt. Mit non stop meine ich auch non stop. Läuft der TV, sendet dieser fast Sekündlich Anfragen an die Samsung Cloud. DAS wird nun geblockt.
Einige TV Apps gehen nun nicht mehr, wie Pro7 App oder Sat1, aber diese nutze ich eh nicht, und notfalls lässt sich die Box pauseren.
Also alles in einem bleibt das Hole auch weiterhin im Einsatz, aber die Versprechnung „werbefrei“ zu surfen im ganzen Netzwerk ist stark übertrieben.
Wollte das schon seit Jahren probieren… Dank Newsletter und dem locker geschriebenem Artikel hab ichs nun probiert und war nach einer Stunde Einrichtung sauglücklich. Funktioniert :)
Speziell mit Kindern im Haushalt eine feine Sache… Schaue ich mir weiterhin in der Tiefe an. Hatte noch einen alten Raspberry PI 2 in der Schubladem, der bisjer nur verstaubte. Danke! :)
Danke Dir fürs Feedback und es freut mich, dass der Artikel dir geholfen hat. Ist im Grunde auch echt einfach und ein feiner Filter vor einer Menge Tracking-Müll.
Ich nutze das kostenlose eBlockerOS auf dem Raspi. Das kann EINIGES mehr und vermeidet durch Mustererkennung das stänige Over- und Underblocking, wie es bei DNS-Blockern zwangsläufig passiert. Plus: IP-Anonymisierung, Gerätetarnung und Jugenschutzfilter – inklusive kommerziell lizenzierter Filter.
Läuf super und ist Open Source: eBlocker.org