See example in https://bind9.readthedocs.io/en/v9_16_26/dnssec-guide.html
that says:
Enabling Automated DNSSEC Zone Maintenance and Key Generation
To sign a zone, add the following statement to its zone clause in the
BIND 9 configuration file:
options {
directory "/etc/bind";
recursion no;
...
};
zone "example.com" in {
...
dnssec-policy default;
...
};
The dnssec-policy statement causes the zone to be signed and turns on
automatic maintenance for the zone. This includes re-signing the zone
as signatures expire and replacing keys on a periodic basis. The value
default selects the default policy, which contains values suitable for
most situations.
Not that dnssec-policy
can be in a zone
statement, or in options
but then it applies everywhere. Specially at the beginning, to test things, you might want to restrict things per zone.
But other than that, it should work out of the box with that configuration.
If not the case for you, you need to give more details based on your logfiles.
Later in the same page you can have a look at the expected log lines with the above configuration:
07-Apr-2020 16:02:55.045 zone example.com/IN (signed): reconfiguring zone keys
07-Apr-2020 16:02:55.045 reloading configuration succeeded
07-Apr-2020 16:02:55.046 keymgr: DNSKEY example.com/ECDSAP256SHA256/10376 (CSK) created for policy default
07-Apr-2020 16:02:55.046 Fetching example.com/ECDSAP256SHA256/10376 (CSK) from key repository.
07-Apr-2020 16:02:55.046 DNSKEY example.com/ECDSAP256SHA256/10376 (CSK) is now published
07-Apr-2020 16:02:55.046 DNSKEY example.com/ECDSAP256SHA256/10376 (CSK) is now active
07-Apr-2020 16:02:55.048 zone example.com/IN (signed): next key event: 07-Apr-2020 18:07:55.045
See the signed
on last line and the timestamp given when something (probably new signatures) will happen.
As for:
I need to fix the signature expiration before I can upload the DS records in order to keep things from breaking when I do.
Even without problems, NEVER upload a DS without having checked locally the validation works end to end. You can do it with an online tool like DNSViz, specifying explicitly the new DS that you are about to add, and the tool will test things as if the DS is ok already.
Note that normally the KSK (of which the DS
record is an hash basically) is supposed to change "regularly" to the tune of once yearly to each 2 years or things like that. At which point you need to rotate the DS
as well, but with cautions if you don't want to break resolution.