Mac OS X Server,  Ubuntu

OS X Server: Forcing DNS Propagation

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:

dscacheutil -flushcache

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 https://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 https://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!