Select Page

NETWAYS Blog

Pi-hole – Mit einem Raspberry Pi zur Werbefreiheit

This entry is part 2 of 2 in the series Werbeblocker

Im Rahmen meiner Ausbildung zum Fachinformatiker für Systemintegration bei NETWAYS Professional Services arbeite ich regelmäßig an neuen Projekte. Dabei steht neben dem Kennenlernen neuer Technik und Software besonders die Vertiefung von Schulungsinhalten im Fokus.
Im Rahmen des Projekts zur DNS-Schulung (Domain Name System) habe ich den DNS-basierten Werbeblocker Pi-hole aufgesetzt und konfiguriert. Pi-hole ist seit vielen Jahren die bekannteste und am weitesten verbreitete Anwendung für ein netzwerkweites Ad-Blocking. Das liegt besonders an den individuellen Konfigurationsmöglichkeiten, welche die Software anbietet sowie an der unkomplizierten Installation.

Warum ist ein DNS-Werbeblocker sinnvoll?

Viele Dienste und Websites im Internet bieten ihre Dienste für Endkunden kostenlos an. Da sich mit kostenlosen Inhalten in der Regel aber kein Geld verdienen lässt, sind Werbeanzeigen in den letzten zehn Jahren für viele Unternehmen eine, teilweise gar die wichtigste Einnahmequelle geworden.
Während der Einsatz von Werbung aus unternehmerischer Sicht sinnvoll und nachvollziehbar sind, können für die Nutzer:innen der Website / des Dienstes Probleme durch diese Werbeeinblendungen auftreten.

Teilweise sorgen Anzeigen “nur” dafür, dass Websites nicht richtig funktionieren oder sie die Ästhetik stören. Es gab jedoch schon Fälle, in denen Werbeanzeigen zum Verteilen von schädlichem Code genutzt wurden. Um das eigene Netzwerk werbefrei zu halten, gibt es verschiedene Möglichkeiten. Die bekanntesten sind Pi-hole und AdGuard Home.
Dank dieser Programme kann das Auspielen von Werbung auf allen mit dem Netzwerk verbundenen Geräten verhindert werden. Dieser Text beschäftigt sich mit der Einrichtung und Konfiguration von Pi-hole, während unser Blogartikel von letzter Woche AdGuard Home genauer unter die Lupe nimmt.

Was ist Pi-hole?

Pi-hole ist eine Open-Source-Software, die als Werbe- und Trackingblocker fungiert. Welche Inhalte dabei für welches Gerät im lokalen Netzwerk geblockt werden, lässt sich individuell konfigurieren. Die Anwendung basiert auf Linux und ist dafür optimiert, um auf Computern mit minimaler Ausstattung, etwa dem Raspberry Pi, zu funktionieren.

Damit die Blockfunktion von Pi-hole wie gewünscht funktioniert, fungiert das Programm als DNS-Server für das eigene Netzwerk, über den der komplette Netzwerkverkehr sowohl ausgehend als auch eingehend geleitet wird. Mithilfe dieser Schnittstellenfunktion bekommt Pi-hole Zugriff auf alle eingehenden IP-Adressen, die mit dem Abruf einer Homepage oder eines Dienstes verbunden sind.
Diese Funktion sorgt dafür, dass Filter angewendet werden können, die Werbe- und Tracking-IP’s herausfiltern und z. B. die Website in einer werbefreien Form anzeigen. Die Werbung wird also verhindert, bevor das Endgerät überhaupt die Chance hat, den entsprechenden Inhalt zu laden.

Die angesprochenen Filter werden in Form von Filterlisten implementiert, die verschiedene Ziele erfüllen können. Neben dem bekannten Werbe- und Trackingblocker kann auch der Zugriff auf spezielle Seiten, etwa mit Inhalten der Erwachsenenunterhaltung oder soziale Netzwerke, eingeschränkt oder komplett verhindert werden. Sollten aufgrund einer oder mehrerer angewendeter Blocklisten Seiten gesperrt werden, auf die eigentlich zugegriffen werden soll, besteht die Möglichkeit, diese über eine Whitelist explizit für die gewünschten Clients freizugeben.

Technische Voraussetzungen

