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.

  • 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...

    Einmal editiert, zuletzt von SamBucca () aus folgendem Grund: Ergänzung

  • 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 ;)

  • Hi Leute, ich habe mal ne Frage zu den Settings in Phiole. Was genau bedeutet eigentlich der Eintrag unter ipv4:



    Soll das heißen, dass der Phiole 2 ipv4 Adressen belegt? 192.168.178.23 und 192.168.178.24? Wenn ja, warum? und warum sehe ich das nicht in meinem Router?


    Wenn es das nicht ist, was soll die 24 dann bedeuten?


    LG

  • Die /24 steht für die Subnetzmaske (24 bits gesetzt: 255.255.255.0).

    Das ist okay so, es sei denn du hast ein Netz mit einer anderen Maske.

  • Wenn es das nicht ist, was soll die 24 dann bedeuten?

    Die 24 bedeutet, dass sie ersten drei Bytes der vier Byte langen Subnetmaske auf 1 gesetzt sind. Geiler Satz, gelle?


    Die Subnetzmaske bestimmt, wie groß ein Netz ist und wo es anfängt und wo es endet. Dein Netz beginnt bei 192.168.178.0 und endet bei 192.168.178.255, wobei die 0 und die 255 nicht als Adressen für Netzwerkgeräte genutzt werden können.


    Um das zu errechnen, brauchen alle Netzwerkgeräte diese Subnetmaske. Die bekommen sie vom DHCP-Server mitgeteilt, in deinem Fall von deinem Router oder falls du es so eingerichtet hast, von deinem pihole. Du musst dich also nicht drum kümmern.


    Bei den meisten von uns ist festgelegt, dass unsere Netze 256 IP-Adressen haben, von denen wir 254 verwenden können. Die Subnetmaske dazu lautet 255.255.255.0, und wenn man das binär aufschreibt, dann lautet sie 11111111.11111111.11111111.00000000. Das sind 32 Bits, und davon stehen sie ersten 24 auf 1. Aha!


    Wie nun die IP-Adresse und die Subnetmaske miteinander agieren und wie man daraus etwas berechnen kann, findest du hier: https://de.wikipedia.org/wiki/Netzmaske. Das ist etwas für Hartgesottene, und niemand wird es dir übel nehmen, wenn du nur Bahnhof verstehst.


    Du wirst irgendwann das Problem haben, dass du deine 255. Bridge installieren willst und prompt hast du nicht mehr genug IP-Adressen in deinem Netz. Dann musst du die Subnetmaske so ändern, dass sie mehr als 256 IP-Adressen erlaubt, beispielsweise in 255.255.254.0. Das würde dann 512 IP-Adressen bedeuten, von denen 510 verwendet werden können. Wenn man 255.255.254.0 kurz im Kopf auf binär umrechnet, ergibt das 11111111.11111111.11111110.00000000, das heißt, die ersten 23 Bits sind gesetzt.


    Man kann auch kleinere Netze definieren, beispielsweise /25 für 128 Adressen, /26 für 64 Adressen oder gar /30 für 4 Adressen. Aber ganz ehrlich: das ist was für Netzwerkfritzen, die es brauchen. Ich brauch das gelegentlich beruflich. Zuhause braucht das niemand. Daher ist es für dich nur wichtig zu wissen, dass die /24 nicht für eine IP-Adresse steht, sondern die Größe deines Netzes definiert. Mit diesem Wissen kannst du jetzt auf der nächsten Party angeben und Frauen lieben es, wenn man so etwas weiß und ihnen davon erzählt.

  • boehser enkel  @Lucifer Morningstar Danke für die schnelle Aufklärung

    sschuste Vielen Dank für die ausführliche und zugleich unterhaltsame Ausführung.


    Dann kann ich das als Fehlerquelle in meinem immer noch instabil laufenden Netz ausschalten. Irgendetwas läuft da verkehrt bei der IP Vergabe. Aber das ist eine andere Geschichte und soll in einem anderen Thread erzählt werden...

  • Hallo zusammen,


    ich bin noch sehr neu in der Welt der Homebridge.

    Nun stehe ich allerdings schon recht früh vor einem Problem, dass das Pihole nicht starten will.

    Ich habe es ganz normal über die Homebridge UI installiert, aber es kommt nicht hoch.

    Ich habe bereits nach diversen Nachrichten aus dem Log gegoogelt, allerdings bin ich leider nicht fündig geworden.

    Vielleicht kann man jemand von euch auf die Sprünge helfen.

    Im Spoiler seht ihr die Log-Einträge.

    Besten Dank für eure Unterstützung!


    spooner