Skip to content

After some hours, Cascade no longer serves the zone (NXDOMAIN) #911

Description

@bortzmeyer

This is exactly bug #353 but it was closed and I don't have permission to re-open it.

cascade 0.1.0-beta5 (no-git). After one or two days of normal behavior:

% cascade zone status --detailed cours-dns.fr
zone:   cours-dns.fr
policy: ovh-no-ed25519
source: /etc/cascade/zones/cours-dns.fr

review
  loaded: script `/etc/cascade/reviews/review.bash unsigned`
  signed: script `/etc/cascade/reviews/review.bash`

last published
  loaded serial: 2026022000
  signed serial: 2026071503
  timestamp:     2026-07-15T13:33:25.163621923Z
  size:          22 records

status: idle

Published zone available at:
  - 127.0.0.1:8053

DNSSEC keys:
  KSK tagged 49553:
    Reference: file:///var/db/cascade/keys/Kcours-dns.fr.+013+49553.key
    Actively used for signing
  ZSK tagged 36370:
    Reference: file:///var/db/cascade/keys/Kcours-dns.fr.+013+36370.key
    Actively used for signing
  Details:
    key file:///var/db/cascade/keys/Kcours-dns.fr.+013+36370.key expires at 2026-07-22T07:32:44Z
    key file:///var/db/cascade/keys/Kcours-dns.fr.+013+49553.key expires at 2026-09-14T07:32:44Z

But:

% dig @localhost -p 8053 cours-dns.fr SOA    

; <<>> DiG 9.20.23-1~deb13u1-Debian <<>> @localhost -p 8053 cours-dns.fr SOA
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 40316
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 0
;; QUESTION SECTION:
;cours-dns.fr.		IN SOA

;; Query time: 8 msec
;; SERVER: 127.0.0.1#8053(localhost) (UDP)
;; WHEN: Wed Jul 15 21:23:36 CEST 2026
;; MSG SIZE  rcvd: 41

(Same thing for ports 8051 and 8052.)

The last lines of history;

2026-07-15T11:33:15Z -          Keyset command '/home/cascade/.cargo/bin/dnst keyset -c /var/db/cascade/keys/cours-dns.fr.cfg cron' succeeded in 0s
2026-07-15T11:33:15Z -          Started resign
2026-07-15T12:33:20Z -          Keyset command '/home/cascade/.cargo/bin/dnst keyset -c /var/db/cascade/keys/cours-dns.fr.cfg cron' succeeded in 0s
2026-07-15T12:33:20Z -          Started resign
2026-07-15T13:33:25Z -          Keyset command '/home/cascade/.cargo/bin/dnst keyset -c /var/db/cascade/keys/cours-dns.fr.cfg cron' succeeded in 0s
2026-07-15T13:33:25Z -          Started resign
2026-07-15T13:33:25Z 2026071503 Signing succeeded (triggered by a change in signing keys)
2026-07-15T13:33:25Z 2026071503 Signed zone review pending
2026-07-15T13:33:25Z -          Signed zone review approved
2026-07-15T14:33:30Z -          Keyset command '/home/cascade/.cargo/bin/dnst keyset -c /var/db/cascade/keys/cours-dns.fr.cfg cron' succeeded in 0s
2026-07-15T14:33:30Z -          Started resign
% dnst --version
dnst 0.2.0-alpha3

The log says:

Jul 15 18:21:51 ayla cascaded[2932167]: ayla cascaded[2932167]: Returning SERVFAIL for AXFR request from client '127.0.0.1' for zone 'cours-dns.fr': zone is empty
Jul 15 18:22:11 ayla cascaded[2932167]: ayla cascaded[2932167]: Enqueuing a re-sign operation
Jul 15 19:18:37 ayla cascaded[2932167]: ayla cascaded[2932167]: Returning SERVFAIL for AXFR request from client '127.0.0.1' for zone 'cours-dns.fr': zone is empty

The zone is not empty:

% cat /etc/cascade/zones/cours-dns.fr
; -*- zone -*-

$TTL 300
@ IN  SOA ns4.bortzmeyer.org. hostmaster.bortzmeyer.org. (
        2026022000
        7200
        3600
        604800
        300 ) 
...

And did not change when cascade broke.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions