Here I sat, tapping my fingers on the desk, waiting for a DNS change to propagate through a number of secondaries (note to self, I have too many secondary DNS servers at home). While sitting, tapping my fingers I dozed off and dreamt of fishing on the river I grew up on, of the sweet looks my daughter gives me and of retiring into a luddite colony of burning men and women in the desert. When I awoke and wiped the drool from my face, I realized I was wasting my life waiting for DNS to propagate. Then I flushed the cache one more time, just to see if it’s propagated:
Then fire up my friend Apple Remote Desktop, click on all of my secondaries and run rndc. The rndc command manages name server operations. It can be used for specific zones. A basic use of the command is to simply refresh a zone. Commands are run from the secondaries.
To see statistics on queries, views and other operations, use rndc, followed by the -p option, which specifies the port DNS is running on (54) and then the stats command:
rndc -p 54 stats
You can then cat /var/named/named.stats to see information. Running other commands and looking back at the counters should show when operations are actually running and when they aren’t. Despite the stats, a stale record is stale so to refresh a zone use the refresh command (here we’re going to look at home.krypted.com):
rndc -p 54 refresh krypted.com
This queues up a refresh, which can still take some time. And after using Twitter for a little while, I no longer have any patience. So, I’m going to do a full retransfer, specifying the view to transfer from (this should be com.apple.ServerAdmin.DNS.public in OS X):
rndc -p 54 retransfer krypted.com IN com.apple.ServerAdmin.DNS.public
Now I’m going to reload my configuration, using the aptly named reload verb:
rndc -p 54 reload
And then flush the cache one last time and use dig to check my records. Viola. Now I can go home and have a life writing blog posts, books and articles. Ah, I love technology again. Amazing what not having to wait for things will do for ya’. Hmmm. I guess Captain Ludd can kiss my keester!