Hi,

There may be a couple of problems depending on how instant you want the changes 
to be. With a low DNS TTL there are resolvers out there that ignore low TTL’s, 
caching records for a longer period of time (there is a large Australian ISP 
that does this for example). Another case is DNS pinning, although I am not 
sure how widely used it is.

If I was going to do this I personally would use a different fail over method, 
eg. BGP or perhaps pointing the A record to a load balancing type service where 
you can add/remove servers from a pool as you see fit (or automatically). This 
depends on the service though – every time I have configured something for high 
availability it has been to ensure that it can be accessed everywhere with no 
problems in a failure scenario and DNS just isn’t a reliable method for failing 
over to another location. In some cases it has worked out better offloading the 
hosting to someone else so they can take care of it, but it does depend on the 
budget (most highly available services have some sort of monetary motivation 
for going HA in the first place).

With that aside, maybe PowerDNS with a LUA based backend could be suitable and 
you can script it to exactly your needs. I guess it could also be done out of a 
SQL database (eg. just have a script that checks the server to see if it's up, 
if it is then update the A record in the database). The SQL databases for 
PowerDNS don't require a reload for new/changed records, but they do get cached 
internally for a period of time.

Thanks,
Chris

-----Original Message-----
From: Pandu Poluan [mailto:pa...@poluan.info] 
Sent: Monday, 21 November 2011 5:52 PM
To: Gentoo-server@lists.gentoo.org
Subject: [gentoo-server] Failover-capable DNS server?

Hello all, I'm in need of some suggestions.

You see, I have 2 Internet connections with public IP addresses, let's say ISP 
A 11.22.33.44 and ISP B 22.33.44.66

Now, I want outside parties trying to connect to "target.example.com"
by default resolves to 11.22.33.44, but if ISP A's connection goes down for any 
reason, the DNS server will instead return "22.33.44.66".

The nameserver itself will be located in the company, accessible from the world 
via "ns1.example.com" = 11.22.33.44:53 or "ns2.example.com"
= 22.33.44.66:53. This allows the nameserver to monitor the state of the 
connections to ISP A and ISP B.

I've been perusing pages discussing BIND, and came to the conclusion that BIND 
is incapable of doing that.

Anyone can recommend me a DNS server that has such capability? Or how to 
implement this ability with maybe Python or (*shivers*) Perl?

Rgds,
--
FdS Pandu E Poluan
~ IT Optimizer ~

 • LOPSA Member #15248
 • Blog : http://pepoluan.tumblr.com
 • Linked-In : http://id.linkedin.com/in/pepoluan

Reply via email to