I recently had a server go offline, taking with it the DNS for my main email domain. I had long suspected this would be a major potential problem in the setup. When the server went down the DNS settings where not backed up by the hosting company so all of a sudden people emailing me started to encounter bounce backs and I could not work out why. Then it dawned on me that when the server died something must have gone missing.

As you can understand this was pretty annoying so I decided I needed to implement a better, more robust solution. Having used both ZoneEdit.com and EveryDNS.net before I wondered whether they supported Slave/Secondary DNS setups. Thankfully they do and to sweeten the deal further, they are both free!

To setup you will first need to head over and get yourself accounts at both of the providers and then begin setting your domain up at either of the two. This will be your Primary/Master DNS/record. I chose to go with EveryDNS as the primary so the instructions below reflect that.

Begin setting up your domain on EveryDNS by creating all your A, MX and CNAME records. You will then need to set AXFR to allow all access so that the ZoneEdit servers will have access to the settings and records at EveryDNS.

Now it is time setup the ZoneEdit side of things. Add the new zone for the same domain to your account and edit it. Go to the Advanced Settings for your zone, the link for which will be near the bottom of the page. In the list of links towards the bottom you will find Make this Zone a Slave/Secondary obviously choose confirm when it asks.

You need to put in the IP address of the EveryDNS nameserver you wish to set as the Primary Server. I chose ns1.everydns.net, which when pinged works out to be 38.99.14.207 as you can see in the image above.

Underneath this you will see the nameservers you have been assigned by ZoneEdit, make a quick note of these as you will need to put them in EveryDNS.

Back at EveryDNS we need to add a NS record to our domain for every slave server we have setup. Otherwise they will not respond authoritatively for the domain, which is no good. You can see my to ZoneEdit NS records in the EveryDNS screenshot above.

Now you will want to enter all (six in my case) of your new DNSs into your domain name registrar’s management interface. Then all you have to do is wait for the DNSs around the world to cache your new setup.

Once everything has propagated it is a good idea to run the handy diagnostic tool at DNSReport.com and ensure there are no errors or problems. Sometimes the EveryDNS and ZoneEdit servers may show up as being out of synchronisation after a few changes but they will soon match up.