Pi-hole auf einem Raspberry Pi einrichten

Pi-hole Webinterface

Screenshot Pi-hole Webinterface, kurz nach der Ersteinrichtung

Zum Testen, als Werbe- und Trackingblocker sowie – später – auch für netzwerkweiten Jugendschutz, habe ich mir heute Pi-hole® ins Heimnetz eingebaut. Wer’s nicht kennt: Pi-hole ist eine Software für den Einplatinencomputer Raspberry Pi, welche in Form eines DNS-Servers als Tracking- und Werbeblocker dient. Technisch werden dabei sämtliche Anfragen an Hostnamen bekannter Tracking- und Werbeplattformen abgefangen und ins Leere geleitet. Und dieses System lässt sich dann auch für beliebige andere Domains, etwa vor dem Hintergrund von Jugenschutz-Maßnahmen, erweitern. In diesem Artikel fasse ich nur kurz die vorgenommen Schritte für die Einrichtung des Raspberry Pis, von Pi-hole sowie die Anpassungen an die Netzwerkkonfiguration zusammen.

Meine Rahmenbedingungen

Als Router habe ich aktuell eine FRITZ!Box im Einsatz, welche auch als lokaler DNS-Server dient (Standardkonfiguration), der Raspberry ist ein Modell 3B, ich arbeite an einem Mac und hatte keine Möglichkeit Tastatur & Bildschirm direkt an den Raspberry Pi anzuschließen. Daher erfolgte die Einrichtung komplett Remote via SSH.

Schritt 1: Raspberry Pi OS (vormals Raspberian) installieren

Für die Installation des Betriebssystem Raspberry Pi OS, habe ich den offiziellen Raspberry Pi Imager verwendet, welcher auf der Raspberry-Website für Windows, MacOS und Ubuntu zum Download bereit steht. Der Raspberry Pi Imager kümmert sich auch um das Herunterladen des Raspberry-Pi-OS-Images, da muss man also vorab nichts weiter tun. MicroSD-Karte in den Rechner einstecken, Imager starten, Raspberry Pi OS auswählen und den „Write”-Button betätigen.

Schritt 2: SSH aktivieren

Nachdem der Raspberry Pi Imager die MicroSD-Karte beschrieben hat, wird diese automatisch ausgeworfen und der Imager zeigt an, dass die Karte entfernt werden kann. Das habe ich auch getan – allerdings gleich darauf wieder eingesteckt, um den SSH-Zugriff zu aktivieren. Hierzu muss lediglich eine (leere) Datei mit dem Namen „ssh” (ohne Dateiendung) im Root-Verzeichnis der MicroSD-Karte abgelegt werden (vgl. Dokumentation).
Damit ist die MicroSD-Karte jetzt vorbereitet und einsatzbereit.

Schritt 3: Raspberry Pi booten, IP-Adresse ermitteln

Die soeben präparierte MicroSD-Karte kommt nun in den Raspberry Pi, Netzwerk- und Stromkabel dran und etwas warten bis der Pi zuende gebootet hat. Nach spätestens einer Minute sollte das der Fall sein.
Nun muss die vom Router zugewiesene IP-Adresse ermittelt werden, um im nächsten Schritt via SSH auf den Raspberry Pi zu verbinden. Ich habe dazu die Oberfläche der FRITZ!Box genutzt – dort findet man unter dem Menüpunkt „Heimnetz” → „Netzwerk” eine Liste aller angemeldeter Geräte. In meinem Fall trug der Raspberry den Hostnamen „raspberrypi” (ich nehme an, das ist der Standard bei Raspberry Pi OS) und war somit leicht zu finden. Bei anderen Routern ist das möglicherweise unter einem anderen Menüpunkt aber prinzipiell sollte das immer irgendwo zu finden sein.

Schritt 4: Per SSH zum Raspberry verbinden

Nachdem nun die IP-Adresse des Raspberry Pi bekannt ist, kann im Terminal (MacOS / Linux) oder in der Eingabeaufforderung (Windows) via ssh pi@IPADRESSE verbunden werden – z.B. ssh pi@10.44.44.151. Das dann abgefragte Passwort ist standardmäßig raspberry.

Kurzer Hinweis: Der ssh-Befehl steht unter Windows erst seit Windows 10 zur Verfügung, für frühere Windows-Versionen (die man ohnehin nicht mehr benutzen sollte) benötigt man ein separates SSH-Tool wie PuTTY.

Schritt 5: Pi-hole® installieren

Einmal via SSH mit dem Raspberry Pi verbunden, gibt man nun curl -sSL https://install.pi-hole.net | bash ein (vgl. Installationsanweisung), um den Pi-hole-Installer herunter zu laden und auszuführen. Hier folgt man einfach den Anweisungen auf dem Bildschirm, die Standardeinstellungen können weitestgehend belassen werden (kann man alles später auch noch ändern).

