X

Pi-hole als Werbeblocker für das ganze Netzwerk mit einem Raspberry Pi 4

02.08.2019 von Stefan
Werbeblocker sind heute bei vielen Leuten in Benutzung. Die Mehrheit nutzt auf seinen Clients ein entsprechendes Browser-Addon. Dieses muss auf jedem Computer installiert sein und kann Nachteile mit sich bringen in Form von Geschwindigkeitseinbußen. Außerdem erkennen viele Webseiten Werbeblocker mittlerweile und liefern dann keine Inhalte mehr aus (letzteres lässt sich aber auch mit dem Pi-hole nicht komplett verhindern).

Wir zeigen euch wie ihr mit Pi-hole einen Werbeblocker 2.0 für euer gesamtes Netzwerk aufbaut. Als Basis dient bei uns ein Raspberry Pi 4 B, aber auch ältere Versionen des Raspberry Pis funktionieren. Alternativ lässt sich Pi-hole auch unter vielen anderen Linux-Distributionen in einem Docker-Container nutzen.

Das NAS-Betriebssystem OpenMediaVault bindet zum Beispiel auf Wunsch über die OMV-Extras auch Docker mit ein, über welches dann Pi-hole als Container genutzt werden kann. Wir konzentrieren uns hier aber auf ein Standalone-System, denn der DNS-Server muss natürlich 24/7 im Netzwerk zur Verfügung stehen, während viele ihr NAS bei Nichtbenutzung in den Standby schicken um Energie zu sparen.

Der Clou von Pi-hole: auf den Clients selbst muss keine Software installiert werden, da Pi-hole als DNS-Server fungiert und nur gefilterte/erlaubte Domains an die Clients ausliefert. Zudem filtert Pi-hole sämtliche DNS-Abfragen der Clients, also auch solche die nicht unbedingt vom Browser ausgelöst werden. Das spart Internet-Traffic und kann Seitenaufrufe beschleunigen und den Client entlasten.



Die Installation von Pi-hole auf dem Raspberry Pi 4 B ist Dank eines voll automatischen Assistenten kinderleicht und kann selbst von absoluten Linux-Anfängern problemlos durchgeführt werden. Pi-hole verfügt zusätzlich über eine moderne Weboberfläche, auf der Statistiken angezeigt werden, White- und Blacklisten gepflegt oder Basiseinstellungen vorgenommen werden können. Protokolle in Pi-hole können in 5 Stufen eingestellt werden und sind somit auf Wunsch sogar DSGVO konform (interessant für Firmen oder öffentliche W-Lans).



Funktionsweise von Pi-hole


Euer Computer muss jede Domain oder Webadresse zuerst in eine IP-Adresse umwandeln. Dies geschieht mit einer Anfrage an einen DNS-Server, der für gewöhnlich euer Router ist (z.B. eine Fritzbox). Wurde eine Domain in eine IP-Adresse aufgelöst, findet die Verbindung nun direkt zwischen dem Client und der Webseite statt, d.h. der DNS-Server wird nach der Auflösung der Domain nicht mehr benötigt. Daher laufen auch nicht alle Daten über den Pi-hole Server, lediglich die Umwandlung in eine IP-Adresse geschieht hier.

Pi-hole prüft nun anhand von sich regelmäßig aktualisierenden Sperrlisten ob eine Domain auf der Sperrliste steht. Ist dies der Fall, gibt Pi-hole dem Client eine "Server nicht gefunden" Antwort zurück. Die Anzeige des Werbebanners wird so unterdrückt. Neben Werbebannern werden aber auch bestimmte Scripts (wie z.B. die Webseitenanalyse Google Analytics) nicht mehr ausgeführt.

Sollte sich bei einer eurer Webseiten eine Fehldarstellung ergeben, könnt ihr diese Domain auf eine White-List setzen. Domains auf dieser White-List werden immer aufgelöst und nicht blockiert.



Zusammenstellung der Hardware


