Installation von pi-hole [AdBlocker] auf einem Raspberry Pi

Hallo Freunde der Sonne,

die viele Werbung im Internet nervt, meistens zumindest. Manchmal ist es ja ganz nett, wenn man über neue Produkte informiert wird, doch die unglaubliche Menge an Werbung lenkt in der Regel nur vom Surfen ab.

Im folgenden möchte ich Euch mein Tutorial zur Installation und Konfiguration von pi-hole anbieten. Pi-hole ist eine Software, die u.a. auf dem Raspberry Pi läuft und als AdBlocker funktioniert. Das besondere dabei ist, dass über pi-hole ein DNS eingerichtet wird und somit nicht jedes Endgerät (Desktop Rechner, Tablet oder Handy) einen eigenen AdBlocker benötigt. Ich werde die Anleitung on-the-fly erstellen, das heißt, ich werde die Installation und Konfiguration des pi-hole durchführen und parallel dazu diesen Blog-Post schreiben. Dadurch möchte ich gewährleisten, dass auch alles so funktioniert, wie es soll. Also, los geht’s!

Was ihr braucht:

  • einen Raspberry (am besten mit WLAN onboard) Amazon.de
  • eine gute SD-Karte (+8GB) Amazon.de
  • Software: Etcher, ein Betriebssystem für den Pi und pi-hole
  • Ein Netzteil für den Pi Amazon.de
  • am besten einen freien Monitor, Tastatur und eine Maus
  • Gedult und etwas Erfahrung mit Unix kann nicht schaden

Installation von Raspbian mithilfe von Etcher

Als erstes ladet ihr Euch ein Raspbian herunter. Für welche Version ihr Euch entscheidet, sollte nicht so wichtig sein. Ihr könnt Euch auch das NOOB herunterladen. Ich habe mich für das raspbian lite (Kurzer Nachtrag: Nehmt lieber nicht das lite. Es kommt ohne Fenster-Manager daher. Man kann zwar nachträglich einen xorg-server installieren, doch das ist recht aufwendig. Wenn ihr also schnell Spaß haben wollt, dann entscheidet euch für ein Raspbian mit Desktop-Umgebung) entschieden. Den Download gibt es hier:

Download des Raspbian Betriebssystems

Es gibt viele Möglichkeiten, wie ihr das Betriebssystem auf eine SD-Karte bekommt: unter *nix mit dd oder mit dem Software-Tool Eurer Wahl unter Windows. Eine elegante Variante bietet das Tool Etcher. Den Download gibt es hier:

Download Etcher

Ich habe Etcher als Image/Abbild einfach das .zip-File vom raspbian übergeben. Ihr müsst natürlich höllisch aufpassen, dass ihr auch das korrekte
Speichermedium wählt, also nicht auf eure externe Daten-Festplatte schreiben ;-). Hier seht ihr, wie das Programm Etcher in Aktion aussieht:

etcher-raspbian

Nun könnt ihr die SD-Karte in den Raspberry Pi schieben, die Peripherie-Geräte (Monitor, Tastatur und Maus) anschließen und den Pi booten lassen. Es dauert eine Weile bis der Pi hochgefahren ist und alle Funktionen gestartet sind. ACHTUNG! Bei einer deutschen Tastatur sind z und y vertauscht. Dies müsst Ihr beim Eingeben des Default-Passworts berücksichtigen. Das Default-Passwort ist: „pi“ für den Benutzer und „raspberry“ für das Passwort.

Wer dennoch mit der Lite-Version starten möchte, findet hier eine Anleitung zur Installation einer Desktop-Umgebung, falls erwünscht:

Anleitung zur Konfiguration einer Desktop-Umgebung

Kurze Konfiguration beim Start des Pi

Nachdem der Pi das erste Mal hochgefahren ist, öffnet sich ein Dialogfeld zur Konfiguration. Ich gehe davon aus, dass ihr das Raspbian mit Desktop-Umgebung installiert habt. Nun könnt ihr die Sprache und den Ort einstellen, euch in das Netzwerk (WLAN) einloggen und die Updates installieren.

Eine statische IP-Adresse vergeben und ssh-Unterstützung einrichten [Putty]

Das Aktivieren der ssh-Unterstützung geht sehr schnell vonstatten. Dazu muss man allerdings einen Monitor und eine Tastatur an den Pi anschließen. Ich habe bisher keine Möglichkeit gefunden, das Ganze ohne Peripherie-Geräte zu konfigurieren. Falls jemand eine Möglichkeit kennt, die ssh-Schnittstelle via Fernzugriff zu aktivieren, darf er mich sehr gerne kontaktieren. Also, einfach die Raspberry-Konfiguration aufrufen mithilfe des folgenden Befehls:


sudo raspi-config

Unter dem Menüpunkt „Schnittstellen“ könnt ihr bei „ssh“ das Häckchen setzen. Das war es dann auch schon. Nun könnt ihr über eine Console via ssh auf den Raspberry zugreifen. Ihr könnt es mit einem Terminal erledigen. Ich verwende für den Fernzugriff gerne das Tool „Putty“.

putty

Mit Putty könnt ihr die Zugangsdaten für euren ssh-Zugriff abspeichern. Dazu trägt ihr einfach die IP-Adresse ein und wählt den Port aus. Bei mir funktioniert es mit dem Port 22. Als Verbindung wählt ihr ssh aus. Nachdem ihr auf Öffnen klickt, sollte sich ein Terminal öffnen und euch bitten, die Zugangsdaten einzutragen. Der Nutzername ist standardmäßig „pi“ und das Passwort, wenn ihr es nicht geändert habt, ist „raspberry“. Nun habt ihr via Terminal vollen Zugriff auf den Raspberry.

