After every update, the soa serial is updated as this is required by section 3.7 of RFC2136. The behaviour is configurable via domainmetadata with the SOA-EDIT-2136 option. It has a number of options listed below. If no behaviour is specified, DEFAULT is used.
RFC2136 (Section 3.6) defines some specific behaviour for updates of SOA records. Whenever the SOA record is updated via the update message, the logic to change the SOA is not executed.
![]() | Note |
---|---|
Powerdns will always use SOA-EDIT when serving SOA records, thus a query for the SOA record of the recently update domain, might have an unexpected result due to a SOA-EDIT setting. |
An example:
sql> select id from domains where name='powerdnssec.org'; 5 sql> insert into domainmetadata(domain_id, kind, content) values(5, ‘SOA-EDIT-2136’,’INCREASE’);
This will make the SOA Serial increase by one, for every successful update.
These are the settings available for SOA-EDIT-2136.
Generate a soa serial of YYYYMMDD01. If the current serial is lower than the generated serial, use the generated serial. If the current serial is higher or equal to the generated serial, increase the current serial by 1.
Increase the current serial by 1.
Change the serial to the number of seconds since the EPOCH, aka unixtime.
Change the serial to whatever SOA-EDIT would provide. See Chapter 15, Per zone settings aka Domain Metadata
Change the serial to whatever SOA-EDIT would provide. If what SOA-EDIT provides is lower than the current serial, increase the current serial by 1.