3. Master operation

When operating as a master, PDNS sends out notifications of changes to slaves, which react to these notifications by querying PDNS to see if the zone changed, and transferring its contents if it has. Notifications are a way to promptly propagate zone changes to slaves, as described in RFC 1996.

[Warning]Warning

Master support is OFF by default, turn it on by adding master to the configuration. The same holds for slave operation. Both can be on simultaneously.

[Warning]Warning

If you have DNSSEC-signed zones and non-PowerDNS slaves, please check your SOA-EDIT settings.

[Warning]Warning

Notifications are only sent for domains with type MASTER in your backend.

Left open by RFC 1996 is who is to be notified - which is harder to figure out than it sounds. All slaves for this domain must receive a notification but the nameserver only knows the names of the slaves - not the IP addresses, which is where the problem lies. The nameserver itself might be authoritative for the name of its secondary, but not have the data available.

To resolve this issue, PDNS tries multiple tactics to figure out the IP addresses of the slaves, and notifies everybody. In contrived configurations this may lead to duplicate notifications being sent out, which shouldn't hurt.

Some backends may be able to detect zone changes, others may chose to let the operator indicate which zones have changed and which haven't. Consult the documentation for your backend to see how it processes changes in zones.

To help deal with slaves that may have missed notifications, or have failed to respond to them, several override commands are available via the pdns_control tool (Section 1.1, “pdns_control”):

pdns_control notify domain

This instructs PDNS to notify all IP addresses it considers to be slaves of this domain.

pdns_control notify-host domain ip-address

This is truly an override and sends a notification to an arbitrary IP address. Can be used in 'also-notify' situations or when PDNS has trouble figuring out who to notify - which may happen in contrived configurations.