Ihr könnt theoretisch auf die Einrichtung einer statischen IP-Adresse verzichten. Dann kann es jedoch passieren, dass sich der Raspberry bei einem Neustart eine neue, andere IP-Adresse zuweist. Damit sind die Netzwerkeinstellungen dann dahin. Es gibt im Internet zahlreiche Anleitungen, wie man eine feste, statische IP-Adresse für den Pi einrichtet. Hier sind mal zwei Anleitungen, die das Einrichten einer statischen IP-Adresse erklären:

jankarres.de

thomaskekeisen.de

Ich beschreibe hier mal, wie es bei mir funktioniert hat, die statische IP für den Raspberry einzurichten. Es gibt, wie ihr schnell im Netz finden werdet, mehrere Möglichkeiten, die IP statisch zu setzen. Ich habe mich für den Weg empfohlen, der für neuere Raspbian-Distributionen empfohlen wird: über einen Eintrag in die Datei /etc/dhcpcd.conf. Ihr öffnet mit eurem Lieblingseditor (Emacs ;-)) und dem „sudo“-Befehl die entsprechende Datei. Die statische IP-Adresse könnt ihr innerhalb eures Netzwerkes frei wählen. Ich habe mich für eine IP-Adresse am Ende des IP-Bereichs entschieden. Vor dem Einrichten der statischen IP-Adresse solltet ihr überprüfen, ob die gewünschte IP nicht zufällig schon vom Router vergeben wurde. Dazu setzt ihr einfach einen Ping-Befehl für die entsprechende IP ab. Das geht so:


ping 192.168.178.199

Es sollten keine Pakete an diese IP ankommen. Als Antwort solltet ihr so etwas wie „unreachable“ erhalten. Sobald ihr den Eintrag in die Datei „/etc/dhcpcd.conf“ geschrieben habt (siehe unten), könnt ihr entweder das Netzwerk-Interface neu starten oder ihr bootet den Raspberry einfach neu. Letzteres ist wahrscheinlich die sicherere Variante. Unter „hostname -I“ sollte nun die von euch eingetragene IP zu sehen sein.


# Konfiguration der festen IP-Adresse
interface wlan0
static ip_address=192.168.178.199/24
static routers=192.168.178.1
static domain_name_servers=192.168.178.1

interface eth0
static ip_address=192.168.178.198/24
static routers=192.168.178.1
static domain_name_servers=192.168.178.1

Installation der pihole-Software

Unter dem folgenden Link findet ihr verschiedene Möglichkeiten, pi-hole zu installieren:

pi-hole auf Github

Ich habe mich für diese Möglichkeit entschieden:


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

Nach dem Download startet die Konfiguration automatisch. Eine gute Anleitung zur Konfiguration der Einstellungen gibt es hier:

Pi-hole Erfahrungsbericht

Mithilfe dieser Anleitung sollte die Konfiguration von pi-hole schnell und einfach vonstatten gehen.

Die IP-Adresse des Pi als DNS im Router eintragen

Nachdem ich pi-hole installiert hatte, habe ich schon gewundert, warum pi-hole anscheinend nicht ordentlich funktioniert. Der Grund hierfür: ich hatte vergessen, die statische IP-Adresse des Raspberry in den DNS-Einstellungen des Routers einzutragen. Also, unbedingt daran denken, den Raspberry als DNS einzutragen. Nun sollte alles passen…

pihole

Hinzufügen einer neuen Block-Liste

Anfangs sind nur recht wenige Domains über pi-hole geblockt. Ein Eintrag in die Blacklist a la „www.spiegel.de“ bringt nichts, da die Werbung in der Regel über eine andere Domain integriert wird. Es empfiehlt sich also, eine „professionelle“ Block-Liste in pi-hole zu integrieren. Dazu geht ihr in eurem pi-hole Adminpanel auf „Settings“ und dann weiter auf „Blocklists“. Im Eingabefeld trägt ihr die folgende URL ein:

Umfangreiche Liste mit geblockten Domains

Danach klickt ihr auf „save“ und zuletzt auf „save & update“. Es dauert eine Weile, bis die Blocklist aktualisiert worden ist. Wenn alles gut gegangen ist, sollte im Webpanel des pi-hole unter „Domains on Blocklist“ eine Zahl jenseits der 2 Millionen stehen. Okay, ich denke das war’s. Meldet euch einfach, falls ihr in dieser Anleitung Fehler findet oder irgendwas nicht funktioniert, wie es sollte.

Seiten auf die Whitelist setzen

Heute Morgen musste ich feststellen, dass durch den AdBlocker die Facebook-App auf dem Handy nicht mehr funktioniert hat. Das war ein bisschen ärgerlich, aber nur ein bisschen. Ihr habt die Möglichkeit, bestimmte Seiten auf die „Whitelist“ zu setzen. Hier findet ihr eine Seite mit Einträgen für die Whitelist. Einfach den passenden Eintrag suchen, mit dem Pi verbinden und den Befehl abfeuern:

Seiten für die Whitelist

Genießt den Tag und Happy Painting!
Stefan

Schreiben Sie einen Kommentar

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