Hier besonders wichtig:

  1. Während der Installation muss dem Raspberry Pi eine feste (statische) IP-Adresse zugewiesen werden – die wird nämlich später in der Router-Konfigration benötigt. Hier also am besten vorher nachschauen, welche IP-Adresse außerhalb des DHCP-Bereiches noch frei ist. Hat der Router beispielsweise die Adresse 10.44.44.1, dann könnte der Pi als zukünftiger DNS-Server die 10.44.44.2 bekommen.
  2. Am Ende des Installers wird das Passwort für das Webinterface angezeigt, also die für die von Pi-hole ausgelieferte „Website” auf der man später Einstellungen vornimmt, Statistiken ansieht etc. Unbedingt notieren!

Schritt 6: Raspberry Pi neu starten und testen

Da während der Installation die IP-Adresse geändert wurde – die Änderung aber erst nach dem nächsten Neustart des Raspberry Pi wirksam wird – muss dieser nun einmal neu gestartet werden. Ich bin mir nicht sicher, ob das der Installer am Ende selber gemacht hat – falls nicht wird das via sudo reboot im noch immer geöffneten Terminal-/Eingabeaufforderung-Fenster ausgelöst.

Anschließend sollte via http://IPADRESSE/admin – also z.B. http://10.44.44.2/admin – das Webinterface von Pi-hole aufgerufen werden können. Mit dem im Schritt 5 notierten Passwort, kann man sich nun bereits dort anmelden.

Schritt 7: Router konfigurieren (FRITZ!Box)

Nun muss der Router im Netzwerk so eingestellt werden, dass er per DHCP die Adresse des Raspberry Pi mit installierem Pi-hole an die Clients im Netzwerk übermittelt. In der FRITZ!box geht das unter „Heimnetz” → „Netzwerk” → „Netzwerkeinstellungen” → „IP-Adressen” und dann unter „IPv4-Adressen” bzw. „IPv6-Adressen”. Bei IPv4 muss in das Feld „Lokaler DNS-Server” jeweils die v4-Adresse des Raspberry eingetragen werden – also beispielsweise 10.44.44.2 wenn wir beim o.g. Beispiel bleiben.

Bei IPv6 ist es allerdings etwas komplizierter: Da werden nämlich normalerweise keine statischen Adressen vergeben, sondern die Clients generieren die v6-Adressen selber aus einem vom Provider vorgegebenen Präfix. In der FRITZ!Box kann man aber auf s.g. „Unique local address”, kurz ULA, umstellen – dann bestimmt der Router den Präfix für lokale (!) v6-Adressen. Wie man das Schritt für Schritt in der FRITZ!Box und im Pi-hole einstellt, beschreibt sehr anschaulich dieser Artikel: Pi-Hole – IPv6 und die Fritz!Box.
Executive summary: Man sagt der FRITZ!Box, dass Sie ULAs erzwingen und welchen Präfix sie dafür verwenden soll; dann schaut man auf dem Raspberry nach, welche Adresse er (nach einem Reboot) bekommen hat und trägt diese sowohl in der Konfigurationsdatei von Pi-hole als auch in der FRITZ!Box als IPv6-DNS-Server fest. Und dann sagt man der FRITZ!Box noch, dass Sie im v6-Netz per DHCP nur den DNS-Server bekanntgeben soll.

ULAs sind zwar eigentlich nicht so geil (weil dann wieder NAT stattfinden muss) aber verhindern, dass sich die v6-Adresse des Raspberry Pis ändert wenn der Provider seinen Präfix ändert. Somit erzeugt man quasi, wenn ich es richtig verstanden habe, etwas mit statischen IPv4-Adressen Vergleichbares in IPv6.

Auf anderen Routern ist das etwas anders aber auch dort sollte man (hoffentlich) die entsprechenden Einstellmöglichkeiten finden.

Schritt 8: Testen

Nachdem jetzt alles vorbereitet ist, geht es ans Testen. Dazu am besten mal einen Test-Rechner im Netz kurz offline schalten (oder den DHCP-Lease erneuern), damit dieser die geänderten Daten vom Router zugespielt bekommt. Danach einfach mal eine werbe- und trackinglastige Website aufrufen (da eignen sich insbesondere Websites von Zeitungen) und schauen, ob im Webinterface von Pi-hole Anfragen aufgezeichnet (und geblockt) werden.

Schritt 9: Standard-SSH-Passwort des Raspberry Pi ändern

Da die Standard-SSH-Zugangsdaten für Raspberry Pi natürlich ein Sicherheitsrisiko darstellen, sollte zumindest das Passwort noch geändert werden. Dazu wieder per SSH verbinden (siehe Schritt 4, jedoch jetzt mit der neuen IP-Adresse) und mit dem Befehl passwd ein neues Passwort vergeben.