Die komplette Hardware haben wir bereits in unserer jüngsten Starter-NAS Zusammenstellung vorgestellt und ausgiebig getestet. Wenn euch technische Details der Hardware interessieren, empfehlen wir euch den verlinkten Artikel zuerst zu lesen.



EigenschaftKomponente
MainboardRaspberry Pi 4 B - 2 GB
Mainboard (Alternativ)Raspberry Pi 4 B - 4 GB
Mainboard (Alternativ)Raspberry Pi 3 B+
SystemdatenträgerSanDisk Ultra 32 GB microSDHC Speicherkarte
NetzteilUGREEN 18W USB-Netzteil
Netzteil-Kabel1m USB-C Kabel auf USB Typ A
GehäuseGeeekPi Acryl Gehäuse für Raspberry Pi 4
Adapter / Kleinteile (Optional)Aukru Kühlkörperset
Adapter / Kleinteile (Optional)2m HDMI 2.0 zu micro HDMI Kabel


Unsere Komponenten sind gut durchdacht. So nutzen wir zum Beispiel ein kompatibles 18 Watt USB-C Netzteil ohne Kabel (flexibler), welches über viele Schutzschaltungen verfügt und so unsere Hardware schützt:
  • Überstromschutz (OCP)
  • Überspannungsschutz (OVP)
  • Kurzschlussschutz (SCP)
  • Überhitzungsschutz (OTP)
  • Überlastschutz (OPP)

Da wir den Raspberry Pi 4 B im 24/7 Einsatz benutzen, empfehlen wir neben dem passiven Aukru Kühlkörperset ein Gehäuse mit aktiven Lüfter. Sofern ihr einen älteren Raspberry Pi wie z.B. den Raspberry Pi 3 B+ verwendet, ist ein aktiver Lüfter nicht notwendig.


Benötigte Software


Die Installation ist wirklich einfach und auch für Anfänger kein Problem. Zuerst besorgen wir uns Raspbian, ein extra für den Raspberry Pi angepasstes Debian Linux. Wir haben dieses ist der normalen Desktop Version (ohne zusätzliche Software) installiert, da die Konfiguration dieser Version durch den Assistenten sehr einfach ist. Die Kommandozeilenversion von Raspbian funktioniert natürlich auch, bietet aber keine wirklichen Vorteile (der Energieverbrauch ist identisch mit der Desktop Version).



Installation


Zunächst schreiben wir das Raspbian Buster Image mit Hilfe eines Windows Computers auf die Micro-SD-Karte. Danach muss die Speicherkarte nur noch in den Raspberry Pi 4 B eingesteckt werden.



Nach dem ersten Start des Raspberry Pis gelangen wir auf den Desktop von Raspbian. Der Einrichtungsassistent von Raspbian startet automatisch. Eingestellt wird neben dem deutschen Tastaturlayout auch das Admin-Passwort. Außerdem werden neuste Updates eingespielt und die Netzwerkschnittstellen konfiguriert.



Nun sind wir bereit und können Pi-hole auf dem Raspberry Pi installieren. Dazu starten wir eine Terminal-Sitzung (schwarzes Icon in der Menüleiste).

Folgender Befehl muss in das Konsolenfenster eingegeben werden:

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




Pi-hole verfügt über einen verständlichen Assistenten zur Einrichtung:



Normalerweise können hier alle Optionen auf den vorgewählten Einstellungen bleiben. Mit Beendigung des Assistenten ist die Installation von Pi-hole auch schon abgeschlossen.



Safety First !


Um es Einsteigern leichter zu machen ist Raspbian so konfiguriert, dass es automatisch auf den Desktop bootet. Es wird also kein Passwort zur Anmeldung benötigt. Wir empfehlen euch die automatische Anmeldung zu deaktivieren (euer Anmeldepasswort habt ihr im Einrichtungsassistenten von Raspbian festgelegt).

