Just read the latest post on OpenDNS blog, How OpenDNS saved Caio’s job — Caio from Brazil used OpenDNS when his ISP’s DNS server was down, and was able to complete his job.

Similar event happened to me today. No, it did not save my job — it was not work related. Let’s just say that OpenDNS has saved my day.

What Happened?

Earlier today when I logged onto my VPS at GPLHost, the server somehow did not feel right. It did not take long to figure out that my VPS cannot resolve any domain name. Bigger surprise was when I discovered that my mail server has a huge queue of emails spooled because it could not figure out where to send those emails to. From the log it appeared that domain name resolution has stopped working for more than 12 hours!

It turned out that the recursive DNS server at GPLHost’s Sydney facility was no longer contactable, and it was the DNS server pre-configured for my VPS. So I quickly fired an email to GPLHost about the situation, and tried to figure out whether there is any remedy.

OpenDNS!!

It was the first public recursive DNS service that pops up in my head. So I quickly updated my resolv.conf to point to OpenDNS’s 2 name servers. Bingo! Problem solved, and domains were resolving again. It did take a while to clear the queue in my mail spool, but I was happy.

OpenDNS saved my day.

I actually used OpenDNS for all my US-based servers. You can now claim IP networks/addresses that belong to your account, and then customise the resolving behaviour. For servers I just want fast resolution — no need for phishing protection or other goodies — and I can easily turn them off from my account page in OpenDNS once I have claimed those IP addresses.

I did not use OpenDNS for my Australian VPS initially as I was afraid of the high latency. It turned out it was not too bad at all. It automatically picked up their DNS servers at Palo Alto, which is around 160ms return trip from my Sydney VPS. Combining that with a local cache/forward-only DNS server (I use Dnsmasq for its light weight), DNS resolution can be very fast from this end of planet (note to myself: need to write a how to on this one Update: done).

They have also recently announced CacheCheck, which allows you to force OpenDNS to refresh its DNS records even before TTL expires. It allows you to quickly test DNS changes. You usually have to restart local recursive server after you have made some changes to flush the cache. Now you can just set your recursive server to always forward requests to OpenDNS, and flush the zone from their web interface.

Thanks OpenDNS.