Zwei hartnäckige Einträge in der "Pi-hole diagnosis"

Hallo,
nachdem, dank des großartigen Supports hier im Forum, die größten Probleme wohl behoben sind, habe ich noch zwei Einträge in der "Pi-hole diagnosis" die immer wiederkehren.

  1. CONNECTION_ERROR - Connection error (192.168.1.1#53): TCP connection failed while receiving payload length from upstream (Connection prematurely closed by remote server)

  2. DNSMASQ_WARN - Warning in dnsmasq core: Maximum number of concurrent DNS queries reached (max: 150)

Da ich keinen schimmer habe, wie ich mit der Ursachensuche starten kann, frage ich, wie ich die Fehlermeldungen dauerhaft weg bekomme.

192.168.1.1 ist mein Router, eine FRITZ!Box 5530 mit FRITZ!OS 8.02. Die FRITZ!Box ist der DHCP Server. Unbound, auf dem Raspberry Pi 3 Model B Plus mit Raspberry Pi OS 11 (Debian bullseye), versorgt den Pi-hole.

Ich habe einen Debug token erzeugt: https://tricorder.pi-hole.net/OqqfCjmd/

Danke und ein schönes Wochenende Eggi

Hallo,
kann ich mit weiteren Informationen oder anders um eine Unterstützung werben?

Gruß Eggi

Zu CONNECTION_ERROR kann ich nichts sagen.

Die wiederkehrende DNSMASQ_WARN Warnung habe ich so behoben:

Unter Settings -> All Settings -> Miscellaneous settings -> misc.dnsmasq_lines

die Zeile

dns-forward-max=200

einfügen. 200 ist der bei mir definierte Wert, kann aber beliebig gesetzt werden. Voreingestellt sind die 150.

Achtung:
Davor solltest du herausfinden, welches Gerät mit seinen DNS-Anfragen diese Warnung erzeugt. Wenn die Warnung durch das Fehlverhalten eines bestimmten Clients erzeugt wird, solltest du dort das Problem angehen und nicht - wie oben gezeigt - lediglich die Einstellung in Pi-hole ändern!

Dein Beitrag ist uns durchgerutscht, Entschuldigung.

Da du unbound benutzt, ist die Ursache für Connection prematurely closed by remote server hier sehr wahrscheinlich, dass unbound aufgrund fehlender Ressourcen (z.B. bei temporär vielen gleichzeitigen Anfragen) den Kanal zu Pi-hole schliesst (für Details siehe failed to send TCP(read_write) packet (Connection prematurely closed by remote server) · Issue #1237 · NLnetLabs/unbound · GitHub).

Die Meldung wird in Pi-hole 6 erstmals protokolliert, so dass es zu diesem Verhalten von unbound sehr wahrscheinlich auch schon in v5 gekommen ist, wo es aber mangels Meldung schlicht unbemerkt blieb, was wiederum dafür spricht, dass es sich nicht um einen kritischen Fehler handelt.

Durch eine Anpassung von incoming-num-tcp (z.B. auf 40) in der unbound-Konfigurationsdatei lässt sich das Problem abschwächen, d.h es sollte dann zumindest seltener Auftreten.

Die Maximum-concurrent-Warning wird häufig durch eine DNS-Schleife verursacht, oder durch nicht erreichbare Upstream-DNS-Server, seltener durch einzelne sich fehlverhaltende Clients.
In all diesen Fällen bringt das Drehen an dns-forward-max nichts. Es behebt nicht die Ursache und führt höchstens dazu, dass der Fehler ein paar Millisekunden später auftritt.

Eine partielle DNS-Schleife kann man z.B. dadurch schliessen, dass man Pi-holes Conditional Forwarding aktiviert, während der Router gleichzeitig Pi-hole als Upstream verwendet - in der Fritzbox wären das die Einträge unter Internet | Zugangsdaten | DNS-Server.

Dort solltest Du also die vom Internetanbieter zugewiesene DNS-Server verwenden, sofern Deine Fritzbox Pi-hole bereits als lokalen DNS-Server via DHCP verteilt.

Wenn das keine Abhilfe schafft, lade bitte ein frisches Debug Log hoch (das alte ist bereits abgelaufen).

Hallo Remixer,
danke für Deine Mühe, ich werde mich erstmal an die Tipps von Bucking_Horn halten.

Gruß Eggi

Hallo Bucking_Horn,
zu "Connection prematurely closed by remote server":
Ich habe "sudo nano /etc/unbound/unbound.conf.d/pi-hole.conf" im Terminal eingegeben, da ich der Meinung bin, dass ist meine Unbound Konfigurationsdatei Datei. Folgendes wurde mir angezeigt:

"incoming-num-tcp" finde ich dort nicht. Welchen Wert muss ich von X auf 40 setzen?

zu "Maximum number of concurrent DNS queries reached":
Das Conditional Forwarding in Pi-hole sollte aktiviert sein:

Die Einträge in der FRITZ!Box unter Internet | Zugangsdaten | DNS-Server sollten passen:

Den Satz habe ich nicht verstanden, da er dem vorherigen Satz widerspricht: "Dort solltest Du also die vom Internetanbieter zugewiesene DNS-Server verwenden, sofern Deine Fritzbox Pi-hole bereits als lokalen DNS-Server via DHCP verteilt."

Ich habe einen neuen Debug token erzeugt: https://tricorder.pi-hole.net/67f738gm/

Danke und Gruß Eggi

Na, eben diesen. :wink:
Also z.B. auf incoming-num-tcp: 40.

Nein, gerade durch Verwendung von Pi-holes IP-Adressen wird die DNS-Endlosschleife geschlossen, und die wollen wir ja vermeiden.
Da sollte Vom Internetanbieter zugewiesene DNS-Server verwenden ausgewählt sein.

Hallo Bucking_Horn,
zu "Connection prematurely closed by remote server":
Ich verstehe es noch immer nicht, aber ich rate jetzt mal los.

Erster Versuch:
Ich schreibe in die Datei "pi-hole.conf", die ich mit dem Befehl "sudo nano /etc/unbound/unbound.conf.d/pi-hole.conf" im Terminal öffne, die zusätzliche Zeile "incoming-num-tcp: 40". Dann sichere ich die Datei und starte den Raspberry Pi neu.
Soll ich das machen?

zu "Maximum number of concurrent DNS queries reached":
Die Einträge in der FRITZ!Box unter Internet | Zugangsdaten | DNS-Server sollten jetzt passen:

Danke und Gruß Eggi

Nicht ganz.
Das Editieren ist soweit korrekt.
Was mir allerdings gerade auffällt: In Deiner pi-hole.conf steht:
port: 5353

5353 ist aber der Standardport für das mDNS-Protokoll, daher solltest Du das ändern auf:
port: 5335

Die neue Zeile mit incoming-num-tcp: 40 kannst Du dann gleich unterhalb von port: 5335 einfügen.

Nach dem Speichern prüfst Du die Syntax:

sudo unbound-checkconf /etc/unbound/unbound.conf.d/pi-hole.conf

Wenn das mit no errors antwortet, kannst Du unbound stoppen und neu starten.

sudo systemctl stop unbound
sudo systemctl start unbound

Sofort danach solltest Du in Pi-hole auch den neuen Port für unbound einstellen, also unter Settings|DNS den Custom-DNS-Server-Eintrag auf 127.0.0.1#5335 ändern.

1 Like

Hallo Bucking_Horn,
zu "Connection prematurely closed by remote server":
Ich habe gemacht wie geschrieben und einen reboot :wink: Das Ergebnis ist wie (von mir) erwartet.

Der Pi-hole läuft und zeigt keine Fehler mehr an. Ich werde ihn noch bis morgen beobachten und mich dann noch einmal melden.

-> Schon einmal vielen Dank.

Ich habe noch einen neuen Debug token erzeugt: https://tricorder.pi-hole.net/8IbHstTz/

Danke und Gruß Eggi

Hallo Bucking_Horn,
seit gestern Abend keine Einträge mehr in der "Pi-hole diagnosis" ich bin so froh…

Ein ganz großes Danke für die Unterstützung!

Gruß und ein schönes Wochenende wünscht Eggi

Nicht vergessen:

Wenn das gelegentlich noch auftritt, wäre das aber kein Grund zur Besorgnis.
Vereinzelt auftretende Verbindungsschwierigkeiten sind nicht ungewöhnlich. Bei DNS-Anfragen führen sie ggf. dazu, dass ein Client die Anfrage wiederholt.

Im Falle von unbound ist Pi-hole der einzige Client.
Pi-holes Client wiederum, von dem ja die ursprüngliche Anfrage stammt, wird davon u.U. überhaupt nichts mitbekommen, z.B. wenn Pi-holes Cache Optimiser im Spiel ist.