Schritt 10: Netzinterne Privatsphäre verbessern

Da Pi-hole in der Grundkonfiguration jede Anfrage von jedem Client loggt – inkl. des angefragten Hostnamens – sollten noch ein paar Privatsphäre-Anpassungen vorgenommen werden. Schließlich soll Pi-hole nicht der Überwachung sondern dem Schutz dienen.
Hier habe ich zum einem im Webinterface von Pi-hole unter „Settings” → „Privacy” das „DNS resolver privacy level” auf „Hide domains: Display and store all domains as „hidden“” eingestellt. Damit werden zwar noch die Clients geloggt (was ich sinnvoll finde, um zu schauen welche Geräte z.B. auch während der Nacht und in meiner Abwesenheit im Netz aktiv sind) ABER nicht mehr, welche Hostnamen / Domains sie abfragen. Diese Einstellung hat allerdings nur Einfluss auf das Webinterface, auf Dateiebene loggt Pi-hole weiterhin sämtliche Anfragen nach /var/log/pihole.log. Aber auch das lässt sich abschalten – und zwar wieder per SSH mit folgendem Befehl: sudo pihole logging off

Eine Nebenwirkung

Da nun Pi-hole als DNS-Server im Netz fungiert und nicht mehr der Router – ist dieser nicht mehr über seinen früheren Hostnamen erreichbar (also z.B. fritz.box oder speedport.ip). Das lässt sich aber beheben: Hierzu loggt man sich in das Webinterface von Pi-hole ein (http://IPADRESSE/admin) und setzt unter „Local DNS Records” den entsprechenden Eintrag manuell neu. In meinem Bespiel kommt da also ins Feld „Domain” fritz.box und ins Feld „IP Adress” die IP-Adresse des Routers, hier beispielhaft die 10.44.44.1.

Jugenschutz mit Pi-hole

Ich hatte ja eingangs geschrieben, dass ich die Pi-hole-Installation auch für Jugenschutz-Maßnahmen in meinem Heimnetz nutzen möchte. Aktuell habe ich die dafür nötigen Erweiterungen noch nicht vorgenommen, da meine Kids eh noch nicht allein im Netz unterwegs sind. Aber mit Pi-hole ist die Basis für entsprechende Inhalte-Einschränkungen vorhanden – dieses Youtube-Video von Sempervideo erklärt, wie man das macht. Allerdings, das möchte ich nicht unerwähnt lassen, ist das natürlich kein wirksamer Schutz bzw. keine wirksame Sperre für technisch affine Kids, da man den per DHCP vom Router benannten DNS-Server (den Raspberry Pi mit Pi-hole) mittels manuellen Eintrag in den Netzwerkeinstellungen des Endgerätes übergehen kann. Aber eine Zeit lang wird das vermutlich reichen.

Fazit

Da der Raspberry Pi mit Pi-hole erst neu in meinem Netzwerk ist, kann ich noch nicht sagen wie gut oder wie schlecht das alles im Alltag funktioniert. Was die technische Basis angeht, so mache ich mir da wenig Sorgen. Aber ich kann mir vorstellen, dass werbefinanzierte Websites und Apps solche Eingriffe in deren Monetarisierungsstrategie nicht gut finden und ihren Dienst versagen. Sites und Apps die mir wichtig sind, kann ich dann jedoch in Pi-hole manuell auf die Whitelist setzen. Wie sehr das im Alltag nervt, wird sich zeigen.

Die Installation des Raspberry Pi OS und der Pi-hole Software hat jedoch problemlos funktioniert, der Pi ist stromsparend und günstig zu haben – von daher auf jeden Fall meine Empfehlung.

34 Kommentare Schreibe einen Kommentar

  1. Vorschlag für Schritt 7 für IPv6
    Statt auf ULA umzustellen kann ruhig der Präfix der Providers weiter genutzt werden.
    Man verwendet statt der globalen IPv6 Adresse der FritzBox die LinkLocal Adresse beginnend mit fe80::

    • Hallo Ralf,

      vielen Dank für Deinen Kommentar und den damit verbundenen Vorschlag!
      Das wäre tatsächlich die elegantere Lösung aber ich hatte bei der Recherche zu diesem Thema, gelesen dass man die Link-Local-Adressen lieber nicht verwenden sollte da sich diese – in Abhängigkeit von Betriebsystem- bzw. Treiber-Version auch mal ändern können, also nicht „unique“ sind. Hast Du dazu nähere Kenntnisse?

      Beste Grüße
      André

  2. Hallo und Danke für deine Anleitung/ HowTo.

    Kann man im Heimischen Netzwerk Geräte am PiHole vorbei an der Fritzbox weiterlaufen lassen.
    Beispiel.
    MacBook soll direkt/ ganz normal über die Fritzbox in das WWW.
    Der SmartTV über die PiHole.
    ?

    Danke.

    • Hallo Thomas,

      Du könntest am MacBook den DNS-Server manuell festlegen und dort die IP-Adresse der Fitzbox angeben. Das wird natürlich zu Problemen führen, wenn Dein MacBook mal in einem anderen Netz ist.

      Wenn es Dir nur darum geht, dass das MacBook das ungefilterte Internet erhält, ist es komfortabler das Gerät in Pihole von der Filterung auszuschließen. Hab’s jetzt gerade nicht vor mir aber das geht dort jedenfalls.

      Beste Grüße
      André

  3. Hey, Danke für den Blogbeitrag!

    Ich habe versucht hiermit alles einzurichten, allerdings sind bei mir an ein paar Stellen Probleme aufgetreten.

    Ich habe einen RPi3b+ und mein Router ist der Technicolor 7200u.
    Gibt es einen Trick um den Pi eine statische IP zu geben? Muss das im Router geschehen oder in den Netzwerkeinstellungen des Pi? Kann es sein, dass nicht jeder Router in der Lage ist die hier benötigten Einstellungen vor zu nehmen?
    Bin bereits am überlegen mir einen neuen zu besorgen und nicht das Standard Unitymedia-Ding zu verwenden.

    Beste Grüße,
    Sam

    • Hallo Sam,

      normalerweise wird bei der Installation von Pi-hole nach der IP-Adresse gefragt. War bei mir zumindest so. Wenn Du diesen Schritt verpasst hast, kann man aber wohl via SSH mit dem Befehl pihole -r eine Neukonfiguration vornehmen. Habe ich allerdings nicht getestet. Bei manchen Routern – etwa in einer Fritzbox – kann man auch die automatische Vergabe von IP-Adressen an Geräte per DHCP so konfigurieren, dass Gerät X immer die gleiche IP-Adresse bekommt. Dann hat man, solange der Router nicht getauscht wird, quasi eine statische IP-Adresse ohne sie im Endgerät selbst zu konfigurieren.

      Was die DNS-Einstellung im Router angeht, so ist es tatsächlich möglich dass das bei Dir nicht einstellbar ist. Ich kenne den Technicolor 7200u nicht aber gerade die vom Provider bereitgestellten Geräte sind häufig limitiert. Laut diesem Forum-Thread scheint es aber wohl doch zu gehen (Grundeinstellungen –> Lokales Netzwerk)

      Beste Grüße
      André

    • Hi. Falls Du das Raspian-OS oder das Raspian-Lite verwendest, kannst Du die IP-Vergabe dort auf statisch setzen. Somit bekommt der Raspi immer die selbe Adresse, egal, was Dein Router meint.

      sudo nano /etc/dhcpcd.conf

      Dort am Ende der Datei folgendes eintragen. Die IP-Adresse(n) mit Deinen Werten ersetzen:

      interface eth0
      static ip_address=192.168.1.104/24
      static routers=192.168.1.1
      static domain_name_servers=192.168.1.1 8.8.4.4

      Zum Beenden einfach STRG-x, y, Enter. Anschließend Raspi neu starten.

      Zur Erklärung:

      interface=Name des Netzwerkanschlusses (beim Raspi ist der originale RJ45-Netzwerkanschluss eth0)
      static ip_address=Die gewünschte IP-Adresse mit angegebener Netzwerkmaske (255.255.255.0 entspricht /24)
      static routers=z.B. die IP der FritzBox, oder wie in meinem Fall, des USG
      static domain_name_servers=Ip der FritzBox oder oder wie in meinem Fall, des USG und nach dem Leerzeichen eine DNS von Google (auch z.B. 8.8.8.8 [auch Google] oder 1.1.1.1 [Cloudflare], oder Deine eigene DNS-Vorliebe möglich)

  4. Hallo,
    folgende Fragen kamen bei mir durch deine tolle Anleitung auf:
    Schritt 2: SSH aktivieren

    “ Hierzu muss lediglich eine (leere) Datei mit dem Namen „ssh” im Root-Verzeichnis der MicroSD-Karte abgelegt werden“ – was für eine leere Datei? ssh.txt?
    – Ich meine es muss auf der Boot-Partition einfach nur eine Datei ohne Endung sein, also z.B. nur: ssh (unter Ubuntu im Dateimanager: Datei>Dokument anlegen)
    Vielleicht könntest Du das noch in Deiner tollen Anleitung ergänzen.

  5. Hi,
    vielen Dank für Deine suuuper Anleitung!
    Eine Bitte noch: Wenn ich das richtig sehe, ist es notwendig Pi-hole regelmäßig zu aktualisieren. Wie machst Du das?

    • Pi Hole zeigt dir an ob es eine neue Version gibt. Dann kannst du das über Phiole -up durchführen. Die Blocklist(en) kannst du im Webinterface über Tools – Update Gravity aktualisieren.

  6. Ich habe zwei Fragen (Probleme):
    – nach der Installation des Systems auf der SD-Karte sehe ich keine boot-partition. SSH einfach in das home-verzeichnis installieren oder in das overlays?
    – wie komme ich denn anschließend per ssh von einem anderen Rechner ins rasberry. Das Ding muss doch erstmal fürs wlan konfiguriert sein, also irgendwas muss doch in die config.txt händisch eingepflegt werden, oder? Gibt es da eine Anleitung zu?

    • Hallo Micha,

      ich kann auf meiner SD-Karte leider gerade nicht nachschauen (da die in Betrieb ist) aber laut Dokumentation, Punkt 3, sollte es nach der Installation auf einer leeren SD-Karte, nach dem Auswerfen und Neu-Einstecken in einen anderen Rechner, zwei Partitionen geben – wobei die kleinere die Boot-Partition ist. Dort muss die leere „ssh“ Datei hin. Ich kann mich leider jetzt nicht mehr daran erinnern, ob ich „damals“ darauf geachtet habe oder ob ich die „ssh“-Datei einfach auf die einzige mir angezeigte Partition gelegt habe. Kommt auf jeden Fall ins root Verzeichnis, nichts User-home.

      Was Deine zweite Frage angeht: In meinem Fall hängt der Pi am LAN-Kabel und ich würde das auch für den Betrieb als DNS-Server mit Pi-Hole empfehlen (DNS-Anfragen sollten ja möglichst zuverlässig und flink beantwortet werden und für diesen Zweck halte ich WLAN für ungeeignet). Somit war der Pi bei mir via DHCP direkt nach dem Verkabeln im Netzwerk und ich musste nur im Router die zugewiesene IP raussuchen (siehe Schritt 3 im Artikel). Somit kann ich leider zu WLAN keine Angabe aus eigener Erfahrung machen. Laut der Dokumentation zu WLAN kann man WLAN über die Kommandozeile konfigurieren aber dafür musst Du ja wiederum erstmal per SSH auf den Pi. Somit wirst Du vermutlich nicht darum kommen, den Pi zumindest vorübergehend mal ans Kabel zu hängen.

      Beste Grüße
      André

      • danke. ich bin übrigens ein anderer Micha.
        Es hat geklappt mit ssh in der einzigen Partition zu erstellen (aber der trick wäre wohl auch mit dem Stecken der sd-Karte in einen anderen Rechner möglich).
        Ich habe in den weiten des webs noch eine Anleitung gefunden, wie man einfach in einer config-Datei tatsächlich seine wifi-Daten eingibt und die Verbindung zum Router tatsächlich hergestellt wird. Ob es gut funktioniert, werde ich sehen, sonst geht er an den LAN mit Verbindungskabel.

  7. habe ein Debain mit Pi-Hole via Hyper-V, auf Windows Server laufen.
    Von einem PC aus dem LAN komme ich auf die Weboberfläche des Pihole.
    Aber sobald ich die IP des Pihole als DNS eintrage, bekomm ich keine einzige Seite mehr auf, nicht mal welche von der Whitelist.
    PIhole läuft ohne DHCP, da dieser Job bei der FritzBox bleiben soll. Denn wenn ich meinem Magenta-TV den DNS verdrehe, geht da auch nix mehr.
    Also möchte ich an den Geräten selber die IP des PiHole als DNS eintragen.
    Muss ich da noch Ports des Servers, auf dem er Hyper-V läuft so freigeben, da der PIHole erreichbar wird? Oder was kann das sein bitte?

    • Hallo Maxem,

      schwerz zu sagen, was da genau das Problem ist. Es könnte sein, dass via Hyper-V die für DNS zuständigen Ports (UDP 53 / TCP 53) nicht erreichbar sind und daher Pi-hole keine Namensauflösung machen kann. Hier könntst Du mal mit einem Tool – etwa der App „Fing“ – prüfen ob der Port 53 offen ist.

      Vielleicht auch mal checken: Im Webinterface des Pi-hole kannst Du unter dem Menüpunkt „Query Log“ alle an den Pi-hole gesendeten DNS-Anfragen sehen. Schau da mal nach, ob überhaupt Anfragen von den Clients rein kommen. Falls nicht, wäre das ein Indiz dafür, dass der zuständige Port nicht offen ist und die DNS-Anfragen somit Pi-hole garnicht erreichen.

      Außerdem könntest Du auf dem Pi-hole Webinterface ünter „Settings“ –> „DNS“ prüfen, ob da ein Dienst für die Namensauflösung aktiviert ist (z.B. Cloudflare oder Google). Pi-hole muss ja seinerseits Informationen für die Namensauflösung von einem „echten“ DNS-Server abfragen. Wenn Du keinen der dort vorkonfigurierten und zur Auswahl stehenden Dienste nutzen möchtest, kannst Du auch unter „Custom“ die IP Deiner FritzBox eingeben – dann holt sich der Pi die Namensauflösung von dort (nachdem er Werbung & Tracking gefiltert hat) und die FritzBox wiederum frag beim DNS Deines Providers nach (Telekom, vermute ich mal).

      Beste Grüße
      André

  8. Hallo,
    ich bin neu und möchte mich zuerst einmal für die wirklich tolle Anleitung bedanken.
    Ich habe leider nur wenig Ahnung von der Technik, aber ich dachte, da kann man ja kaum was falsch machen :-)
    Hab mir die Sachen besorgt und habe den Raspi tatsächlich zum Laufen gebracht, Pi-hole ist ebenfalls installiert. Nun komme ich nicht mehr weiter, da mich einige Dinge etwas verwirren.
    Bei mir hat der Pi eine IP-Adresse vom Router via DHCP erhalten, über diese IP kann ich ihn auch jederzeit aufrufen. Unklar ist, welche IP ich für den DNS-Server vergeben muss und wie?
    Ich bin für jede Hilfe dankbar, aber vielleicht bin ich (72) einfach schon zu alt für den Pi :-)

    Freundliche Grüße
    René

    • Hallo René,

      zunächst einmal meine Hochachtung bezüglich Deines Interesse für das Thema mit 72! Bemerkenswert und beeindruckend.

      Nun zu Deiner Frage: Für die Nutzung des Pi-hole als DNS-Server ist es sehr wichtig, dass dieser eine feste IP-Adresse hat und nicht „aller naselang“ vom Router ein neue Adresse zugewiesen bekommt. Während der Installation von Pi-hole kann man direkt eine feste, statische, IP-Adresse vergeben (siehe Schritt 5 der Anleitung im Artikel). Wenn Du diesen Punkt verpasst hast, lässt sich das aber auch noch nachträglich korrigieren:

      Hierzu verbindest Du Dich zunächst wieder per SSH mit dem Raspi (unter Verwendung der IP-Adresse, die vom Router vergeben wurde). Einmal eingeloggt kannst Du die Konfiguration des Pi-holes mit dem Befehl pihole -r erneut ausführen und Änderungen an den Einstellungen vornehmen. Dort sollte auch die Option zur Vergabe einer neuen, statischen IP-Adresse auftauchen. Da der DNS-Server eine zentrale Rolle im Netzwerk spielt, würde ich ihm eine Adresse in der Nähe des Routers geben. Wenn Dein Router beispielsweise die IP 192.168.1.1 nutzt, könnte der Raspi mit Pi-hole die 192.168.1.2 bekommen. Die Adressen hängen natürlich von Deiner Netzwerkonfiguration ab und können daher einem anderen Schema folgen – aber ich hoffe mein Punkt wird klar.

      Wenn das erledigt ist und der Raspi auf der neu zugewiesenen statischen IP-Adresse antwort, geht es an die Konfiguartion des Routers. Dieser Schritt ist allerdings abhängig von Deinem Router. In Schritt 7 der Anleitung habe ich das für eine Fritz!Box beschrieben aber bei anderen Routern ist das komplett anders und manche Router erlauben die Änderung der DNS-Einstellung auch garnicht. Da googelst Du am bestem mal konkret nach Deinem Router und einer Anleitung, wie man den DNS-Server dort ändert.

      Wenn es Dir allerdings nur darum geht, beispielsweise Deinen Büro- oder Hobby-PC gegen Werbung zu schützen – es Dir bei anderem Geräten in Deinem Netzwerk aber egal ist – könntest Du den DNS-Server auch dort, direkt an diesem PC, in den Netzwerkeinstellungen ändern. Wie das unter Windows geht, beschreibt z.B. dieser Artikel hier bei der Chip. Dort trägst Du dann als „Bevorzugter DNS“ die IP-Adresse des Raspi ein („Alternativer DNS“ lässt Du leer).

      Ich hoffe das hilft Dir etwas weiter – wenn nicht, melde Dich gern noch mal.
      Beste Grüße
      André

  9. Hi André,

    besten Dank für die schnelle Antwort! Gestern habe ich durch „probieren“ herausgefunden,
    wie es funktioniert :-) Ich benutze einen LTE Router (CPE 3), vom Provider Telenor (Hungary).
    Dort gibt es einen Reiter „Geräte“ und hier war der „pi.hole“ mi IP-Adresse eingetragen.
    Den DNS Server kann man dort ebenfalls auswählen, (standard=Router IP). Nach der Änderung auf die IP vom pi.hole ging jedoch überhaupt nix mehr. Meine Frau hat natürlich sofort reklamiert „kein Netz“ ;-( Also dachte ich mir, ich mache es so wie du im letzten Absatz beschrieben hast, und habe den DNS nur bei den Endgeräten auf die IP vom pi.hole umgestellt. Nun funktioniert es, allerdings noch nicht bei den Smartphones, da ich noch nicht herausgefunden habe, wo das Problem liegt, wenn ich den DNS im LTE-Router ändere.
    SSH funktioniert ebenfalls, so komme ich via Windows10 immer auf die Konsole vom Pi.
    Vielleicht fällt dir lieber André ja noch was ein, sonst muss ich erstmal damit leben :-)

    Freundliche Grüße aus Hungary

    René

    • Hallo René,

      ich konnte leider über den „CPE 3“ Router nichts finden – von daher ist es schwierig zu sagen, woran es liegt.
      Mutmaßung: Die Information, welchen DNS-Server verbundene Endgeräte benutzen sollen, verteilt ja der Router über DHCP. Nun könnte es sein, das nach der Umstellung des DNS-Servers im Router dieser nicht automatisch allen Clients (z.B. den Smartphones) die neuen Infos mitteilt. Dementsprechend hätten bereits verbundene Endgeräte zunächst noch die Information, dass Sie den Router für DNS-Anfragen bemühen sollen. Mit der Umstellung der Router-Konfiguration für den DNS-Server auf eine externe IP (die des Pi-hole-Rapi), deaktiviert möglicherweise der Router seinen eigenen DNS-Dienst und dann würden eben diese Geräte – die bereits verbunden waren und noch keine neuen Informationen zugespielt bekommen haben – keine DNS-Namensauflösung mehr ausführen können. In diesem Fall müssten Adressen, für die keine Namensauflösung nötig ist (z.B. http://1.1.1.1) noch funktionieren, während z.b. https://google.com fehlschlägt.
      Eine mögliche Lösung könnte hier sein, das Endgerät zu trennen und neu zu verbinden – etwa durch An- und Abschalten des Flugmodus oder durch einen Neustart. Oder durch Erneuern des s.g. DHCP-Lease im Router, falls Du eine entsprechende Option findest.

      Du siehst: Könnte, möglicherweise, eventuell. Ist echt schwer zu sagen, woran es hier im Einzelfall liegt. Grundlegend klingt das alles so korrekt wie Du es beschreibst aber der Fehlerteufel schlummert manchmal eben in kleinen Details.

      Je nach Smartphone kannst Du übrigens auch sehen, welchen DNS-Server der Router per DHCP bekannt gegeben hat. Unter iOS auf iPhones und iPad findest Du diese Information beispielsweise unter Einstellungen –> WLAN –> [Dein Netzwerkname] –> runter scrollen bis DNS und dann auf „DNS konfigurieren (Automatisch)“ tippen. Im darauf folgenden Bildschirm siehst Du dann die IP-Adresse des per DHCP annoncierten DNS-Servers – da sollte die IP des Raspi stehen.
      Unter Android gibt es sicher eine ähnliche Methode das einzusehen, in Ermangelung eines Android-Gerätes kann ich Dir das aber nicht im Detail beschreiben. Zudem variiert das unter Android immer ein bisschen von Hersteller zu Hersteller.

      Beste Grüße
      André

  10. Hallo André,

    besten Dank für Deine Hilfe, was die möglichen Fehlerursachen betrifft. Der CPE 3 Router ist baugleich mit dem „HUAWEI-b535-4G 3-pro“ (siehe Link).
    https://maxwireless.de/2020/test-huawei-b535-4g-router-3-pro/
    Vielleicht war ich auch zu ungeduldig und hätte noch etwas warten sollen, bis die Endgeräte die neue DNS-Server Info erhalten haben. Werde nochmal spät abends versuchen den DNS zu ändern, vieleicht geht´s dann am nächsten Morgen :-)

    Beste Grüße

    René

    • Hallo René,

      interessant: Bei einigen (oder allen?) Routern dieser Baureihe scheint die Einstellung der zu verwendenden DNS-Server in der Benutzeroberfläche versteckt zu sein. Dafür gibt es eigentlich Eingabefelder unter Router –> DHCP aber diese sind ausgeblendet und lassen sich nur durch einen Trick wieder anzeigen: Link 1 (mit Screenshots) | Link 2 (mit Video). Das wäre ja echt schräg.
      Waren die Eingabefelder bei Dir sichtbar?

      Beste Grüße
      André

  11. Hallo André,

    gestern Abend habe ich nochmal versucht, den DNS auf die IP vom pi.hole umzustellen.
    Bei meinem Router ist dies unter der Rubrik „Ethernet-Einstellungen“ auch etwas versteckt.
    Heute Morgen dann die Überraschung: Das Internet funktioniert bei allen Geräten !!
    Allerdings bin ich noch nicht sicher, ob nun auch die Smartphones werbefrei sind, da ich
    beim pi.hole unter Tools/Network die IP-Adressen der besagten Smartphones in der „grünen“
    Liste leider nicht finden kann. Alle Geräte im LAN werden sind aber mit IP dort eingetragen.
    Mein IP-Scanner findet aber die beiden Smartphones im WLAN sofort.
    Oder mache ich da evtl. einen Denkfehler :-)

    Beste Grüße
    René

    • Hallo René,

      eigentlich sollten alle Geräte die DNS-Anfragen senden im „Query log“ im Pi-Hole auftauchen. Es sei denn die Geräte nutzen einen anderen DNS-Server.
      Allerdings gibt es auf den Geräten selbst auch einen DNS-Cache, damit nicht ständig häufig genutzte Domainnamen erneut in IP-Adressen gewandet werden müssen. Du müsstest das also mal probehalber auf dem Smartphone eine werbelastige Website öffnen, auf der Du zuvor länger nicht warst und dann die Anzeige im Pi-hole beobachten. Bereits auf dem „Dashboard“ müsstest Du dann deutliche Ausschläge bei den „Queries Blocked“ sehen.

      Beste Grüße
      André

  12. Hallo André,

    den „Query log“ habe ich eigentlich nicht gemeint, sondern in der „Netzwerkübersicht“ !
    (unter „Tools/ Network“) dort sind nur die Geräte vom LAN gelistet, aber nicht die vom WLAN !

    Beste Grüße
    René

    • Stimmt – dort müssen die WLAN-Geräte auch auftauchen. In meinem Fall stehen dort jedenfalls sämtliche am Netzwerk beteiligten Geräte drin – auch Smartspeaker, Stereoanlage, Fernseher & Co.
      Schau doch mal in den Netzwerkeinstellungen eines WLAN-Gerätes nach, welchen DNS-Server es per DHCP zugewiesen bekommen hat. Vielleicht gibt Dein Rounter im WLAN andere Daten per DHCP raus als im kabelgebundenen Netz. Wäre untypisch und äußerst seltsam aber man weiß ja nie.
      Wird denn das WLAN überhaupt vom CPE 3 Router aufgespannt oder hast vielleicht einen AccessPoint o.ä. im Einsatz, der ggf. selbst noch mal DHCP macht?

      • Ja, genau das hatte ich mir so vorgestellt, alle Geräte dort logischerweise wiederzufinden und
        nein, einen AP gibt es nicht, nur noch einen Repeater und DHCP macht nur der CPE 3 Router.
        Ich habe auch keine Erklärung, aber manchmal sieht man den Wald vor lauter Bäumen nicht :-)
        Was ich noch fragen wollte: Du benutzt in der Anleitung oben Class B IP-Adressen (10.x.x.x.).
        Gibt es dafür einen besonderen Grund bzw. Vorteil im Vergleich zu Class C (192.x.x.x) ?

        Beste Grüße
        René

        • Hallo René,

          die Nutzung der 10.44.44.0/24-Adressen als Beispiele im Artikel hat keinen besonderen Grund. Die habe ich nur wegen der, aus meiner Sicht, besseren Lesbarkeit gegenüber den sonst oft genutzen 192.168.2.0/24-Adressen gewählt.

          Beste Grüße
          André

  13. Hi André,

    gestern habe ich mal ein Experiment versucht und den pi.hole als DHCP Server eingerichtet.
    Die „Range“ habe ich bewusst von 15-50 gewählt und die „lease Time“ habe ich testweise mal auf1 Std. eingestellt um relativ schnell ein Ergebniss zu bekommen. Beim CPE 3 hab ich DHCP natürlich deaktiviert.
    Du wirst es nicht glauben, aber nun sind alle Endgeräte in der besagten „grünen“ Liste, auch die beiden Smartphones. Eine Sache ist mir jedoch immer noch unbegreiflich, weil immer noch IP-Adressen im Bereich > 50 vergeben werden, obwohl sich „kein“ weiterer DHCP Server in meinem Netz befindet ??? Irgendwie hat das NW ein gewisses Eigenleben entwickelt :-)

    Beste Grüße
    René

Schreibe einen Kommentar

Personenbezogene Daten interessieren mich nicht – daher ist die Angabe von Name und E-Mail-Adresse freiwillig. Jedoch wird jeder Kommentar von mir geprüft, bevor er freigeschalten wird.