Um ein eigenes funktionierendes Pi-hole zu installieren, sind nicht viele Komponenten nötig. Die technischen Voraussetzungen sind:

  • Ein Raspberry Pi mit Raspberry Pi OS+ Zubehör & Netzteil
  • Eine MicroSD-Karte (mindestens 8GB Speicherkapazität)
  • Ethernet- oder WiFi-Verbindung (bei Raspis mit WLAN-Modul) zum Router des lokalen Netzwerks, damit Pi-hole als DNS-Server fungieren kann
  • Zugang zur Command Line Interface (CLI) des Pi

Die Einrichtung des Raspberry Pi vor der Installation von Pi-hole ist simpel und unkompliziert. Es gibt ausreichend Guides, die diese Arbeit Schritt-für-Schritt erklären.

Installation von Pi-hole

-HINWEIS-
Nach der Installation von Pi-hole kann der Raspberry Pi problemlos ohne Peripheriegeräte betrieben werden. Für den Zugriff auf die Weboberfläche der Anwendung ist jedoch die statische IP-Adresse des Pi nötig, welche über das Terminal des Betriebssystems ausgelesen werden kann. Aus diesem Grund ist es sinnvoll, dass für die Dauer der Installation des Betriebssystems und des Werbeblockers Monitor und Tastatur angeschlossen sind.

Die Pi-hole Installation ist unkompliziert und wird von einem ausführlichen Installationsassistenten begleitet, der jeden Schritt mit einer kurzen Erklärung begleitet. Um das Installationsskript zu starten, muss zunächst das Pi-hole git-Repository geklont werden, in der das Skript enthalten ist. Anschließend wird das Skript ausgeführt. Die entsprechenden Befehle dafür sind:

git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole
cd "Pi-hole/automated install/"
sudo bash basic-install.sh

Der automatisierte Pi-hole Installer konfiguriert die Punkte:

  • Statische IP-Adresse
  • Auswahl des von Pi-hole verwendeten Upstream DNS-Providers
  • Einfügen einer ersten, von den Pi-hole-Entwickler:innen kuratierten Blockliste
  • Installation des Webinterface (kann ausgeschalten werden, wenn die Konfiguration komplett über SSH und CLI gemacht werden will)
  • Installation des Webservers lightttpd (Ist für die Anzeige des Webinterface unerlässlich)
  • Privacy level und loggen von Anfragen

Nachdem der Installer seine Arbeit getan hat, ist die Weboberfläche erreichbar und Pi-hole ohne weitere Einstellungen direkt einsetzbar.

Individuelle Konfiguration von Pi-hole …

Mit der vom Installer vorgegebenen Grundkonfiguration ist der Einsatz des Werbe- und Trackingblocker Pi-hole ohne weitere Einstellungen möglich. Es wäre jedoch kein anständiges Linux- bzw. Open Source-Projekt, wenn es nicht vielfältige Konfigurationsmöglichkeiten geben würde, um Pi-hole an die eigene Umgebung und die persönlichen Präferenzen anzupassen.

Zugriff auf die verschiedenen Konfigurationsmöglichkeiten bekommt man über das Dashboard, welches im Browser über http://IP-Adresse-des-Pi/admin (z. B. 192.168.123.456/admin o. Ä.) aufgerufen werden kann. Nachfolgend werde ich einige wichtige Einstellungen vorstellen.

… als DNS-Server

Wie bereits angesprochen, agiert Pi-hole im lokalen Netzwerk als DNS-Server. Damit das funktioniert, muss im Menü unter Settings -> DNS ein Upstream DNS Server ausgewählt werden, mit dem der Pi kommunizieren kann. Zur Auswahl stehen einige vorkonfigurierte Möglichkeiten (u.A. Google, OpenDNS oder Quad9). Zudem können bis zu vier weitere DNS-Server hinzugefügt werden, indem die entsprechende IP-Adresse eingetragen wird. Somit haben Nutzer die volle Kontrolle über den genutzten Upstream DNS und können z. B. datenschutzfreundliche DNS-Anbieter verwenden.

… und Benutzer- / Gruppenmanagement

Die individuelle Konfigurierbarkeit ist einer der Gründe, warum sich Pi-hole seit Jahren großer Beliebtheit erfreut. Dazu gehört besonders das Benutzer- und Gruppenmanagement.
Du möchtest verschiedene Gruppen anlegen, um für einen oder mehrere Client(s) Content zu sperren, für die anderen aber nicht? Kein Problem!
Du willst einen Client mehreren Gruppen hinzufügen? Kein Problem!
Um individuelle Gruppen anzulegen, muss einfach Group Management -> Groups aufgerufen werden. Die Client-Verwaltung wiederum befindet sich im gleichen Menü jedoch unter dem Unterpunkt Clients.

