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