Probleme mit Unbound

Hi

Auf meinem Pi3b+ habe ich DietPi (v9.6) Installiert. Über dessen Software Launcher noch Nextcloud (+apache2), Pi-Hole und Unbound. Soweit läuft alles. Bei der Unbound Konfiguration habe ich mich an dieser Anleitung orientiert. Punkt 5. „Debian Fix“ funktioniert bei mir nicht. Wenn ich

sudo sed -Ei ‚s/^unbound_conf=/#unbound_conf=/‘ /etc/resolvconf.conf

im Terminal eingebe, kommt

sed: /etc/resolvconf.conf kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden"

sudo rm /etc/unbound/unbound.conf.d/resolvconf_resolvers.conf

gibt es erst garnicht.

Wenn ich „sudo systemctl status unbound“ aufrufe:

● unbound.service - Unbound DNS server
Loaded: loaded (/lib/systemd/system/unbound.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/unbound.service.d
└─dietpi.conf
Active: active (running) since Fri 2024-07-26 11:36:40 BST; 14min ago
Docs: man:unbound(8)
Process: 383 ExecStartPre=/usr/libexec/unbound-helper chroot_setup (code=exited, status=0/SUCCESS)
Process: 409 ExecStartPre=/usr/libexec/unbound-helper root_trust_anchor_update (code=exited, status=0/SUCCESS)
Main PID: 428 (unbound)
Tasks: 1 (limit: 1069)
CPU: 1.318s
CGroup: /system.slice/unbound.service
└─428 /usr/sbin/unbound -d -p
Jul 26 11:36:38 DietPi systemd[1]: Starting unbound.service - Unbound DNS server…
Jul 26 11:36:39 DietPi unbound[428]: [428:0] warning: subnetcache: serve-expired is set but not working for data originating from the subnet module cache.
Jul 26 11:36:39 DietPi unbound[428]: [428:0] warning: subnetcache: prefetch is set but not working for data originating from the subnet module cache.
Jul 26 11:36:40 DietPi unbound[428]: [428:0] info: start of service (unbound 1.17.1).
Jul 26 11:36:40 DietPi systemd[1]: Started unbound.service - Unbound DNS server.

dig dnssec.works @127.0.0.1 -p 5335 zeigt ebenfalls Serverfail an, statt NoError. Jemand eine idee?

DietPi 9.6 basiert auf Bookworm, warum installierst du einen Patch für Bullseye?

Wie kommst du darauf? Wie ich oben schrieb, hab ich unbound über deb Dietpi Software-Launcher installiert

https://dietpi.com/blog/?p=3128

Anscheinend verstehst du mich nicht. :wink: Du hast DietPi 9.6 installiert. Das ist die aktuelle Version auf Basis von Debian Bookworm. Der von dir installierte Patch ist für die Vorgängerversion des Betriebssystems gedacht.

Ich schätze mal, das ist bei DietPi nicht nötig. Die Dateien existieren nicht, eventuell weil das Paket resolvconf o.Ä. gar nicht erst installiert ist.

Den angegebenen Logs nach stimmt alles, und dem Status nach läuft Unbound.
Es gibt nur zwei Warnungen, die du ignorieren kannst. Die treten bei der verwendeten Konfiguration eben auf.

ServFail. Ich glaube, das bezieht sich auf „to serve“, nicht auf Server. Es kann nicht „ausgeliefert“ werden, weil etwas mit dem DNS Eintrag nicht stimmt, bzw. er nicht validiert (DNSSEC) werden kann (siehe weiter unten).
Einen servfail erhälst du für dnssec.works momentan auch, wenn du es über Quad9 (9.9.9.9), Google (8.8.8.8) oder Cloudflare (1.1.1.1) testest.
Bzw. ist das das Ergebnis, welches der DNS Resolver dem dig Befehl mitteilt.

Für die beiden letztgenannten Server findet sich dabei eine wichtige Info in der „;; OPT PSEUDOSECTION:“, aus der Ausgabe vom dig Befehl.

$ dig dnssec.works @8.8.8.8
[...]
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; EDE: 7 (Signature Expired): (for DNSKEY dnssec.works., id = 41779: RRSIG dnssec.works., expiration = 1721570770)
; EDE: 18 (Prohibited)
;; QUESTION SECTION:
;dnssec.works.                  IN      A
[...]

$ dig dnssec.works @1.1.1.1
[...]
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; EDE: 7 (Signature Expired): (Expired RRSIG found for dnssec.works/a (keytag=63735))
;; QUESTION SECTION:
;dnssec.works.                  IN      A
[...]

„(Signature Expired): (for DNSKEY dnssec.works. […])“
Die Leute/Person hinter dnssec.works kümmern bzw. kümmert sich (momentan, bzw. seit mindestens 6 Tagen (date --date='@1721570770') wohl nicht darum, dass die Signatur gültig und aktuell ist. Deren verschulden, kein Problem mit deinen DNS Resolver (Unbound).

Stattdessen kannst du das alles auch am „ad“ Flag erkennen, dass dir dein Unbound Server sagt, dass die DNSSEC Signatur valide ist.

$ dig kuketz-blog.de @127.0.0.1 -p 5335
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61593
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

Eine Seite ohne korrekt konfigurierten, und von deinen Resolver validierten DNSSEC würde kein ad-Flag haben. Da dein Unbound lokal auf deinen Rechner läuft, musst du dir da eigentlich auch keine Gedanken über manipulierte Anfragen machen.

Seiten mit denen du das testen kannst: tchncs.de, kuketz-blog.de, mailbox.org - alle davon verwenden DNSSEC. Wenn du den status „NOERROR“ erhältst, und ein AD Flag, stimmt soweit alles.
Und dadurch, dass du auch eine Fehlermeldung bei dnssec.works momentan bekommst, zeigt sich, dass DNSSEC richtig funktioniert, und dein Resolver keine abgelaufenen Signaturen akzeptiert. :+1:

@olafme
Schon klar, aber ich glaube du verstehst mich nicht :wink:
Unbound ist keine native Installation. DietPi bringt Unbound als Paket schon mit…eben über den Software-Launcher. Oder anders ausgedrückt: ich habe keinen Einfluss über den Patch, welche seitens DietPi installiert wird.

@Astolfo
Danke für die ausführliche Info! :slight_smile:

Es geht nicht um Unbound an sich, denn das ist ja kein Patch, sondern eine Software.
Der Patch ist folgender:

sudo sed -Ei ‚s/^unbound_conf=/#unbound_conf=/‘ /etc/resolvconf.conf
sudo rm /etc/unbound/unbound.conf.d/resolvconf_resolvers.conf

Dieser ist nötig bei Debian 11 (Bullseye), nicht jedoch bei Debian 12 (Bookworm).

Edit: Ups, hatte @Astolfo ja schon geschrieben.

Bei DietPi muss Unbound überhaupt nicht händisch konfiguriert werden. Über das Menü installieren, fertig, läuft. Warum folgst du da überhaupt noch irgendeiner Anleitung für eine manuelle Installation? Und dann noch für eine ältere Debian-Version?

@bummelstein
Jetzt verstehe ich, danke!

@bamf
Ich bin ja nicht IRGENDEINDER Anleitung gefolgt, sondern einer Anleitung aus der Kuketz-Welt. Das es sich um eine ältere handelt, habe ich schlicht übersehen. Kann passieren oder?!

Am Besten immer der offiziellen Installations-Anleitung folgen. Bei Einstellungen oder Anpassungen kann man dann immer noch Drittanbieter-Empfehlungen einfließen lassen.

1 „Gefällt mir“