… und Adlists

Bei der Grundkonfiguration über den Pi-hole-Installer wird eine kuratierte Adlist mitgeliefert, dass Pi-hole direkt einsatzbereit ist. Bei dieser einen Liste muss es aber nicht bleiben. Egal was geblockt werden soll, es gibt die passende Liste dafür. Die folgenden drei Links bieten eine vielfältige Auswahl an regelmäßig aktualisierten Blocklisten:

Eingefügt werden die gewünschten Listen über Group Management -> Adlists. Hier lassen sich alle Listen zentral verwalten (z. B. Kommentare zu einzelnen Listen, Zuweisung zu Nutzergruppen, u.v.m.).

Es existieren noch viele weitere Einstellungsmöglichkeiten wie DHCP, Domainmanagement oder Whitelists, aber diese vorzustellen würde den Rahmen sprengen. Deshalb nun noch ein Punkt, der nicht unerwähnt bleiben sollte.

Grenzen von Pi-hole

Wer bis hierhin gelesen hat, kann den Eindruck bekommen, dass Pi-hole eine großartige Möglichkeit ist, um Werbung und Tracking aus dem eigenen Netzwerk zu verbannen. Und das ist auch zu 95 Prozent richtig. Doch Ehrlichkeit muss sein: NICHT JEDE WERBUNG lässt sich blockieren.

Wenn sich der abgerufene Inhalt und die Werbung den Server und die IP-Adresse teilen, führt ein Blockieren der Werbung zu einem Blockieren des Inhalts. Das bekannteste Beispiel für dieses Vorgehen ist YouTube, dass damit DNS-Werbeblockern wie Pi-hole oder AdGuard Home zuvorkommen will. Um diese Inhalte abzurufen, muss man in den meisten Fällen ein wenig Werbung in Kauf nehmen.
Besonders für Nutzer von Smart-TVs oder TV-Sticks ist das eine bedauerliche Nachricht. (Während es auch hier Optionen gibt, hust SmartTube hust).

Wenn du nun auch Lust auf abwechslungsreiche Projekte in einem modernen IT-Unternehmen im wunderschönen Nürnberg hast und aktuell noch einen spannenden Ausbildungsplatz suchst, dann solltest du noch heute deine Bewerbung an NETWAYS schicken.

AdGuard Home als Werbeblocker – ein ernstzunehmender Pi-Hole-Konkurrent?

This entry is part 1 of 2 in the series Werbeblocker

Raspberry Pi – bei vielen Leuten klingelt ganz dumpf etwas. Bei einigen anderen wird die Fantasie durch eine schier unendliche Zahl an Anwendungsmöglichkeiten beflügelt.
Technikaffinen Personen ist der Pi nicht unbekannt und gerne nutzen sie diesen für diverse Projekte.
Doch auch Du – ob nun technisch versiert oder nicht – kannst von diesem Gerät profitieren.

Denn was mindestens 101% der Menschen sauer aufstößt ist Werbung im Internet. Mit einem Rapsberry Pi und der Open Source Software AdGuard Home (AGH) lässt sich sehr viel Werbung blockieren.
Speziell Werbebanner am Bildschirmrand wie sie oftmals auf diversen Nachrichtenportalen zu sehen sind können mit AGH der Vergangenheit angehören.

 

Werbung blockieren, bevor sie entsteht

Herkömmliche Werbeblocker in Form von Browsererweiterungen blockieren Werbung, nachdem sie im Browser geladen wurde. Mit einem DNS-basierten Werbeblocker, wie AdGuard Home es ist, kannst Du Werbung jedoch blockieren, noch bevor sie geladen wird.

Hier wird nämlich nicht die Werbung selbst blockiert, sondern die Anfrage an den Server, der die Werbung bereitstellt. Wenn Dein Endgerät also Werbung laden würde, schreitet AGH ein und teilt mit, der entsprechende Server sei nicht erreichbar.

Und schon musst Du keine nervigen Werbebanner mehr sehen.

 

Warum ein DNS-basierter Werbeblocker?

Diese Art von Werbeblockern ist deshalb interessant, weil sie für das gesamte Heimnetzwerk verwendet werden kann. Selbst Geräte, auf denen kein Werbeblocker installiert werden kann, können davon profitieren.
Hier sind vornehmlich Smart TVs zu erwähnen.

