DNST-SIGNZONE(1)
π
DNST-SIGNZONE(1) β the dnst girlies' guide
okay so listen bestie, this is dnst-signzone, part of the dnst tool family, and it's literally the glow-up station for your zone π
β¨ NAME β¨
dnst-signzone β sign the zone with whatever key(s) you're handing it π
πΈ SYNOPSIS πΈ
dnst signzone [OPTIONS] -o <ORIGIN> <ZONEFILE> <KEY>...
π¦ DESCRIPTION π¦
dnst signzone signs the zonefile using the key(s) you give it, no cap.
Signing a zone adds DNS Security Extensions (DNSSEC) resource records to it β that's the whole vibe β¨
Keys have to be specified by their base name (usually K<name>+<alg>+<id>), meaning WITHOUT the .private or .key extension. And heads up: you need both the .private and the .key files, both of them, periodt.
π ARGUMENTS π
<ZONEFILE>β the zonefile you're signing. Any existing NSEC(3) and/or RRSIG resource records will be skipped when loading the file (so don't stress about duplicates, they get ignored π).<KEY>...β the keys you're signing the zonefile with.
π OPTIONS π
-dβ don't add the used keys to the resulting zonefile.-e <DATE>β set the expiration date of signatures to this date (peep the DATES section π). Defaults to 4 weeks from now.-f <FILE>β write the signed zone to a file. Use-f -to output to stdout instead. Defaults to<ZONEFILE>.signed.-i <DATE>β set the inception date of signatures to this date (again, DATES section). Defaults to now.-o <DOMAIN>β use this owner name as the apex of the zone. Mandatory, so you literally cannot skip it.-uβ set the SOA serial to the number of seconds since Jan 1st 1970.
If this would NOT result in the SOA serial increasing, it gets incremented instead. (no time-traveling serials allowed π)
-nβ use NSEC3 instead of NSEC. By default, RFC 9276 best practice settings are used: SHA-1, no extra iterations, empty salt. Want different NSEC3 settings? Check the NSEC3 options below.-Aβ sign DNSKEYs with all keys instead of the minimal set.-Uβ sign with every unique algorithm in the provided keys.-z <[SCHEME:]HASH>β add a ZONEMD resource record. Accepts both mnemonics and numbers. You can pass this option more than once to add multiple ZONEMD RRs β however, only one per scheme-hash tuple actually gets added.HASHsupportsSHA384(1) andSHA512(2).SCHEMEsupportsSIMPLE(1), which is the default.-Zβ allow adding ZONEMD RRs without signing the zone. With this option, the<KEY>...argument becomes optional, and it determines whether to sign the zone.-Hβ hash only, don't sign. With this option, the normally mandatory<KEY>...argument can be omitted π«Ά-h,--helpβ print the help text (short summary with-h, long help with--help).
π OUTPUT FORMATTING OPTIONS π
These ones only affect how the output is formatted, bestie β the following options can be used for that:
-bβ add comments on DNSSEC records. Without this option, only DNSKEY RRs get their key tag annotated in the comment.-Lβ precede the zone output by a list containing the NSEC3 hashes of the original ownernames.-Oβ order NSEC3 RRs by unhashed owner name.-Rβ order RRSIG RRs by the record type that they cover.-Tβ outputYYYYMMDDHHmmSSRRSIG timestamps instead of seconds since epoch.
π§ NSEC3 OPTIONS π§
The following options can be used with -n to override the default NSEC3 settings:
-s <STRING>β specify the salt as a hex string. Defaults to-, meaning empty salt.-t <NUMBER>β set the number of extra hash iterations. Defaults to0.-pβ set the opt-out flag on all NSEC3 RRs.-Pβ set the opt-out flag on all NSEC3 RRs and skip unsigned delegations.
β DATES β
A date can be a UNIX timestamp as seconds since the Epoch (1970-01-01 00:00 UTC), or of the form <YYYYMMdd[hhmmss]>. Easy β¨
π AUTHOR π
NLnet Labs
π COPYRIGHT π
2024β2026, NLnet Labs
okay that's the whole thing, mwah π β this page is from the dnst manual, version 0.2.0-alpha2, dated May 15, 2026, brought to you by the lovely people at NLnet Labs. go sign your zone, it's giving secure πΈπ¦
π¦ where this page comes from
- nixpkgs unstable: dnst 0.2.0-alpha3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms