# DNS disaster-recovery delegation issue

I'm trying to think through how to change the A record for a website I host in the context of disaster recovery.

I have the Apache and mySQL replication working, and tested locally by changing my hosts file. Now the remaining question is: what about DNS?

Here's the SOA:

campus.school.edu. IN SOA dns.campus.school.edu. root.campus.school.edu.

campus.school.edu. IN NS dns.campus.school.edu.

campus.school.edu. IN NS dns2.campus.school.edu.

campus.school.edu. IN NS anotherschool.edu.

Importantly, dns.campus.school.edu is the master. And the relevant A record is:

website IN A 10.10.100.100

Now let's say my campus is down. The web server and both DNS servers are FUBAR.

How can I change the A records for website.campus.school.edu if my master is down? (Asking anotherschool.edu to become the master in case of disaster is highly impractical...)

Could I:

1. Ask the DNS folks at school.edu to delegate website.campus.school.edu records to another server (say, dns.amazoncloud.com) while still delegating campus.school.edu to me?

2. Have the DNS in school.edu override my A record for website.campus.school.edu?

Another thing: having a hidden-master for campus.school.edu at dns.amazoncloud.com in advance is also currently impractical, for political/timing/PM reasons. So I'm trying to cobble together a solution to address disaster recovery for that one particular host while changing the larger status quo as little as possible : )

-
Can you ask anotherschool.edu to do anything in case of disaster or does everything have to be set up ahead of time? –  Mark Wagner May 4 '11 at 17:34
Yeah, we could but I'm afraid it would take too long... : P –  André Pitanga May 4 '11 at 18:41

Given that anotherschool.edu will do nothing during the disaster I'd delegate website.campus.school.edu to dns.amazoncloud.com (or any other DNS provider). Change

website IN A 10.10.100.100


to

website IN NS A.B.C.D
IN NS E.F.G.H
IN NS I.J.K.L


where A..., E..., and I... are the IP addresses of the new DNS provider.

Set up the dns provider's servers to be authoritative for the domain website.campus.school.edu and give it an A record of 10.10.100.100

anotherschool.edu, being a slave, will update with this information as well.

I don't know why wolfgangsz says you have to delegate the entire subdomain.

-
That's what I wanted to know! –  André Pitanga May 4 '11 at 21:01
It was so clear all along. Not sure why I couldn't think of it... :) –  André Pitanga May 4 '11 at 21:09

Since website.campus.school.edu is an A record in the zone campus.school.edu, and the entire zone is unavailable, you would have to get the guys running DNS for school.edu to point to a different DNS server for the campus subdomain, which would then need to provide the DNS for your backup solution. Therefore in essence, your idea in 1. above is the correct one, except for the fact that they will have to delegate the entire subdomain, not just one A record.

If, however, all you want is a redirection of that website, then that could be achieved with the simple addition of that A record to the school.edu domain, although this would probably need to be done manually.

If you want this to be any sort of "hot" standby, you would need to have a hidden master for campus.school.edu somewhere. As long as that hidden master is not pointed at by any of the live records in campus.edu, nothing will happen (because nobody is querying it). The actual changes in the school.edu domain can be scripted (if the DNS folks at school.edu are willing to help you out there).

-
Yeah, when you say "the entire zone is unavailable" I think that's the crux of the matter. I wish there was a way for you to delegate a zone but still be able to override a record in that zone... –  André Pitanga May 4 '11 at 18:42