pihole und lokale Hostnamen

  • Guten Abend zusammen,


    nachdem ich jetzt gerade verschiedene Dienste von einem Raspberry Pi 2b auf einen 4B+SSD in Docker Container umgezogen habe, wollte ich mich "erneut" an pihole machen.

    Ich finde das Konzept des einfachen Backups/Umzugs von den Dockercontainer super.

    Mittels Docker compose starte ich also den pihole container:

    Das klappte natürlich auch direkt. Testweise am PC manuell eingetragen und verschiedene Seiten besucht und es wird auch geblockt.

    Jetzt zum eigentlichen "Problem". Das hatte ich damals schon und dachte, dass ich mich jetzt mal darum kümmere - leider bin ich bisher gescheitert ;)


    Will ich ein Gerät mit seinem lokalen Hostname bspw. rpi-fhem aufrufen, schlägt dies fehl:

    Quote

    Die Website ist nicht erreichbar

    Prüfen Sie, ob "rpi-fhem" einen Tippfehler enthält.

    DNS_PROBE_FINISHED_NXDOMAIN

    Ich habe jetzt schon ein paar Dinge ausprobiert und viel im Netz gelesen. Im Endeffekt hat aber nichts geholfen und ich stehe immer noch vor dem selben Problem.

    Deswegen meine Frage an Euch:


    Was ist die Lösung, um einerseits die Funktionen von pihole zu nutzen und andererseits lokale Geräte mittels der Hostnames zu erreichen?


    Hier mal eine grobe Struktur des Netzwerks:

    Fritzbox 7590 als DHCP Server, Pi mit fester IP (per immer gleiche Ip zuweisen-Funktion), auf dem pi (192.168.178.108) läuft der Docker und darauf pihole in oben gezeigter Konfiguration. Als hostname wird in pihole auch "nur" ein von docker vergebener an: 861cf60cfd2d



    Ich danke schon mal im voraus für Input!

    Viele Grüße

  • Quote

    Falls es im lokalen Netzwerk keinen Namensserver gibt, ist es möglich, stattdessen in der Datei /etc/hosts, die normalerweise für lokale Netzwerkrechner reserviert ist, eine kleine Tabelle zu erstellen, in der IP-Adressen und Hostnamen von Rechnern einander zugeordnet sind. Die Syntax dieser Datei, wie sie in hosts(5) beschrieben ist, ist sehr einfach: Jede Zeile enthält eine spezifische IP-Adresse gefolgt von der Liste der ihr zugeordneten Namen (von denen der erste „vollständig ausgewiesen“ (“completely qualified”) ist, das heißt, dass er den Domain-Namen enthält).

    Diese Datei ist selbst bei Netzwerkausfällen verfügbar, oder wenn DNS-Server nicht erreichbar sind, ist aber nur dann wirklich nützlich, wenn sie auf alle Rechner des Netzwerks kopiert wurde. Bei der kleinsten Veränderung in den Zuordnungen muss die Datei überall aktualisiert werden. Deshalb enthält /etc/hosts gewöhnlich nur die wichtigsten Einträge.

    Diese Datei reicht für ein kleines nicht mit dem Internet verbundenes Netzwerk aus; ab fünf Rechnern ist es aber empfehlenswert, einen richtigen DNS-Server einzurichten.


    Interessante Frage, hat mich gerade auch mal interessiert und ich habe obrigen Artikel gefunden...


    Edit 2: Lasse den Router doch die lokale Namensauflösung für dich machen, dazu: Im Pi-hole Web-Admininterface (pi. hole/admin) unter Settings > DNS > Use Conditional Forwarding aktivieren und unten die IP und Name des Routers eintragen. und man so neue Geräte/Clients direkt auf einem Gerät hinzufügen kann.

  • Hallo Mike,

    das hatte ich tatsächlich shcon probiert. Ich füge oben auch nochmal ein paar weitere Informationen (die wohl wichtig sind) hinzu. Ist mir in der Nacht eingefallen, dass deren Angabe sicherlich helfen sollte ;)


    Eingegeben hatte ich dort 192.168.178.0/24 | 192.168.178.1 | fritz.box


    Hat leider nicht funktioniert. Ob das jetzt ein generelles Problem von pihole oder ein spezielles aufgrund von docker ist weiß ich aber nicht.

    Ich habe auch in pihole/Local DNS/DNSRecords testweise den pi mal eingegeben. das hat aber auch nicht geklappt.


    Viele Grüße

  • Eingegeben hatte ich dort 192.168.178.0/24 | 192.168.178.1 | fritz.box


    Hat leider nicht funktioniert.

    Ist es möglich pihole so zu konfigurieren, dass pihole die "/etc/hosts"-Datei benutzt?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Hallo rpi444,


    das kann ich dir gar nicht sagen. Was Netzwerkl Infrastruktur angeht bin ich nicht so drin.

    Was ich aber gerade mal getestet habe:

    Wenn ich nslookup rpi-fhem ausführe, bekomme ich

    Code
    Server:        127.0.0.53
    Address:    127.0.0.53#53
    
    Non-authoritative answer:
    Name:    rpi-fhem.fritz.box
    Address: 192.168.178.108
    Name:    rpi-fhem.fritz.box

    Daraufhin habe ich dann mal probiert mit aktiviertem pihole (sprich am PC manuell den pihole als DNS Server gesetzt) rpi-fhem.fritz.box aufzurufen. DAs führt tatsächlich zur entsprechenden Seite.

    Wie kann ich denn pihole jetzt dazu bringen, dass ich das .fritz.box nicht brauche? Geht das überhaupt?


    Viele Grüße

  • Wie kann ich denn pihole jetzt dazu bringen, dass ich das .fritz.box nicht brauche? Geht das überhaupt?

    Das geht, wenn pihole (oder ein anderer resolver) nur die FritzBox als dns-Server benutzt wird.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Laufe ich damit nicht in eine Loop?

    Ja, wenn der pihole auch in der FritzBox eingetragen ist.

    Deshalb meine Frage, ob der pihole nicht seine eigene /etc/hosts für das lokale-DNS (d. h. im Subnetz der FritzBox) benutzen kann. Wie viele lokale IPv4-Adressen aus dem Subnetz der FritzBox sind zugewiesen worden?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • rpi444


    In deinem Spoiler habe ich folgendes gelesen:


    Quote

    WireGuard-Server (wg in-kernel driver),

    Heisst, dass, dass du mit den Kernel-Updates keine Probleme mehr hast und danach ggf. wireguard neu kompilieren oder installieren musst?

    Wie hast du das gemacht?


    Gruss dani

  • Heisst, dass, dass du mit den Kernel-Updates keine Probleme mehr hast und danach ggf. wireguard neu kompilieren oder installieren musst?

    Bei OpenBSD muss ich mich um WireGuard nicht kümmern, weil der dort schon im Kernel ist.

    Beim buster muss ich nach jedem Kernel-update, den wireguard-Treiber neu kompilieren und neu installieren (weil ich nicht das package benutze).

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Ja, wenn der pihole auch in der FritzBox eingetragen ist.

    Deshalb meine Frage, ob der pihole nicht seine eigene /etc/hosts für das lokale-DNS (d. h. im Subnetz der FritzBox) benutzen kann. Wie viele lokale IPv4-Adressen aus dem Subnetz der FritzBox sind zugewiesen worden?

    IP Adressen sind nicht viele vergeben. die höchste mag zwar 108 sein, aber es sind einige "Leichen" dabei.

    Im Prinzip geht es dann auch nur um 2-5 hostnamen, die ich aufrufen will. Wie man Einträge zur etc/host im Docke rcontainer hinzufügen kann, weiß ich nicht. muss man mal sehen.


    hyle

    Danke für das Bild. Mit den Einstellungen klappt es bei mir nicht. Dein Pihole läuft aber nativ auf dem System und nicht im Docker Container, oder?


    Wie gesagt will ich das folgende erreichen:

    - Pihole im Docker

    - DHCP auf der Fritzbox nutzen

    - DNS Blocking vom pihole nutzen

    - lokale Hostnamen (1-5) direkt aufrufen statt deren IP

  • Wie man Einträge zur etc/host im Docke rcontainer hinzufügen kann, weiß ich nicht. muss man mal sehen.

    Versuch mal mit:

    Code
    sudo nano /etc/hosts

    und dort ergänzen, mit der Zeile:

    Code
    192.168.178.108    rpi-fhem.fritz.box    rpi-fhem

    Die hosts-Zeile in der /etc/nsswitch.conf-Datei sollte so aussehen:

    Code
    hosts:          files dns resolve

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    • Official Post

    Dein Pihole läuft aber nativ auf dem System und nicht im Docker Container, oder?

    Nicht mehr, weil ich damit ständig Ausfälle von Pi-hole hatte und damit kein DNS zur Verfügung stand. Die obigen Einstellungen hatte ich aber auch als ich noch Docker verwendete.

    Wie gesagt will ich das folgende erreichen:

    - Pihole im Docker

    - DHCP auf der Fritzbox nutzen

    - DNS Blocking vom pihole nutzen

    - lokale Hostnamen (1-5) direkt aufrufen statt deren IP

    Genau so war es bei mir und das funktionierte auch, von den Aussetzern mal abgesehen.

    • Official Post

    Vergessen... Gestartet hatte ich Pi-hole mit:

  • rpi444

    Code
    root@5d1d7c58218c:/# cat /etc/hosts
    127.0.0.1       localhost
    ::1     localhost ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    192.168.112.2   5d1d7c58218c

    und

    Sieht demnach etwas anders aus als bei dir. Die Frage ist, wie ich das theoretisch vernünftig per docker-compose umsetzen kann, ohne manuell in den Dateien rumzuschreiben.



    hyle

    Das ist interessant. Ich hatte damals (vor ~6-9 Monaten) auch mal pihole als DNS im Netzwerk. Plötzlich stürzte der Contaienr immer ab und startete auch nicht mehr. Ich dachte das lag daran, dass der Host dann versuchte den DNS Serve raufzulösen, was natürlich scheiterte und daraufhin den Docker Start verhinderte. Das will ich natürlich nicht nochmal erleben, weil dann natürlich das ganze Netzwerk stillstand, bis ich in der Fritzbox den DNS Server zurückgesetzt habe und das dann nach und nach an die Clients verteilt wurde...

  • Sieht demnach etwas anders aus als bei dir. Die Frage ist, wie ich das theoretisch vernünftig per docker-compose umsetzen kann, ohne manuell in den Dateien rumzuschreiben.

    Die "/etc/nsswitch.conf"-Datei ist OK d. h. kann man so lassen), aber in der /etc/hosts müssen die Eintragungen manuell gemacht werden.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Moin!


    Das Thema ist zwar schon älter, aber.... Mein Mist muß da noch mit rein.


    Bei mir rennt, testweise, ein pi-hole im Docker. Und ich habe, wie hyle auch, die Einstellung unter Settings/DNS/Use Conditional Forwarding den Haken rein gemacht und die IP vom Netzwerks und Router eingetragen. Domäne habe ich freigelassen.

    Die Begründung:

    Quote

    Conditional forwarding

    If not configured as your DHCP server, Pi-hole typically won't be able to determine the names of devices on your local network. As a result, tables such as Top Clients will only show IP addresses.

    Damit werden bei mir alle Rechner mit Namen aufgelöst und auch erreicht.


    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.