Außerdem bekommst Du hier eine zentrale Stelle, um Deine Einstellungen vorzunehmen, und ersparst Dir ggf. die Einrichtung mehrerer Einzelgeräte. Entsprechende Sperrlisten für DNS-basierte Werbeblocker gibt es im Internet zudem wie Sand am Meer.

 

Was Du brauchst

Um Strom zu sparen, empfiehlt es sich, einen Raspberry Pi für dieses Projekt zu nutzen. Es wird gar nicht viel Leistung benötigt.
Ein Raspberry Pi ist auch recht einfach einzurichten.

Für dieses Projekt benötigst Du also Folgendes:

  • Einen Raspberry Pi mit WLAN und/oder LAN + Zubehör/Netzteil
  • Eine microSD-Karte mit installierten Betriebssystem (Empfehlung: Raspberry Pi OS)
  • Zugang zum Command Line Interface (CLI) des Pi
  • Internetzugang für den Raspberry Pi

Sobald Du Deinen Pi eingerichtet und Bildschirm und Tastatur angeschlossen hast, kannst Du auf dem Pi ein Terminal öffnen.

Alternativ kannst Du Dich – sofern eingerichtet – auch mittels SSH auf den Pi aufschalten, z.B. mit PuTTY.

 

AdGuard Home Installation

Für die Installation von AdGuard Home musst Du auf der GitHub-Seite des Projekts die Veröffentlichung, die zur Architektur Deines Geräts passt, wählen.

Dieses Setup wurde mit einem Raspberry Pi 3 B+ getestet.
Bei diesem Modell wählst Du z.B. “AdGuardHome_linux_armv7.tar.gz”.

Kopiere Dir den Link und lade das Archiv auf Deinen Raspberry Pi mit folgendem Befehl herunter:

wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.7/AdGuardHome_linux_armv7.tar.gz

Anschließend entpackst Du das Archiv und verschiebst die Dateien von AdGuard Home an die passende Stelle.

tar -xf AdGuardHome_linux_amd64.tar.gz
sudo mv AdGuardHome/ /opt/

Jetzt musst Du AdGuard Home nur noch installieren.

sudo /opt/AdGuardHome/AdGuardHome -s install

Damit hast Du den schwierigsten Teil geschafft!

 

In wenigen Schritten zum Ziel

AdGuard Home läuft bereits und will eingerichtet werden. Hierfür rufst Du in einem Browser die IP-Adresse Deines Raspberry Pi auf und gibst die Portnummer “3000” an.
Beispiel: “192.168.123.10:3000”

Wenn alles funktioniert hat, siehst Du jetzt den Einrichtungsassistenten.

In zwei einfachen Schritten kannst Du nun AGH einrichten.
Zunächst wirst Du gefragt, über welche Adressen die Weboberfläche erreichbar sein soll. Die Auswahl “Alle Schnittstellen” und “Port 80” kannst Du so übernehmen.

Die andere Frage nach der DNS-Schnittstelle kannst Du ebenfalls mit “Alle Schnittstellen” und “Port 53” beantworten.
Damit ist Dein AGH sicher erreichbar und beantwortet auch DNS-Anfragen.

Im zweiten Schritt kannst Du noch ein Benutzernamen und ein Passwort wählen. An dieser Stelle solltest Du direkt ein gutes Passwort wählen, da es sich (aktuell) nur über Umwege wieder ändern lässt.

AGH zeigt Dir außerdem im Anschluss an, wie Du AdGuard Home auf Deinen Endgeräten als DNS-Server auswählst.

Sobald Du AGH über die Weboberfläche erreichen kannst, bist Du im Prinzip fertig.
Standardmäßig blockiert AGH bereits ca. 46.000 Domains. Weitere Sperrlisten kannst Du bequem über den “Filter-Reiter” hinzufügen. Dort sind einige vorgefertigte Listen hinterlegt.

AGH verwendet außerdem DNS-over-HTTPS (DoH).
Kurz gesagt: Deine DNS-Anfragen werden verschlüsselt an DNS-Server außerhalb deines Netzwerks übertragen.
Dein Internetanbieter beispielsweise kann so nicht mehr direkt sehen, welche Domains Du aufrufst. Ein bisschen Privatsphäre muss schließlich sein.

