TTR Networks

What is NOTIFY?

DNS NOTIFY message

A DNS NOTIFY is a message a primary DNS server sends its secondaries when a zone changes, so they fetch the update at once instead of waiting for a timer.

Without NOTIFY, a secondary only discovers changes by polling: every REFRESH interval in the zone's SOA record (often hours) it asks the primary for the SOA and compares serial numbers. NOTIFY, defined in RFC 1996, turns this into a push. When the zone's serial goes up, the primary sends a short DNS message with the NOTIFY opcode, usually over UDP, to each secondary: normally the servers listed in the zone's NS records, plus any extra addresses configured. The secondary acknowledges it, queries the primary for the current SOA, and if the serial is higher than its own, starts an AXFR or IXFR. The NOTIFY is only a hint to check now; it doesn't carry the changes itself, and the secondary still decides whether to transfer.

The most common reason a NOTIFY seems to do nothing is a serial that didn't increase, because the secondary then sees nothing new. Others are a secondary that doesn't accept NOTIFY from that source address, a primary not configured to send them, or transfers refused even though the NOTIFY arrived. In PowerDNS, primary=yes turns sending on. The server then checks for changed serials on its xfr-cycle-interval (60 seconds by default), so updates usually reach secondaries within a minute, and pdns_control notify example.net sends one immediately. The PowerDNS on Debian lesson times both paths between a primary and its secondary.

Lessons that use NOTIFY

  • PowerDNS on Debian: authoritative, secondary, DNSSEC and recursorTeaches this term · Intermediate · 60 min

    Build a complete DNS service on Debian with PowerDNS: authoritative primary and secondary servers with NOTIFY and AXFR, zones by pdnsutil and the HTTP API, DNSSEC signed all the way from a lab root, and a validating recursor for the office.

Related terms