Using DNS to provide redundancy


Recommended Posts

I have two servers that serve the same function. One is used as a backup of the other.

server1.domain.local

server2.domain.local

How would I create a link such as link1.tsf.local which will always point to server1.domain.local but in the event that server is down points to server2.domain.local

Link to comment
Share on other sites

using what for your nameserver, bind, microsoft?

This sort of thing is not done in dns - now some dns services provide this feature but its not actually done in the dns server software... You need another system that monitors the systems and changes the record in dns when the server goes down.

example of dns service provider that provides this functionality

http://www.zoneedit.com/failover.html

And for this to work you need to use a very low TTL to make it feasible.

Here is a script that you could run to change your records for you

http://www.freebsdwiki.net/index.php/BIND,_dynamic_DNS,_failover_A_records

Link to comment
Share on other sites

There is nothing in MS dns to do that - like I said you would need some script or software to monitor the systems and then change the dns record. You could modify the script I linked to do what you want. MS dns might a bit more difficult to work with than bind.

Link to comment
Share on other sites

That is NOT WHAT he asked at all!! That is simple round robin, 1 time get this address, next time get that address.

You can load balance that way - not failover!

"which will always point to server1.domain.local but in the event that server is down points to server2.domain.local"

Link to comment
Share on other sites

That is NOT WHAT he asked at all!! That is simple round robin, 1 time get this address, next time get that address.

You can load balance that way - not failover!

"which will always point to server1.domain.local but in the event that server is down points to server2.domain.local"

It achieves the same effect. The second server must be up and running in order to provide fall-over, why not use it and load balance as well.

This is how it would work: http://www.nber.org/sys-admin/dns-failover.html

Link to comment
Share on other sites

"It achieves the same effect."

No not really - right off their page

"If one is down. the questions are, will the browser try the second IP address. and how long does it wait to do so?"

You have NO control over what a users browser is, you have no control if the browser will try the other IP. Does his version MS dns even return both IPs on a query? Not sure? The article states BIND does, he is using MS - I know 2k8r2 dns returns both, but not sure what MS dns his is using. If that's the case if 1 server is down you have a %50 change of users getting the BAD IP.

Is is NOT what the user asked for at all. He asked for "failover" - DNS does not provide that feature, round robin is not a failover mechanism. And again he clearly stated he did not want to query server 2 unless server 1 was down. In a round robin setup - your going to get a % of the users hitting all server listed. Maybe the 2nd server only has a page saying - hey sorry we are down sort of thing.

That is what he asked for, not round robin. Maybe it would work, but that is not what he asked for - why didn't he has for load balancing functionality if that is what he wanted?

Link to comment
Share on other sites

It doesn't know if up or down, it returns ALL the entries you have there. DNS does not have any method to check if something is up or down, alive, answering pings, nothing. Its just a listing of IPs from names, and names from IPs - nothing more.

Now with the newer browsers if dns returns 1.2.3.4, and 1.2.3.5 and 1.2.3.6 for example - SOME browsers might try .4 and if does not answer in some period of time, might be 10 seconds, might be 30 seconds try .5, etc..

But not all browsers do this, if this is all internal you could check your brower your users use to see what they do.

Keep in mind if .4 .5 and .6 are all up then load would be split 33% roughly each. Since the order returned would rotate as queries came in for the record.

Link to comment
Share on other sites

  • 5 months later...

There is nothing in MS dns to do that - like I said you would need some script or software to monitor the systems and then change the dns record. You could modify the script I linked to do what you want. MS dns might a bit more difficult to work with than bind.

Budman - the script you linked to - does it work in Windows environment?

Link to comment
Share on other sites

Its a perl script, you can run perl on windows - will it work, have no idea pointed to it like 6 months ago as an example of how you could check for something and then change dns, etc.

Its quite possible someone has written something for windows, etc. That was an example since the functionality asked for is not inherent to dns

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.