An dieser Stelle ist eigentlich keine weitere Konfiguration mehr nötig.
Aber wenn Du in den Genuss der Features kommen willst, die AdGuard Home besonders machen, solltest Du Dich noch ein wenig umsehen.

 

Zusatzoptionen

Interessant wird es bereits im Bereich “Allgemeine Einstellungen“.
Du möchtest Seiten blockieren, die für Viren bekannt sind?
Du kannst einen Haken setzen.

Du möchtest explizite Inhalte der Erwachsenenunterhaltung blockieren?
Setze den Haken.

Du möchtest bei der Googlesuche keine anstößigen Inhalte sehen?
Haken.

AdGuard Home macht es Dir wirklich kinderleicht.

Die genannten Einstellungen kannst Du allgemein aktivieren oder nur für bestimmte Geräte in Deinem Netzwerk. Dafür musst Du lediglich Deine jeweiligen Endgeräte als “Client” in den “Client-Einstellungen” eintragen.
Etwas technisches Verständnis oder ein guter Umgang mit Google sind hier hilfreich.
Anschließend können die Regeln für den Client separat gesetzt werden.

Client-Einstellungen werden vor allem dann spannend, wenn Du Dein Heimnetzwerk selbst tiefgreifender einrichten und steuern möchtest. Der Aspekt Kinderschutz ist dabei besonders interessant und mit dieser Lösung sehr leicht umzusetzen.

AdGuard Home ermöglicht es Dir außerdem, auf sehr bequeme Weise ganze Dienste zu blockieren. Aktuell können Domains von 35 verschiedenen Diensten einfach per Mausklick blockiert werden.
Populäre Vertreter sind hier Twitter, WhatsApp, YouTube, Facebook, Netflix und Amazon.

Gesperrte Dienste

Wenn Du Interesse daran hast, kannst Du AGH sogar als DHCP-Server nutzen. Nur Frühstück musst Du Dir noch selbst machen.

 

Gekommen, um zu bleiben

Wie Du siehst bietet AdGuard Home das meiste, was man sich von einem DNS-basierten Werbeblocker wünscht. AGH ist leicht zu konfigurieren und hat eine sehr übersichtliche und intuitive Weboberfläche.
Dazu kommt, dass AGH selbst für Laien leicht zu installieren ist. Alles, was es braucht, ist der Wille und die Fähigkeit, ein paar Anleitungen aus dem Internet zu folgen.

Dass AdGuard Home erst in der Version “0.107” zu haben ist – es gibt also offiziell noch keine richtige erste Version – schmälert den Nutzen nicht.
Es deutet vielmehr darauf hin, dass wir in Zukunft noch viel Gutes von diesem Projekt erwarten können.

Aber Ehrlichkeit muss sein: Du wirst nicht jede Werbung blockieren können. Denn oftmals teilen sich Inhalte und Werbung denselben Server. Diesen Server zu blockieren, führt entsprechend dazu, dass Du auch keine Inhalte mehr abrufen kannst.
YouTube ist ein klassisches Beispiel, bei dem Du mit DNS-basierten Werbeblockern nicht weit kommen wirst. Aber viel Werbung zu blockieren, ist immer noch besser als keine Werbung zu blockieren. Und schließlich sind Browsererweiterungen nach wie vor eine gute Ergänzung.

Ob Du nun ein neugieriger Anfänger oder ein Technikprofi bist, AdGuard Home ist eine ernstzunehmende Lösung für 101% der Bevölkerung. AGH ist Dein Interesse definitiv wert!
Wenn Du aber lieber auf lang bewährte Lösungen zurückgreifen möchtest, sei Dir Pi-Hole wärmstens an’s Herz gelegt.

Matthias Döhler
Matthias Döhler
Junior Consultant

Über ein paar Umwege ist Matthias nun endlich da gelandet, wo er sich wohl fühlt: in der IT! Bei NETWAYS hat er im September 2021 seine Ausbildung zum Fachinformatiker für Systemintegration im Bereich Professional Services begonnen. Wenn er sich zu Hause nicht auch noch mit Themen rund um Linux auseinandersetzt, sieht er sich leidenschaftlich gerne Horrorfilme und solche an, die man als "Trash" bezeichnen könnte. Je seltsamer, desto besser! Den üblichen Beschäftigungen wie Freunde treffen, Bars aufsuchen oder die Sonne im Freien genießen, geht er eben so nach wie pseudophilosophischen Fragen. Daneben spielt er außerdem wahnsinnig gerne Videospiele vergangener Generationen....