Vor einiger Zeit habe ich einen Artikel dazu geschrieben, wie man ein Pi-Hole als DNS-Server auf einer Fritz!Box einrichtet.
Pi-Hole: Adblocker als DNS-Server auf der Fritzbox einrichten
In diesem Zusammenhang erreichen mich immer wieder Fragen, wie man denn ein Pi-Hole überhaupt einrichtet.
Das möchte ich in diesem Artikel zum Thema machen.
Zunächst stellt sich die Frage, was man überhaupt alles an Hardware braucht.
Prinzipiell braucht man nur einen Raspberry PI, ein Netzteil und eine Micro SD Karte. Damit kann man sich schon ein Pi-Hole einrichten.
Jedoch gibt es von mir noch ein paar Empfehlungen. Ich werde im weiteren Verlauf des Artikels auch eine direkte Einkaufsliste verlinken.
Da die Meisten vermutlich die Teile am liebsten bei Amazon beziehen, werde ich dort hin verlinken. Natürlich kann man die Komponenten auch über jeden anderen Handel beziehen.
Als erstes sollte man sich die Frage stellen wo man die Hardware platzieren möchte und kann. Das Pi-Hole benötigt einen permanenten Storm- und Netzwerkanschluss. Grundsätzlich empfiehlt es sich die Anbindung an das Netzwerk per LAN-Kabel vorzunehmen.
Neben dem Platinenrechner, dem Netzteil und der Speicherkarte empfiehlt es sich zum Schutz des Rechners noch ein Gehäuse zuzulegen.
Hier bieten sich vor Allem die vielen Starterkits an, da man dann alles gleich beisammen hat, was man Braucht. Dieses Komplettpaket bei Amazon ist sogar etwas billiger, als die Komponenten einzeln zu kaufen.
Wer dennoch eine Übersicht der einzelnen Teile möchte, hier eine Liste:
Raspberry Pi 3b
Speicherkarte 16 GB
Netzteil
Gehäuse
ACHTUNG!
Wer keinen PC oder Laptop mit SD-Kartenleser besitzt, muss sich einen SD-Kartenleser noch als externes Gerät beschaffen, um das Betriebssystem aufspielen zu können
Nun aber genug Geld ausgegeben, kommen wir zum eigentlichen Einrichten.
Als erstes laden wir uns das Tool Etcher von https://etcher.io
Dieses ermöglicht uns das Image des Raspbian Betriebssystems, welches wir nutzen werden, auf die SD-Karte zu installieren.
Hierfür laden wir uns zunächst hier das neuste Raspbian Image runter. Für unsere Zwecke reicht die LITE Version. Einen grafischen Desktop benötigen wir nicht, da unser Pi-Hole ohnehin nicht über einen Monitor verfügt.
Nun wird die SD-Karte in den entsprechenden Kartenleser gesteckt und Etcher gestartet. Das Tool fragt nun in Schritt 1 nach dem Image hier wird das eben geladene Image von Raspbian ausgewählt.
Anschließend sollte schon automatisch die SD-Karte ausgewählt sein. Ist dies nicht der Fall, muss das manuell korrigiert werden.
Hat man beide Schritte korrekt ausgeführt, wird es in Schritt 3 möglich die Raspbian Distribution zu flashen.
Dieser Vorgang kann durchaus einige Zeit dauern, also nicht wundern.
Ist das Flashen abgeschlossen, wird die SD-Karte aus dem Kartenleser heraus genommen und direkt wieder eingesteckt, da nun der SSH Zugang aktiviert werden muss. Der SSH Zugang ist quasi eine Schnittstelle zur Fernwartung. Wir können dann die Konfiguration und spätere Wartung über einen anderen PC vornehmen und müssen keinen Monitor und sonstige Peripheriegeräte an den Pi selbst anschließen.
ACHTUNG! Windows meldet hier, dass ein unbekanntes Dateiformat erkannt wurde und bietet die Option des Formatierens an. Dieses auf keinen Fall ausführen, sonst ist die Installation wieder futsch. Einfach auf Abbrechen klicken.
Nun wird der Windows Explorer geöffnet. Hier findet man nun bei den Laufwerken die SD-Karte mit dem namen „boot“.
Diese nun bitte auswählen. In der Dateiliste befinden sich diverse Dateien des Betriebssystems hier legen wir nun ein neues Textdokument mit dem Namen ssh an wichtig ist, dass das .txt entfernt wird. Es muss einfach eine leere Datei mit dem namen ssh sein ohne Dateiendung. Windows wird auch hier wieder schimpfen und fragen, ob die Datei wirklich so umbenannt werden soll, was wir mit ja quittieren.
Nun sind aber wirklich alle Vorbereitungen abgeschlossen und der Pi kann das erste Mal in Betrieb genommen werden.
Hierfür einfach die Micro SD-Karte aus dem Adapter nehmen, sollte sie sich in einem befinden und vorsichtig ohne Gewalt in den entsprechenden Slot auf der Pi-Platine stecken.
Nun das Netzwerkkabel an den Pi anschließen. Mit dem Anschluss des Netzteils startet der Pi dann schließlich.
Jetzt müssen wir die IP-Adresse des Pi ermitteln. Hierzu einfach auf den Router einloggen und schauen welche IP der Raspberry Pi zugewiesen bekommen hat.
Nun benötigen wir einen SSH Client, um uns auf den Pi einloggen zu können. Ich nutze hierfür den Bitvise SSH Client.
Zum Einloggen wird die eben ermittelte IP des Pi genutzt. Der Login erfolgt dann mit dem Username Pi
und dem Passwort raspberry
.
Das Kennwort sollte man nach erfolgreichem Einrichten am besten mit dem Konsolenbefehl passwd
ändern.
Nun kommen wir zur eigentlichen Einrichtung des Pihole. Ich beschreibe hier den einfachsten und weitestgehend automatischen Weg. Linux Profis werden sicherlich andere Wege bevorzugen.
Zunächst gehen wir auf die Website von Pihole (https://pi-hole.net) und kopieren hier den Installationsbefehl
curl -sSL https://install.pi-hole.net | bash
Diesen geben wir nun in die Konsole ein und starten damit den Installationsvorgang. Nun gehen wir das Ganze mal Schritt für Schritt durch. Man kann prinzipiell nicht viel falsch machen.
Wurden alle benötigten Daten geladen, startet der blaue Einrichtungsassistent.
Wer hätte das gedacht, diese erste Seite bestätigen wir mit „Ok“. 😅
Die Navigation in den Menüs erfolgt mit den Pfeiltasten, zwischen eintelnen menügruppen springt man mit Tab und bestätigt wird mit Enter.
Möchte man Optionen an- bzw. abwählen nutzt man die Leertaste.
Das „Ok“ ist ja bereits ausgewählt, also schlichtweg Enter drücken.
Auf der nun folgenden Seite fragt der Installer, welches Netzwerk genutzt werden soll. Ich gehe mal davon aus, dass der Pi über Kabel angeschlossen wurde, daher wählen wir eth0
aus.
Anschließend navigieren wir auf „Ok“ und bestätigen mit Enter.
Nun fragt er nach dem DNS Provider. Der Pi selbst fungiert nach der Einrichtung als DNS Filter, er benötigt also noch einen externen DNS Provider, der ihm die Internetadressen liefert.
In der Regel hat jeder Telefonanbieter seine eigenen DNS Server. Diese lassen sich in der Regel im Router im Bereich des Internetzugangs finden. Möchte man an dieser Stelle infach nur schnell voran kommen, wählt man Google oder einen Anbieter seiner Wahl aus. In diesem Fall kann man die nächsten Schritte überspringen.
In den nächsten Schritten werde ich nun auf Basis einer Fritz!Box erklären, wie man die IP des eigenen Providers ermittelt und Eingibt.
Hierzu wählt man in oben zu sehendem Bild den Punkt Custom
aus und bestätigt mit Enter. Hat man hier einen vordefinierten Anbieter wie Google ausgewählt entfallen wie erwähnt die nächsten Schritte.
Anschließend logt man sich auf seinen Router (in diesen Beispiel eine Fritz!Box) ein.
Die Startseite sollte wie folgt aussehen.
Hier klickt man auf den Schriftzug „Internet“.
Unter „Genutzte DNS-Server“ findet man nun die Server des eigenen Providers. Man wechselt nun zurück auf den SSH Client und gibt beide IPs in das entsprechende Feld ein.
Getrennt werden die IPs durch ein Komma. bestätigt wird wieder über Ok. Leider habe ich für diesen Schritt den Screenshot vergessen anzufertigen.
Nun werden die IPs noch einmal zur Kontrolle angezeigt. Stimmen diese, bestätigen wir mit Yes, sollte ein Fehler vorliegen kann man über No noch einmal eingeben.
Nun werden diverse vordefinierte Sperrlisten angeboten, über die der Filter letztlich aktualisiert wird. Hier empfiehlt es sich alles so zu lassen wie es ist und über Ok zu bestätigen.
In der Regel basieren Heimnetzwerke auf IPv4, man kann also prinzipiell IPv6 abwählen. Tut man dies nicht, ist es auch kein Beinbruch, weshalb wir einfach nur mit Ok bestätigen.
Nun wird noch einmal die IP des Raspberry Pi angezeigt. Unter Gateway sollte die IP des Routers stehen.
Wir bestätigen mit Yes.
Um Einstellungen vorzunehmen und Statistiken einzusehen empfiehlt es sich das Webinterface zu installieren.
Wir bestätigen hier also mit Ok.
Das Webinterface ist quasi eine lokale Webseite, die zum Anzeigen einen kleinen lokalen Webserver benötigt.
Da ich mal davon ausgehe, dass keiner, der dieses Tutorial liest einen eigenen Webserver alternativ aufsetzen möchte, installieren wir einfach den vorgegebenen lighttpd mit. Also hier auf On belassen und mit Ok bestätigen.
Natürlich wollen wir später auch sehen, wie gut das Pihole arbeitet wollen wir die Anfragen auch in ein Logfile schreiben.
Daher belassen wir die folgende Option auch auf On und bestätigen wieder mit Ok.
Herzlichen Glückwunsch das Pihole ist eingerichtet.
Auf der Abschlussseite sehen wir noch die Adresse des Webinterface und das Passwort zum Login in das Webinterface.
Jetzt muss das PiHole nur noch als lokaler DNS Server auf dem Router angelegt werden. Hierzu bitte in den verlinkten Artikel am Anfang dieses Beitrags schauen.
Um die Funktion weiter zu garantieren sollten wir dem Router noch sagen, dass er dem Rasperbby Pi immer die selbe lokale IP zuweisen soll.
Dies wird bei einer Fritz!Box wie folgt gemacht.
Auf die Fritz!Box einwählen und die Rubrik „Heimnetz“ –> „Heimnetzübersicht“ auswählen.
Hier sollte der raspberry in der Liste auftauchen. Nun auf den Link „Details“ klicken.
Auf der folgenden Seite unter dem Feld „IP-Adresse“ den Haken bei „diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen“ setzen.
Nun ist die Einrichtung des Pihole wirklich komplett abgeschlossen.
Ich hoffe die Beschreibung war nun nicht zu sehr verwirrend. Ich werde sie sicherlich noch an der ein oder anderen Stelle ergänzen und optimieren.