Unbound läuft nicht rund - warning: subnetcache

Hallo in Runde,

ich komme heute nach Hause und ich stelle fest, dass mein DNS mit PiHole 6 und Unbound nicht mehr funktioniert (installiert nach der Anleitung von Mike).

Ich sehe auch zwei Warnings, wenn ich den Status von Unbound prüfe:

pi@PiHole:~ $ sudo systemctl status unbound
● unbound.service - Unbound DNS server
     Loaded: loaded (/lib/systemd/system/unbound.service; enabled; preset: enabled)
     Active: active (running) since Fri 2025-04-18 11:02:02 CEST; 1h 8min ago
       Docs: man:unbound(8)
    Process: 378 ExecStartPre=/usr/libexec/unbound-helper chroot_setup (code=exited, status=0/SUCCESS)
    Process: 388 ExecStartPre=/usr/libexec/unbound-helper root_trust_anchor_update (code=exited, status=0/SUCCESS)
   Main PID: 390 (unbound)
      Tasks: 1 (limit: 396)
        CPU: 5min 52.239s
     CGroup: /system.slice/unbound.service
             └─390 /usr/sbin/unbound -d -p

Apr 18 11:01:56 PiHole systemd[1]: Starting unbound.service - Unbound DNS server...
Apr 18 11:02:00 PiHole unbound[390]: [390:0] warning: subnetcache: serve-expired is set but not working for data originating from the subnet module cache.
Apr 18 11:02:00 PiHole unbound[390]: [390:0] warning: subnetcache: prefetch is set but not working for data originating from the subnet module cache.
Apr 18 11:02:02 PiHole systemd[1]: Started unbound.service - Unbound DNS server.
Apr 18 11:02:02 PiHole unbound[390]: [390:0] info: start of service (unbound 1.17.1).

Was mich dabei stutzig macht, ist die Uhrzeit, denn mein Pi-hole war seit Freitag aus (läuft auf einem RPi Zero) und ich habe ihn heute erst wieder eingeschalten. Wie kann es da sein, dass ich da was vom 18.04. als Startdatum lese?

Active: active (running) since Fri 2025-04-18 11:02:02 CEST; 1h 8min ago

Mein Pi-hole zeigt mir ansonsten das richtige Datum an, wenn ich ich ein date mache.

Ich habe also ein bisschen nach den Warnings gesucht und eine Lösung für mich gefunden die ich aber nicht einschätzen kann, daher die Frage in die Runde, ob das sinnvoll ist?

Ich habe in die Konfiguration des Pi-hole /etc/unbound/unbound.conf.d/pi-hole.conf die Zeile module-config: "iterator" um das subnetcache module zu deaktivieren. Danach ging auch die DNS-Auflösung wieder und die Warnings sind im Unbound weg.
Ich kann hier aber auch nur bisschen nachplappern - ich habe keine Ahnung was das subnetcache module überhaupt macht.

Ich habe daraufhin den Pi-hole auch nochmal neu gestartet, dann den Eintrag wieder entfernt und siehe da, DNS funktioniert immer noch und auch das Datum stimmt wieder, wenn ich Unbound prüfe. Allerdings bleiben die Warnings:

pi@PiHole:~ $ sudo systemctl status unbound
● unbound.service - Unbound DNS server
     Loaded: loaded (/lib/systemd/system/unbound.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-04-21 17:29:02 CEST; 9min ago
       Docs: man:unbound(8)
    Process: 378 ExecStartPre=/usr/libexec/unbound-helper chroot_setup (code=exited, status=0/SUCCESS)
    Process: 389 ExecStartPre=/usr/libexec/unbound-helper root_trust_anchor_update (code=exited, status=0/SUCCESS)
   Main PID: 392 (unbound)
      Tasks: 1 (limit: 396)
        CPU: 3.566s
     CGroup: /system.slice/unbound.service
             └─392 /usr/sbin/unbound -d -p

Apr 21 17:28:57 PiHole systemd[1]: Starting unbound.service - Unbound DNS server...
Apr 21 17:29:01 PiHole unbound[392]: [392:0] warning: subnetcache: serve-expired is set but not working for data originating from the subnet module cache.
Apr 21 17:29:01 PiHole unbound[392]: [392:0] warning: subnetcache: prefetch is set but not working for data originating from the subnet module cache.
Apr 21 17:29:02 PiHole unbound[392]: [392:0] info: start of service (unbound 1.17.1).
Apr 21 17:29:02 PiHole systemd[1]: Started unbound.service - Unbound DNS server.

War also vielleicht das schiefe Datum der ausschlaggebende Grund warum DNS nicht funktionierte? Ich kann mir das schon sehr gut vorstellen, ist ja oft so, dass ohne ordentlich funktionierendes NTP viel schief geht.

Sehr wahrscheinlich ja. Die warnings haben damit jedenfalls nichts zu tun, denn das sind nur Warnungen, keine Fehler, und sollten den Betrieb nicht nennenswert beeinträchtigen. Selbst Warnung ist in diesem Fall schon fast zuviel gesagt, da es im Grunde nur eine Info ist.

Du kannst die Meldung aber dennoch wegbekommen, indem du das subnetcache-Modul deaktivierst. Du benutzt dieses Modul höchstwahrscheinlich sowieso nicht (und wenn doch, wüsstest du es vermutlich):

server:
	# Deactivate subnetcache module
	module-config: "validator iterator"

Vielen Dank für deine Antwort. Dann werde ich es tatsächlich mal deaktivieren. Ich brauche es nicht, da der Pi-hole nur DNS macht und ich keine IP-Adressen/Subnetze verwalte.

Bezüglich der Zeit: Wie konnte die für unbound falsch sein, während das zu Grunde liegende Linux die richtige Zeit hatte? Ich habe hier keine Container oder dergleichen laufen.
Die Zeitdifferenz kommt nämlich in etwas hin mit der Zeit als ich den Pi-hole ausgeschaltet habe. Das würde für mich ja bedeuten, dass ich den Pi-hole immer laufen lassen müsste. Ich schalte schon gern mal alles aus, wenn wir drei Wochen im Urlaub sind. Das geht ja damit nicht.

Das sind alles Systemzeiten. Unbound hat keine eigene Uhr. Ich kann es mir nur so erklären, dass sich die wieder Zeit eingerenkt hat, kurz bevor du date benutzt hast. Allerdings werden wir das jetzt vermutlich nicht mehr aufgeklärt bekommen.

Der Pi hat keinen eigenen Zeitgeber, der laufen könnte, wenn er aus ist. Daher startet er immer mit falscher Zeit, nachdem er aus war. Allerdings stellt das kein Problem dar, da nach dem Hochfahren schnell ein Zeitabgleich per NTP geschieht. Bei dir hat das anscheinend länger gedauert als üblich, daher könntest du deine NTP-Server-Konfiguration mal anschauen.

Das Problem ist, das dort per Default nämlich nur Domainnamen stehen. Wenn durch falsche Systemzeit keine Domains aufgelöst werden können, kann dadurch auch die Systemzeit nicht synchronisiert werden – ein Henne-Ei-Problem.

Ich habe dazu in der Datei /etc/systemd/timesyncd.conf die IP-Adressen der NTP-Server von dismail.de eingetragen:

[Time]
NTP=116.203.17.238 78.46.172.134 78.46.223.134

Ich danke dir!