"dnssec-validation auto" validiert nicht

Hallo,

irgendwie will der Bind9 Server kein DNSSEC machen.

UCS Version 5.0-6 errata928
Bind9 Version: bind9/ucs506,now 1:9.11.5.P4+dfsg-5.1+deb10u9A~5.0.4.202307241136 amd64

Alles auf dem neusten Stand.

Sowohl auf dem Master als auch dem Backup UCS Domaincontoller sieht die named.conf.options so aus:

# egrep -v "^$|//" named.conf.options
options {
        directory "/var/cache/bind";
        dnssec-validation auto;
        listen-on-v6 { any; };
};

Die Server sind im 10.0.2.0/24 Netz und wir haben ein redundantes PfSense Setup mit einer CARP auf 10.0.2.254, auf welcher ein DNS Resolver mit DNSSEC Validierung horcht.
Die CARP Adresse ist bei beiden UCS Systemen als dns/forwarder1 eingetragen.

# ucr get dns/forwarder1
10.0.2.254

Der Forwarder ist korrekt in den Konfigs eingetragen:

# fgrep -R -i "10.0.2.254" *
named.conf.proxy:       forwarders { 10.0.2.254; };
named.conf.samba4:              10.0.2.254;

Die DNS Auflösung an sich funktioniert von den UCS Systemen für interne und externe Domains einwandfrei.

Starte ich nun eine DNS Anfrage auf den UCS Systemen gegen bind9, sind beide Queries mit Status “NOERROR” und das Flag “ad” ist nicht gesetzt. Den Cache habe ich gefühlt 10000 geleert, daran liegt es nicht.

Test Domainnamen:
Muss validieren: sigok.verteiltesysteme.net
Darf nicht validieren: sigfail.verteiltesysteme.net

# dig @127.0.0.1 sigok.verteiltesysteme.net A +dnssec

; <<>> DiG 9.11.5-P4-5.1+deb10u9A~5.0.4.202307241136-Univention <<>> @127.0.0.1 sigok.verteiltesysteme.net A +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2486
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
; COOKIE: 21c7aa985d692588cbf70cf465b4009431532bfa91f5ae3c (good)
;; QUESTION SECTION:
;sigok.verteiltesysteme.net.    IN      A

;; ANSWER SECTION:
sigok.verteiltesysteme.net. 141 IN      CNAME   sigok.rsa2048-sha256.ippacket.stream.
sigok.verteiltesysteme.net. 141 IN      RRSIG   CNAME 13 3 1799 20240201000000 20240111000000 47187 <snip>

;; AUTHORITY SECTION:
ippacket.stream.        2275    IN      NS      ns1.ippacket.stream.
ippacket.stream.        2275    IN      NS      ns2.ippacket.stream.

;; ADDITIONAL SECTION:
ns1.ippacket.stream.    2275    IN      A       195.201.14.36
ns2.ippacket.stream.    2275    IN      A       195.181.240.97

;; Query time: 35 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fr Jan 26 19:57:24 CET 2024
;; MSG SIZE  rcvd: 651
# dig @127.0.0.1 sigfail.verteiltesysteme.net A +dnssec

; <<>> DiG 9.11.5-P4-5.1+deb10u9A~5.0.4.202307241136-Univention <<>> @127.0.0.1 sigfail.verteiltesysteme.net A +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7040
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
; COOKIE: 1c015598ec800c0d6db4766365b4011573fa4a2e95c9a73c (good)
;; QUESTION SECTION:
;sigfail.verteiltesysteme.net.  IN      A

;; ANSWER SECTION:
sigfail.verteiltesysteme.net. 356 IN    CNAME   sigfail.rsa2048-sha256.ippacket.stream.
sigfail.verteiltesysteme.net. 356 IN    RRSIG   CNAME 13 3 1799 20240201000000 20240111000000 47187 <snip>

;; AUTHORITY SECTION:
ippacket.stream.        2146    IN      NS      ns1.ippacket.stream.
ippacket.stream.        2146    IN      NS      ns2.ippacket.stream.

;; ADDITIONAL SECTION:
ns1.ippacket.stream.    2146    IN      A       195.201.14.36
ns2.ippacket.stream.    2146    IN      A       195.181.240.97

;; Query time: 903 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fr Jan 26 19:59:33 CET 2024
;; MSG SIZE  rcvd: 655

Starte ich den Query hingegen auf den UCS Systemen gegen den Forwarder 10.0.2.254 ist alles wie es soll.

# dig @10.0.2.254 sigok.verteiltesysteme.net A +dnssec

; <<>> DiG 9.11.5-P4-5.1+deb10u9A~5.0.4.202307241136-Univention <<>> @10.0.2.254 sigok.verteiltesysteme.net A +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45781
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;sigok.verteiltesysteme.net.    IN      A

;; ANSWER SECTION:
sigok.verteiltesysteme.net. 58  IN      CNAME   sigok.rsa2048-sha256.ippacket.stream.
sigok.verteiltesysteme.net. 58  IN      RRSIG   CNAME 13 3 1799 20240201000000 20240111000000 47187 <snip>

;; Query time: 36 msec
;; SERVER: 10.0.2.254#53(10.0.2.254)
;; WHEN: Fr Jan 26 19:58:47 CET 2024
;; MSG SIZE  rcvd: 555
# dig @10.0.2.254 sigfail.verteiltesysteme.net A +dnssec

; <<>> DiG 9.11.5-P4-5.1+deb10u9A~5.0.4.202307241136-Univention <<>> @10.0.2.254 sigfail.verteiltesysteme.net A +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 8116
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;sigfail.verteiltesysteme.net.  IN      A

;; Query time: 263 msec
;; SERVER: 10.0.2.254#53(10.0.2.254)
;; WHEN: Fr Jan 26 20:00:50 CET 2024
;; MSG SIZE  rcvd: 57

Ein Test direkt auf den Firewalls gibt natürlich auch die korrekten Werte zurück.

Was übersehe ich?

Lösung: named.conf.options wird von der Univention configuration nicht verwendet. Ich habe es jetzt direkt in die Templates von named.conf und named.conf.samba4 eingetragen.

Mastodon