Über die Menüleiste gelangt ihr in die Raspberry-Pi-Konfiguration. Hier könnt ihr die automatische Anmeldung deaktivieren. Auf Pi-hole hat dies keinen Einfluss, denn Pi-hole funktioniert auch ohne Anmeldung. Zusätzlich könnt ihr hier den Hostnamen ändern (optional).





Weitere Optimierung


Da wir weder W-Lan noch Bluetooth benötigen, empfehlen wir euch beide Funktechniken zu deaktivieren. Dies geht direkt mit einem Klick auf die Menüleiste. Die Einstellungen bleiben auch nach einem Neustart erhalten.



Im letzten Schritt der Pi-hole Einrichtung wurde euch euer Passwort für die Weboberfläche angezeigt. Dieses ist zufällig generiert und nicht einfach zu merken. Die meisten werden daher das Passwort ändern wollen. Dies geht auch über das Konsolenfenster:

sudo pihole -a -p




Die Pi-hole Weboberfläche


Die Weboberfläche sollte nun unter http://IP-Adresse/admin erreichbar sein. Meldet euch hier mit eurem Passwort an um den vollen Funktionsumfang nutzen zu können (eine limitierte Dashboard-Seite ist auch ohne Anmeldung verfügbar).



Je nach dem eingestellten Protokoll-Level sind unterschiedlich viele Informationen sichtbar. Domains lassen sich entweder über eine Listenansicht verwalten oder direkt per Button freigeben oder sperren.



Pi-hole für euer Netzwerk bereitstellen


Der Pi-hole Server ist nun eingerichtet und konfiguriert. Allerdings müssen eure Clients nun noch so konfiguriert werden, dass alle DNS-Anfragen auch über den Pi-hole Server abgewickelt werden. Hierfür habt ihr drei Möglichkeiten:


Möglichkeit 1 - In den DHCP-Einstellungen eures Routers den DNS-Server auf den Pi-hole Server setzen

Diese Methode finde ich persönlich am Besten, denn man muss nur einmal die Einstellung vornehmen und alle Geräte im Netzwerk und W-Lan werden automatisch zur Verwendung mit Pi-hole konfiguriert. Normalerweise vergibt euer Router jedem Gerät im Netzwerk eine IP-Adresse. Euer Router fungiert als so genannter DHCP-Server.

Mit der IP-Adresse wird dem Computer auch die IP-Adresse des Routers sowie die IP-Adresse des DNS-Servers mitgeteilt. Wir stellen den Router (in meinem Beispiel eine FritzBox) nun so ein, dass dieser allen Computern die IP-Adresse des Pi-hole als DNS-Server nennt.

Zusätzlich können wir hier gleich einstellen, dass die FritzBox dem Pi-hole Server immer die gleiche IP-Adresse zuweist. Dies ist wichtig, da sich ansonsten die IP-Adresse in regelmäßigen Abständen ändert und unsere Konfiguration dann nicht mehr stimmt.




Möglichkeit 2 - Euren bisherigen DHCP-Server deaktivieren und den Pi-hole Server auch als DHCP-Server nutzen

Hierfür deaktiviert ihr die DHCP-Funktion auf eurem Router und aktiviert die DHCP-Funktion dafür auf dem Pi-hole Server. Die Verwaltung aller IP-Adressen sowie die DNS-Einstellung findet damit auf dem Pi-hole Server statt.

Pi-Hole DHCP-Server


Möglichkeit 3 - Manuell in jedem Client den DNS-Server auf die IP-Adresse eures Pi-hole Servers setzen

Hierfür geht ihr in die Netzwerkeinstellungen (abhängig vom Betriebssystem welches auf dem Computer installiert ist) und setzt den DNS-Server manuell auf die IP-Adresse eures Pi-hole Servers.

Diese statische Zuweisung kann Nachteile mit sich bringen, z.B. kann Windows 10 die DNS-Server Einstellung nicht in Bezug zu einem W-Lan setzen (iOS, macOS sowie Android können dies). Das bedeutet, dass ihr euer Notebook eventuell nicht mehr in anderen W-Lans einsetzen könnt bzw. dann jedesmal an den DNS-Einstellungen herumfummeln müsst.

