Pihole arbeitet nach Neukonfiguration nicht mehr richtig

  • Hallo zusammen,

    eigentlich wollte ich gestern nur OpenVPN auf WireGuard umstellen, aber irgendwie habe ich meine Pihole Config versaut. Diese lief jetzt einige Monate fehlerfrei.


    Was ist das Problem:

    Sobald der Raspi neu gestartet wird, bekomme ich an den Clients kein Internet und Namensauflösung (mittels nslookup) mehr. Es funktioniert erst wieder, nachdem ich am Pihole "Restart DNS Resolver" angeklickt habe. (eventuell ein Bug?)

    Ich habe alles probiert aber nach einem Neustart geht es nicht richtig. Habe sogar Pihole neu konfiguriert.


    Die Chance will ich gleich mal nutzen und nach der richtigen Konfiguration zu fragen.

    Ich habe:


    Fritzbox (192.168.255.1)

    - Unter Zugangsdaten bei DNS sind Cloudflare und Quad9 als DNS Server eingetragen

    - Unter DHCP wird die IP vom Pihole an die Geräte im Heimnetz verteilt

    - DNS Rebind habe ich "pi.hole" eingetragen


    Pihole (192.1678.255.2)

    - ipv6 deaktiviert

    - ip 192.168.255.2/24

    - unter DNS Haken bei Cloudflare und Quad9

    - Listen on all interfaces

    - Hacken bei "Never forward non-FQDNs"

    - Haken bei "Never forward reverse lookups for private IP ranges"

    - "Conditional forwarding" aktiviert. 192.168.255.0/24 - 192.168.255.1 - fritz.box


    - am Raspi selbst stehen folgende Sachen in den Dateien:

    --resolv.conf: nameserver 127.0.0.1

    --dhcpcd.conf: eth0 -> ip 192.168.255.2/24, router 192.168.255.1, name server 127.0.0.1

    --hosts: 127.0.0.1 localhost, ....... 127.0.1.1 raspberrypi

    --01-pihole.conf

    Sind noch mehr Dateien interessant?



    Ich bin mir nun nicht sicher, ob meine Config so richtig ist. Es halt lange funktioniert.

    Die Clients, die DHCP bekommen, bekommen als DNS Server den Pihole zugewiesen. Die Clients mit fester IP bekommen das manchmal nur (brauchen es aber auch nicht).

    Somit werden anfragen an den Pihole gesendet und er schickt diese an Cloudflare oder Quad9. Anfragen zur Fritzbox werden auch zu Cloudflare oder Quad9 gesendet ohne Pihole dazwischen.


    ICh sehe nicht so richtig, wo der Fehler hier liegt. Hostnamen werden doch auch in Pihole ordentlich aufgelistet.

    Das Internet ist aber aktuell auch so lahm irgendwie. Und wie gesagt nach einem Neustart muss ich aktiv werden sonst geht gar nichts.


    Ich hoffe, ihr könnt mir helfen.


    Vielen Dank im Voraus.

    Manuel

    Edited once, last by T-.Bone ().

  • eigentlich wollte ich gestern nur OpenVPN auf WireGuard umstellen, aber irgendwie habe ich meine Pihole Config versaut. Diese lief jetzt einige Monate fehlerfrei.

    Hast Du jetzt umgestellt von OpenVPN auf WireGuard?

    BTW: Beim WireGuard haben Viele (aber nicht Alle) ein Problem mit "AllowedIPs" (d. h. mit dem Cryptorouting).

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

  • Ja ich habe umgestellt WireGuard klappt auch. Allerdings war die Umstellung dann irgendwie doch etwas komisch. Am Ende habe ich PiVPN deinstalliert (inkl. Komplett WireGuard und habe dann PiVPN neu und sauber installiert und direkt als WireGuard eingerichtet. Das funktioniert auch. Aber irgendwie kamen danach diese Probleme.


    Mit Cryptorouting kann ich leider absolut nichts anfangen. So in der Tiefe bin ich nicht drin :)

  • ... habe dann PiVPN neu und sauber installiert und direkt als WireGuard eingerichtet. ...

    Mit Cryptorouting kann ich leider absolut nichts anfangen. So in der Tiefe bin ich nicht drin :)

    Ist PiVPN schon so umgestellt bzw. geändert worden, dass es berücksichtigt ob WireGuard schon mit dem neuen Kernel vorhanden ist bzw. benutzt werden kann?


    OK, dann vergiss Cryptorouting und siehe die Erklärungen zu "AllowedIPs" (beim WireGuard):


    https://www.wireguard.com/#cryptokey-routing


    Suche auf dieser Seite nach "allowed".

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

  • Bzgl. PiVPN kann ich dir das gar nicht sagen. Habe wie gesagt per mitgeliefertem Schoppt deinstalliert und dann mittels bash neu installiert. Dabei alles durchgeblickt.


    Habe mir deinen Link mal angeschaut, verstehe aber nur die Hälfte ;)

    WireGuard verbindet sich aber super mit meinem Raspi von extern. Das scheint also zu klappen. Profile habe ich erzeugt und dann in der App diese reingelassen. Port ist weitergeleitet.

  • WireGuard verbindet sich aber super mit meinem Raspi von extern. Das scheint also zu klappen.

    Ja, aber die Frage ist, ob und was der WireGuard am Routing des PI evtl. geändert hat, weil Pihole jetzt nicht mehr richtig funktioniert?

    Wie sind die Ausgaben von:

    Code
    route -n
    ip r
    ip rule
    ip route show table all

    ? Was hast Du in der wg0.conf bei "AllowedIPs" eingetragen?

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

  • Ist PiVPN schon so umgestellt bzw. geändert worden, dass es berücksichtigt ob WireGuard schon mit dem neuen Kernel vorhanden ist bzw. benutzt werden kann?

    Ich habe das gerade mal getestet.

    Code
    pi@raspberrypi:~ $ uname -a
    Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
    pi@raspberrypi:~ $

    Der Installer von pivpn scheint mit dem Kernel 5.10.xx nicht mehr zu funktionieren.


    1. Versuch

    curl -L https://install.pivpn.io | bash


    Danach bricht die Installation ab.


    Versuch iptables-persistent manuell zu installieren.

    sudo apt install iptables-persistent


    Code
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    iptables-persistent is already the newest version (1.0.11+deb10u1).
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    Dann erneut den Installer von pivpn aufgerufen.

    curl -L https://install.pivpn.io | bash


    Dieses Mal ist der Installer durchgelaufen.


    Allerdings scheitern alle Befehle mit "pivpn"

    Code
    pi@raspberrypi:~ $ sudo pivpn add
    sudo: pivpn: command not found
    pi@raspberrypi:~ $
  • Ich habe das gerade mal getestet.

    Der Installer von pivpn scheint mit dem Kernel 5.10.xx nicht mehr zu funktionieren.

    OK, danke. Dann sollte man m. E. mit bzw. ab diesem Kernel, PiVPN (für WireGuard) so lange nicht mehr benutzen, bis die devs das angepasst haben.

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

    Edited once, last by rpi444 ().

  • Ja, aber die Frage ist, ob und was der WireGuard am Routing des PI evtl. geändert hat, weil Pihole jetzt nicht mehr richtig funktioniert?

    Wie sind die Ausgaben von:

    Code
    route -n
    ip r
    ip rule
    ip route show table all

    ? Was hast Du in der wg0.conf bei "AllowedIPs" eingetragen?

    Hier die Ausgaben: (Achtung ich war per VPN von extern verbunden)


    route -n

    Code
    Kernel-IP-Routentabelle
    Ziel            Router          Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.255.1   0.0.0.0         UG    202    0        0 eth0
    10.6.0.0        0.0.0.0         255.255.255.0   U     0      0        0 wg0
    192.168.255.0   0.0.0.0         255.255.255.0   U     202    0        0 eth

    ip r

    Code
    default via 192.168.255.1 dev eth0 src 192.168.255.2 metric 202 
    10.6.0.0/24 dev wg0 proto kernel scope link src 10.6.0.1 
    192.168.255.0/24 dev eth0 proto dhcp scope link src 192.168.255.2 metric 202


    ip rule

    Code
    0:    from all lookup local 
    32766:    from all lookup main 
    32767:    from all lookup default 


    ip route show table all


    In der wg0.conf habe ich gar nichts eingetragen. Ich habe WireGuard nur installiert und mir dann die Profile erzeugt. Funktioniert. WireGuard sagt am Client aber immer was von zulässige IP 0.0.0.0 oder so.


    Achtung bezgülci oder weiteren Posts. Ich hatte auch erst das Problem, dass der Installer zwar ging aber keine PiVPN Befehle funktionierten. Allerdings habe ich wie geschrieben dann nochmal ein weiteres male neu installiert und irgendwann ging es dann. Also alle PiVPN Befehle funktionierten. Problem war vermutlich, dass ich anfangs WireGuard mittels PiVPN wie "drüberinstalliert" habe und immer noch Rester von Openvpn vorhanden war. So ist alles durcheinander gekommen. Nachdem ich Piuvpn entfernt hatte und einige Openvpn Ordner auch, dann neu installiert hatte, dann ging es.

  • Quote

    Sobald der Raspi neu gestartet wird, bekomme ich an den Clients kein Internet und Namensauflösung (mittels nslookup) mehr. Es funktioniert erst wieder, nachdem ich am Pihole "Restart DNS Resolver" angeklickt habe.

    Wie sind auf dem PI, vor und nach dem "Restart DNS Resolver", die Ausgaben von:

    Code
    nslookup heise.de
    sudo netstat -tulpena

    ?

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

  • So entschuldigt die späte Antwort aber ich bin erst heute wieder vor Ort.


    Also es geht nach wie vor nicht. Ich starte den Raspberry neu und danach kommt mein Laptop oder mein Handy egal ob per WLAN oder per Kabel nicht mehr ins internet.

    Ich habe auch gerade am Handy mittels "Fing" das Netzwerk durchgesucht und er findet zwar die iOS im Netzwerk, aber keine Hostnamen dazu. Sobald ich "Restart DNS Resolver" anklicke, geht es nach paar Sekunden wieder.

    Am Mac kann ich "ping Fritz.box" auch nicht ausführen bis ich den DNS Resolver neu starte.



    Hier die Ausgaben vor und nach.


    Vor


    Nach


    Ich muss anmerken, dass der Raspi selbst zu jeder Zeit Internet hat. Nur die Clients nicht bzw., mein Macbook und mein iPhone nicht. Bei meiner Freundin ihr Android war das Ines vorhin beim test kurz weg, danach ging es aber wieder (obwohl der Restart DNS resolver nicht NICHT ausgeführt wurde).


    Hier auch noch paar Screenshots:

    • Official Post

    Was ich aber nicht wirklich verstehe ist

    Fritzbox (192.168.255.1)

    - Unter Zugangsdaten bei DNS sind Cloudflare und Quad9 als DNS Server eingetragen

    - Unter DHCP wird die IP vom Pihole an die Geräte im Heimnetz verteilt

    - DNS Rebind habe ich "pi.hole" eingetragen

    Weshalb willst Du Pi-hole den DHCP, statt der Fritte machen lassen?


    Und ich sehe auch nicht, wie und wo Du Pi-hole als DNS-Server in der Fritte eingetragen hast. Habe das vielleicht aber auch übersehen. :conf:


    Ist das "Loch" eine native Installation oder läuft das per Docker?

  • Macht es nicht. Hast du falsch gelesen bzw ich schlecht aufgeschrieben. ;)


    DHCP macht die Fritte. Und die Fritte verteilt als lokalen DNS Server die IP vom Pihole. Also unter Heimnetzwerk->ipv4 Adressen.


    Pihole läuft direkt lokal auf dem Raspi.

    Edited once, last by T-.Bone ().

  • Pihole läuft direkt lokal auf dem Raspi.

    OK, dann poste _vor und nach_ dem "Restart DNS Resolver", von einem geeigneten Gerät aus deinem (W)LAN, die Ausgaben von:

    Code
    arp -a
    ping -c 3 <IP-Adresse-PI>
    nc -zv <IP-Adresse-PI> 53
    nslookup heise.de <IP-Adresse-PI>

    oder gleichwertig (IP-Adresse-PI anpassen und ohne spitze Klammern).

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

  • Also ich habe nochmal etwas herum probiert und tatsächlich hat es doch geholfen, dass ich bei Interface listening behavior auf "Listen only on interface eth0" gestellt habe. Irgendwie ging es letztens nicht aber das System braucht natürlich auch paar Sekunden, bis alle Dienste gestartet sind. Damit läuft es jetzt scheinbar.


    Trotzdem hier nochmal die Werte, wo ich noch auf "Listen on all interfaces" war.



    VOR


    NACH


    Ich werde es erstmal so paar Tage testen. Vermutlich hist Pihole dann irgendwie am wg0 Anschluss hängen geblieben.


    Ich würde euch trotzdem jetzt gerne nochmal fragen, ob meine Konfiguration von oben so OK ist oder ob irgendwas schlecht eingestellt ist?

    Gerade mit der Umgebung Fritzbox, Raspberry Pi, Clients.


    Wie gesagt hat die Fritzbox selbst 2 DNS Server hinterlegt unter Internet. unter Heimnetzwerk verstellt er als lokale DNS Adresse die IP vom Pihole.

    DNS Rebund Schutz habe ich "pi.hole" eingetragen (keine Ahnung ob man das braucht.

    DHCP läuft auf der Fritzbox


    Unter Pi 2 DNS Server ausgewählt (die selben wie auch bei der Fritzbox.

    Listen on et0

    Never forward non...- Haken

    Never forward reverse... - Haken

    Use conditional Forwarding - Haken


    Muss ich sonst noch was beachten oder passt das so?


    Was mich auch nochmal interessieren würde wäre das Thema bzgl. WireGuard und AllowedIPs? Bei meinen Clients steht da immer 0.0.0.0. Es funktioniert aber. Und macht es Sinn, den Port von WireGuard zu ändern? Ist es dann egal, welchen ich als Alternative nehme?


    Vielen Dank erstmal für eure Hilfe.


    ///edit: Ich habe testweise mal den Port in der Datei /etc/pivpn/wireguard/setupvars.conf umgeändert doch ich bekomme immer noch Zugriff vom handy aus...obwohl am Pi ein anderer Port in der Datei steht als ich an der Fritzbox weiterleiten lasse (hier ist es noch der Standardport).

    Neu gestartet habe ich auch schon.

    Edited 2 times, last by T-.Bone ().

  • VOR

    Code
    nc -zv 192.168.255.2 53        
    Connection to 192.168.255.2 port 53 [tcp/domain] succeeded!
    
    nslookup heise.de 192.168.255.2
    ;; connection timed out; no servers could be reached


    DNS Rebund Schutz habe ich "pi.hole" eingetragen (keine Ahnung ob man das braucht.

    Merkwürdig ist, das bei "VOR", der TCP-Port 53 erreichbar ist, aber der UDP-Port 53 nicht erreichbar ist.

    Teste mal mit "VOR", ein nslookup mit tcp statt mit udp:

    Code
    nslookup -vc berlin.de 192.168.255.2
    nc -zv 192.168.255.2 53

    Wegen dem Eintrag beim dns-rebind-Schutz: Wie ist auf deinem PI (oder einem anderen Gerät), die Ausgabe von:

    Code
    dig -x 192.168.255.2 +short @192.168.255.1

    ?

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

  • Code
    nslookup -vc berlin.de 192.168.255.2
    ;; Connection to 192.168.255.2#53(192.168.255.2) for berlin.de failed: timed out.
    ;; Connection to 192.168.255.2#53(192.168.255.2) for berlin.de failed: timed out.
    ;; connection timed out; no servers could be reached
    ;; Connection to 192.168.255.2#53(192.168.255.2) for berlin.de failed: timed out.
    
    nc -zv 192.168.255.2 53
    Connection to 192.168.255.2 port 53 [tcp/domain] succeeded!

    Habe extra nochmal umgestellt, damit es wieder nicht geht :)


    Wegen dem Eintrag beim dns-rebind-Schutz: Wie ist auf deinem PI (oder einem anderen Gerät), die Ausgabe von:

    Code
    dig -x 192.168.255.2 +short @192.168.255.1

    ?

    Code
    dig -x 192.168.255.2 +short @192.168.255.1
    raspberrypi.fritz.box.
    Homebridge-CAD8.fritz.box.

    Haber nochmal bisschen gelesen und ich glaube, den DNS Ribind Schutz benötige ich nicht. Wäre dann wohl nur, wenn ich in der Fritzbox als DNS Server den pi angegeben habe. Ich habe Pi aber nur als lokalen DNS Server für die DHCP Clients angegeben.

    Habe es gerade mal rausgenommen und merke keinen Unterschied.