Pi-hole | Werbeblocker für das Heimnetz auf dem Raspberry Pi

  • Und das ist er ja auch, bei mir scheint er aber nicht mehr wirklich was zu machen, nachdem Update von 5 auf eben das aktuelle und Marc hat das "Problem" dass er nicht alle Clients einzeln sieht.

    Also ich sehe jeder meiner Geräte, einige Homekit Geräte reden aber nicht mit dem Internet, somit tauchen sie nicht auf. Sie tauchen auch nicht auf, wenn sie direkt zu IP,s reden.

  • Und wie ist der PiHole eingestellt? DHCP Server am Pi oder am Router oder gar manuelle IP Vergabe an allen Clienten? Deine Informationen sind ziemlich dürftig, dass bei dir wohl alle Clienten angezeigt werden hilft nicht wirklich weiter, solange nur du weißt wie es eingestellt ist bei dir.

    homebridge v1.x on macOS


    Plugins:

    homebridge-delay-switch ; homebridge-fakebulb ; homebridge-fritz ; homebridge-harmony ; homebridge-hue ; homebridge-people ; homebridge-synology ; homebridge-weather-plus

  • DHCP Server am Pi oder am Router oder gar manuelle IP Vergabe an allen Clienten?

    Der Pi-Hole übernimmt den DHCP, wie schon gesagt, das Interface finde ich um einiges besser. Einige IPs sind aber auch statisch vergeben.

    Wie schon weiter oben einmal erklärt:Kein Gerät hat ein eigenen DNS eingetragen, das läuft alles über die FritzBox, diese leitet alle Anfragen an den Pi-Hole weiter, auf diesem läuft auch Ubound; so das anschließend nur die wenigen passenden, untergeordneten Nameserver direkt abgerufen werden.


    Wobei der DHCP ja mit dieser Geschichte überhaupt nichts zu tun hat, denn der ist nur ein Zusatz. Aufgelistet werden in der Pi-Hole Weboberfläche nur DNS anfragen.

  • Ich habe pihole als dhcpd[1] laufen, aber nicht, weil das irgendwas besser macht, sondern weil ich es kann. Ich bin beruflich seit 30 Jahren Netzwerk-Admin und verwende seit fast 25 Jahren Linux als Basis aller Server, mit denen ich arbeite. Ich weiß also, was ich tue. Zumindest meist. Was nicht verhindert hat, dass ich mir neulich mein Netz so zerschossen hab, dass ich im Strahl hätte k... ok, lassen wir das.


    Auch das letzte pihole-Update hat mich durch eigene Blödheit sehr beschäftigt. Ich will damit sagen: am DHCP-Mechanismus herumzuspielen kann zu unschönen Effekten führen. Zwar ist es einfach, erst den dhcpd auf dem Router zu deaktivieren und danach den pihole-dhcpd zu aktivieren und das funktioniert auch ganz simpel. Trotzdem kann der dhcpd auf dem Raspi auch einfach ausfallen, beispielsweise nach einem fehlerhaften Update von pihole. Oder wenn der Raspi die Fliege macht. Danach bekommt keine der Maschinen im Netz mehr eine IP-Adresse zugewiesen, was sich ganz unterschiedlich äußern kann.


    Alle Geräte werden nach Ablauf der lease time (meist 24 Stunden) den dhcpd erneut nach Netzwerk-Informationen fragen. Wenn sie dann keine Antwort bekommen, werden viele sich selbst eine IP-Adresse zuteilen. Diese selbst zugeteilte IP-Adresse befindet sich dann außerhalb des normalen Netzwerks, was dazu führt, dass sie nicht mehr erreicht werden können. Und das passiert nicht etwa gleichzeitig. Das passiert im Laufe von 24 Stunden. Andere Geräte werden möglicherweise die IP-Adresse behalten, die sie hatten.


    Das Chaos ist dann perfekt. Wer also pihole als dhcpd verwenden will, sollte verstehen, wie ein dhcpd funktioniert, damit er im Zweifel eingreifen kann.


    Wer pihole als dhcpd einsetzen will, sollte noch wissen, dass alle anderen dhcpd im Netz abgeschaltet werden müssen. Es kann immer nur einen dhcpd im Netz geben.


    [1] Ich nenne den DHCP-Server dhcpd. Das kleine d am Ende steht für Daemon. Ein Daemon ist ein Programm, dass einen Port öffnet, und ein Programm, das einen Port öffnet ist ein Server. Man findet dieses kleine d häufig im Namen eines Server-Prozesses (Webserver = httpd, Mailserver gelegentlich = smptd, FTP-Server = ftpd, SSH-Server = sshd), aber nicht immer. So heißt die Homebridge beispielsweise nicht homebrided, was ja auch prompt jeder falsch aussprechen würde ^^)

  • Gut das trifft aber alles auf jedes Gerät zu und jeden DHCP. Wenn der Pi die Grätsche macht, kann man aber leicht die Karte in einen neuen Stecken und alles läuft es wieder wie gehabt(Natürlich kann auch die Karte oder die Software darauf einen Fehler haben, dafür gibt es aber Backups). Finde ich gegenüber der Fritz einen Vorteil.

  • so ein Script könnte ich noch prima für den Pihole gebrauchen. Kennt da jemand was?

    Ich nicht. Ich habe das auf einen Homebridge-Schalter gelegt. Vielleicht helfen die die folgenden Zeilen, daraus selbst ein Javascript-Widget zu erstellen.


    Du kannst pihole per URL mit enable aktivieren und mit disable deaktivieren. Der Aufruf sieht so aus:


    Einschalten:

    http://pi.hole:81/admin/api.ph…86e1a221b22e37dad157df7f8


    Ausschalten:

    http://pi.hole:81/admin/api.ph…86e1a221b22e37dad157df7f8


    Den aktuellen Status anzeigen:

    http://pi.hole:81/admin/api.ph…86e1a221b22e37dad157df7f8
    (Ergibt als Antwort entweder {"status":"enabled"} oder {"status":"disabled"}.


    Dabei bedeuten:

    • pi.hole:81: Die IP-Adresse und der Port des Rechners auf dem dem pihole läuft. Bei den meisten Anwendern sollte das entweder nur pi.hole sein (ohne :port) oder eine IP-Adresse wie 192.168.178.22 (ohne :port). Also so was wie http://192.168.178.22/admin/api.php? …
    • enable: pihole aktivieren
    • disable=3600: pihole deaktivieren für 3600 Sekunden. Hier kann natürlich auch ein anderer Zeitraum in Sekunden eingetragen werden. Nach Ablauf der Zeit aktiviert sich pihole dann wieder automatisch.
    • auth: das Passwort, das es erlaubt, pihole fernzusteuern.

    Das Passwort für auth erhält man mit dem Shell-Befehl

    cat /etc/pihole/setupVars.conf | grep WEBPASSWORD


    was eine Ausgabe wie die folgende erzeugt:

    WEBPASSWORD=ddc4b80c4711dc53c219bc69b96a6bbf12d524786e1a221b22e37dad157df7f8


    Die URL kann man in einem Webbrowser eingeben oder als Aufruf einem homebridge-http-Plugin und ähnlichen mitgegeben oder auf der Shell aufrufen mit curl http://pi.hole:81/admin/api.php?disable=3600&auth=ddc4b80c4711dc53c219bc69b96a6bbf12d524786e1a221b22e37dad157df7f8

  • sschuste

    Das ist wirklich nett gemeint von Dir, aber das übersteigt dann doch (leider) meine Programmierfähigkeiten.

    Phiole habe ich bereits über Schalter in die Homebridge eingebunden. Dafür reicht es bei mir gerade noch, aber für ein Widget gehen mir schnell die Kenntnis im Scripting aus. Trotzdem vielen Dank insbesondere für die Mühe, die Du Dir gemacht hast.

    Ob so ein Widget notwendig wäre, wenn ich eh schon die Schalter im Home habe, sei mal dahingestellt. So ein kleines "Dashboard" (Widget) sieht einfach geiler aus....

  • so ein Script könnte ich noch prima für den Pihole gebrauchen. Kennt da jemand was?

    Bitteschön :)

    https://gist.github.com/malesf…36aab4e726727c14ba32f9f8b


    Die App Pi-Hole Remote hat auch noch ein schönes Widget.


    beste Grüße

  • iblondi

    Wie cool ist das denn?! Danke!

    Leider wird nicht angezeigt, ob der pihole aktiv ist oder nicht. Zumindest ändert sich bei mir nix.


    P.S.: Status ändert sich doch, aber erst nachdem ich das Skript noch einmal in Scriptable aufgerufen habe (oder erst nach einer gewissen Zeit?) Muss ich mal beobachten. Oder kann ich einen Refresh des Widgets beschleunigen/anstoßen? Wenn ich aufs Widget drücke komme ich nur zum pihole Webinterface...

  • Gib mal bei Parameter folgendes ein😉


    {"url":"http://hierdeineip","apikey":"hier deinen API Key"}


    beste Grüße

  • Funktioniert leider bei mir nicht. Den API Key hab ich mehrmals gecheckt und aus Pi-Hole direkt kopiert.


    Bei der URL habe ich es auch mit allen Varianten probiert (Mein Pi-Hole hört auf Port 8081, da sonst Probleme mit Homebridge gab zwecks Webinterface)


    {"url":"http://192.168.0.2","apikey":"mein API Key"}

    {"url":"http://192.168.0.2/admin","apikey":"mein API Key"}

    {"url":"http://192.168.0.2:8081","apikey":"mein API Key"}

    {"url":"http://192.168.0.2:8081/admin","apikey":"mein API Key"}

  • Da das im Forum immer so eine Interpretationssache ist, was ggf. aus Datenschutzgründen modifiziert wurde und was tatsächlich im Code steht hier mal ein konkretes (wenn auch im Key modifiziertes) Beispiel. Vielleicht hilft das schon weiter.

    Code
    {"theme":"dark","url":"http://192.168.178.23","apikey":"a5a8d9e62e516b85a8814043e55cd4385fe16d3b4e4efaec2158ab156f7ffffffffffff"}

    Der Parameter „theme“ ist optional. Ob man einen Port in der url mit übergeben kann, entzieht sich meiner Kenntnis. Im Zweifelsfall würde ich mal das Webinterface der Homebridge auf einen anderen Port legen. Ich habe da keine Konflikte auf dem selben Pi.

    Du könntest auch mal probieren, die Werte direkt im Skript in den ersten Zeilen einzutragen. Vielleicht klappt’s dann auch mit dem Port.

  • Ne, funktioniert auch direkt im Skript nicht. Egal, wäre nur ein nettes Gimmick gewesen.


    Ich will jetzt auch die Ports nicht deswegen umlegen müssen. Ich lande standardmäßig auf dem Webinterface von DeCONZ/Phoscon wenn ich die IP in den Browser eingebe, auf Port 8080 auf der Homebridge und Port 8081 beim pihole Interface. Werde da jetzt nicht nochmal rumbasteln, sonst zerschieß ich mir wieder irgendwas ;)