Document how to pull registrar DS records from Knot on ns1

Explain that key material is auto-managed in the KASP keystore under
/var/lib/knot, and that the registrar DS is generated per zone with
`sudo -u knot keymgr <zone> ds`.
This commit is contained in:
Berwn
2026-06-18 12:12:10 +07:00
parent 6e4178df04
commit a4fe2a7b3a
+24
View File
@@ -32,6 +32,30 @@ Automatic signing on `ns1` only, policy `cnx`: ECDSA P-256/SHA-256. The ZSK
auto-rolls; the KSK is kept stable, so the DS at the registrar only changes on a
manual KSK rollover.
### Registrar DS records
Knot manages all key material itself on `ns1` (the only signer); the KSK/ZSK
private keys live in the KASP keystore under `/var/lib/knot` (backed up nightly —
see [Backups](./backups.md)). You never touch the private keys directly.
What a registrar needs is the **DS record** for a zone's KSK, which anchors the
zone into the parent's chain of trust. Generate it on `ns1` — the `keymgr` wrapper
is already pointed at Knot's config, and it runs as the `knot` user that owns the
keystore:
```
sudo -u knot keymgr <zone> ds
```
e.g. `sudo -u knot keymgr cnx.email ds`. Paste the printed DS record (key tag,
algorithm 13, digest type, digest) into the registrar's DNSSEC form for that
domain. Repeat per signed zone (`cnx.network`, `buildfor.life`, `cnx.email`) at
whichever registrar holds each delegation. After submitting, confirm the parent
publishes it with `dig +short DS <zone>`.
The ZSK rolls automatically and needs no registrar action; only a **KSK rollover**
requires re-submitting the DS.
> **Pending (manual):** submit DS records for `buildfor.life` and `cnx.email`
> once they're at a DNSSEC-capable registrar.