Double NS record “redirect”

domain-name-system

I'm in the middle of switching a running service from one host to another. Switching the DNS records at the domain registrar takes up to a few days though. Since there will be data input into the service continuously and I want to minimize data synchronization headaches and downtime, I'm migrating to an intermediary DNS server in the meantime. The scenario in more detail:

The NS entries for the domain (the ones that are slow to switch) are currently pointing to the name servers of the current host.

example.com  -NS->  dns.current-host.com  -A->  current-host

I want to point them at a different DNS server, which is located at the new host, which I can update any time, which points to the current host:

example.com  -NS->  dns.new-host.com  -NS->  dns.current-host.com  -A-> current-host

To migrate completely, I'll just switch the entries at dns.new-host.com to point an A record at the new host and migrate the data once. With low TTLs set in advance, I hope to make this a quick transition.

I have set this up now for a test domain. I have added these records to dns.new-host.com:

example.com.        300 IN  NS  dns0.current-host.com.
example.com.        300 IN  NS  dns1.current-host.com.

This does not seem to work as expected though. A normal name resolution does not succeed. I had to add A records directly to dns.new-host.com.

Additionally, dns.new-host.com throws in a SOA record, which I have no control over:

exmaple.com.        3600    IN  SOA dns.new-host.com. ipadmin.new-host.com. 1335316678 3600 300 1814400 300

My questions:

  • Does this plan seem feasible at all? I have confirmed it twice with support guys at new-host.com who confirmed it should work. Is a double NS record "redirect" supported, or do I need to go with A records directly?
  • Does the SOA record have any influence? I'm not really quite sure what it's for.

Best Answer

I won't even address any NS-to-NS with the SOA and the lead pipe in the registrar whodunit hi-jinks.

Plain and simple, you don't need to do any of that.

Since there will be data input into the service continuously and I want to minimize data synchronization headaches and downtime, I'm migrating to an intermediary DNS server in the meantime.

I totally understand. Been there and done that with DNS hosts that don't allow for ultra-low TTL values. Usually they're highly standardized and/or bargain basement web hosts that just offer DNS as a means of registering new domain names to catch new customers.

However, the solution is to add all of the DNS records that currently exist on your old host to your new host's zone. Then, when you're ready, switch the NS records at your registrar to point to new-host's DNS servers. Wait for a few days. No one is any wiser that you've switched DNS hosts. After a few days, you can then change TTL values and switch A records all you want.

Simple!