Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to find a few options of ways to do high availability DNS hosting for a few existing websites. This morning, the company I work for was brought to its knees because the DNS hosting we have for our domains through our registrar (bulkregister.com) went down. I'm now being tasked with finding an alternative which will not put us at the mercy of a single DNS provider.

What we're looking for:

  • No single point of failure.
  • Time effective.
    • One solution that has been suggested is to do multiple DNS hosts. This seems like a great alternative, but we have over 20 domains, and updating an IP address on all of those domains across two providers is prohibitive.
  • Cost effective.
    • I have to sell this to upper management. Joy is me.

So what methods exist which support this? I'm more of a programmer myself, but they've tasked me with this, so I wanted to get the opinion of people more experienced than I am.

share|improve this question
add comment

8 Answers 8

up vote 8 down vote accepted

You can use any number of DNS hosters that have geographically dispersed name servers.

http://www.dyndns.com/services/dns/custom/

http://www.easydns.com/dnsmanage.php3

You could also move your name servers and DNS zones to a registrar that has a more robust and resilient infrastructure, such as Network Solutions.

share|improve this answer
    
That was one of the options suggested by a friend of mine, but it seems like it would take a ton of work to move 20+ domains to a new IP address, or change their MX record. –  Jack M. Jan 11 '10 at 18:26
    
Well it will take some work, but it's better than having another outage or worrying about another outage. If it were me I would move my name servers to Network Solutions (which is what my company is actually considering now) and I would even go so far as to recommend transferring your domains to Network Solutions. They are one of the largest DNS hosters\Registrars in the world. I would rather put my trust in them than almost anybody else. –  joeqwerty Jan 11 '10 at 18:32
    
+1 for EasyDNS, migrated to them for same reason as OP –  HTTP500 Jan 11 '10 at 21:02
    
+1 for DynDNS and for the OP their Dynect arm may be what they're after –  Cry Havok Oct 19 '10 at 17:13
    
If you can get your existing provider to enable XFER transfers, the new host can copy the entire DNS zone in a single command. Then it is just a case of swapping the name servers. –  Ryaner Apr 30 '11 at 8:20
add comment

If done right, all you need to do is update the master DNS server, and have the rest as slaves, which will either poll the master or be informed by the master of a pending update. Once you have automatic updates set up, you can have as many slaves as meet your availability needs and then they'll keep up to date, provided the master itself is reachable.

share|improve this answer
add comment

You could run your own DNS servers and multiple colos on multiple servers and setup failover and clustering. Either using windows or linux, you can setup single shared resources that are shared between servers, preferably over a point to point or vpn, and when one server/location goes down within seconds the next available server picks up the shared resource such as ip addresses. I have a similar solutions running at my orginization, we have multiple buildings, each building as a DNS server as well as some other windows and linux servers, sans and such. Majority of the servers are setup in a failover cluster so if one building explodes, the network is still up. For example, our dhcp servers have and ip address in it that is a shared ip between 3 dns servers, i can unplug 2 of the 3 dns servers and that single ip address would just point to the remaining alive server. This is real easy to do with Windows 2008 clustering, and you can do it for real cheap with linux and drbd (http://www.drbd.org/).

If all that work or cost of hardware is not a viable option, you can look at DNS providers that guarantee 4 or 5 9's up-time and have multiple servers in colos around the US. I don't know of any of those providers for DNS but i'm sure there are services offered but alot of the registrars out there such as places like godaddy.com

share|improve this answer
add comment

Host the DNS on one of your servers, and have any number of other servers pull from it. ISC, the creators of BIND, even offer commercial hosting. I'm not certain of the terms, but you can find more info on their web site.

The nice thing about hosting the DNS locally is that you are in no way trapped by any provider -- if they hurt you, you can just move to another. It will require work to move, but it's just a few hours of web-facing work, and won't affect your customers at all. It is hard to get your zone data out of a fancy editing tool on some registry sometimes.

However, unless you are DNS experts, I don't recommend serving your own DNS. It's not as trivial as some people think to do this on your own. There are all kinds of interesting things to learn before attempting it, and it's not like HTTP hosting.

What you want are geographical diverse, stable, and able-to-run-if-part-crashes providers. That is, an earthquake in California should not take out their entire service. They should have multiple "time zone" presence, and if possible, multiple continent presence.

share|improve this answer
add comment

What we're looking for:

  • No single point of failure
  • Time effective.
  • One solution that has been suggested is to do multiple DNS hosts. This seems like a great alternative, but we have over 20 domains, and updating an IP address on all of those domains across two providers is prohibitive.
  • Cost effective.
  • I have to sell this to upper management. Joy is me.

So what methods exist which support this? I'm more of a programmer myself, but they've tasked me with this, so I wanted to get the opinion of people more experienced than I am.

Secondaries can go a long ways towards mitigating this. Your ISP should be providing free DNS servers upstream of you, at which point you can name them as secondaries and get them to fetch your zone(s). This should go a long ways towards mitigating costs while ensuring that you have something in place.

  • You get to keep your masters the way they are, no contacting registrars to move stuff around
  • Requires minor changes to your setup, where you can specify your server as master and have someone else slave to it
  • DNS response becomes partly someone else's problem
  • Load distribution (not balancing) helps reduce load on each server
  • Your DNS registrar can collapse for a few hours and you can go on your merry way (until the TTL expires your entries)

A "real" DNS hosting service can provide you with this if your ISP doesn't. I recommend DynDNS as they provide the bulk of what you are looking for (multiple locations, minimal downtime, decent web interface).

share|improve this answer
add comment

this is an old thread but still, you're only looking at dns service. Wrong. If your server goes down, no matter how reliable your external dns provider is , you're down. You need to think about this a little. The cheap and better way to go is to have 2 servers with your site on both. nameserver 1 is on one box and nameserver 2 is on the other. So if one server fails, the other will take over.

share|improve this answer
add comment

As a variant of suggestions offered here, you can continue with your existing registrar as long as they provide the ability to make a Zone Transfer. Look for another provider that accepts zone transfers as well. On your zone file, add a few more NS records for this provider (preferably geographically distributed). Once this setup is complete, you should have NS records from more than one DNS provider returned in a DNS query. Make sure your Zone Transfers are set up. After the change your nameservers might look like this:

example.com IN  NS  ns1.provider1.net   172800s (2d)
example.com IN  NS  ns4.provider1.net   172800s (2d)
example.com IN  NS  ns1.provider2.net   172800s (2d)
example.com IN  NS  ns5.provider2.net   172800s (2d)
example.com IN  NS  ns2.provider2.net   172800s (2d)

When provider1 goes down, a recursive DNS server would merely time out on the first two NS and proceed with the next one. This way, even if a geographically-distributed, robust DNS provider goes offline, you are still online with provider2.

  • Advantages: no dependence on a single provider; high availability
  • Disadvantages: Cost of two; complexity of XFER setup
share|improve this answer
add comment

To expand on the answers here, you want a geographical based DNS service with automatic failover. If self-hosting is over the top, my company has been using dnsmadeeasy.com for several years with great success.

Hope that helps.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.