Was really confused when trying to reload a zone. I would receive the error rndc: 'reload' failed: dynamic zone. This was especially frustrating because in a similar installation, a simple service named reload would do just fine; not this time. Also, remember the point is to not completely reload named; doing so will clear its cache (if used as a local DNS resolver) and cause a small outage if clients do not have their current domain lookup cached.
Assuming the zone to update is called “THEZONE” perform the following:
1 2 3 4 5 |
vim /var/data/named/data/zones/THEZONE.zone; # update the zone in vim and save rndc freeze THEZONE rndc reload THEZONE rndc thaw THEZONE |
If necessary, don’t forget to update the reverse DNS records. I’m lazy and use PTR:
1 2 3 4 5 |
vim /var/data/named/data/zones/reverse-IPADDR.in-addr.arpa.zone # update the PTR record rndc freeze IPADDR.in-addr.arpa rndc reload IPADDR.in-addr.arpa rndc thaw IPADDR.in-addr.arpa |
So… the moral of the story is to freeze, reload and thaw. Remember f-r-t (or fart?).