Client DNS



Prüfen ob euer Werbeblocker funktioniert


Nachdem ihr eine der drei Möglichkeiten umgesetzt habt, solltet ihr nun natürlich noch prüfen, ob euer Werbeblocker auch auf euren Smartphones, Tablets, Notebooks und Computern funktioniert. Da einige TV-Hersteller sogar Werbung auf ihren TVs einspielen, kann Pi-hole sogar hier die Werbung entfernen.

Übrigens: ein Werbeblocker basiert auf so genannten Sperrlisten, auf denen viele der Werbeserver vermerkt sind. Da es hier laufend Änderungen gibt, kann es immer mal passieren, dass ihr trotzdem Werbung angezeigt bekommt. 100% der Werbung kann nicht entfernt werden. In meinen Versuchen lag die Blockierrate aber über denen meiner Browser-Erweiterungen.





Zusammenfassung und Energieverbrauch


Auf den Energieverbrauch sind wir bisher gar nicht eingegangen, dabei wissen Stammleser sicherlich, dass der Energieverbrauch bei uns immer ein wichtiger Betrachtungspunkt ist. Der Raspberry Pi 4 B benötigt in unserer 4 GB Version ca. 3,8 Watt Energie im Leerlauf. Der ältere Raspberry Pi 3 B+ benötigt im Leerlauf sogar nur 2,8 Watt. Auch mit dem Raspberry Pi 3 B+ läuft Pi-hole einwandfrei.

Daraus ergeben sich jährliche Kosten von (1 kWh = 0,30 Euro):
0,0038 kWh x 24 Stunden (Tag) x 365 Tage = 33,288 kWh / Jahr = 9,98 Euro / Jahr

Idealerweise kombiniert ihr den Pi-hole Server noch mit anderen Aufgaben. So lässt sich z.B. sehr einfach ein OwnCloud Server aufsetzen oder ein FTP-Server installieren. Der Raspberry Pi 4 B hat dafür genügend Leistung. Wir verwenden hier zwar die 4 GB Variante des Raspberry Pi 4 B, diesen gibt es aber auch mit 1 oder 2 GB Arbeitsspeicher. Die 2 und 4 GB Versionen waren zum Testzeitpunkt besser im Preis / Leistungsverhältnis als die 1 GB Version.

Wie beschrieben könnt ihr den Pi-hole Server auch auf einem älteren Raspberry Pi installieren, denn Pi-hole benötigt selbst nicht sehr viel Leistung. Wie oben beschrieben solltet ihr aber den Pi-hole Server selbst nur per Kabel mit dem Netzwerk verbinden, da die Anbindung des Pi-hole Servers über W-Lan die DNS-Abfragen stark verlangsamen kann.

Wer jetzt Lust auf einen eigenen Server bekommen hat, dem empfehlen wir unseren Hauptartikel zum Raspberry Pi 4 sowie unsere anderen NAS Zusammenstellungen (NAS Basic, NAS Advanced).



Kommentare (2)


wahli
30.09.2019
Ja, geht. Ich habe zusätzlich in der bash Unifi installiert und es läuft ohne Probleme.

Minecrawler
30.09.2019
Hallo, kommt man nach der Installation von Pi Hole noch auf das Desktop von Raspian? Ich möchte auf demselben Raspberry auch noch die Unifi Controller-Software laufen lassen.

Diesen Artikel kommentieren:

Hinweis:
  • Nur Fragen / Antworten direkt zum Artikel
  • Kein Support für andere Hard- oder Software !


Name:
   
Kommentar:
   
    

Bild abtippen:
   
Artikel-Abo: optional
  Wenn Du eine E-Mail-Adresse angibst, informieren wir dich, sobald es hier etwas Neues gibt.