Sign in to follow this  
Followers 0

Using DNS to provide redundancy

14 posts in this topic

Posted

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

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

Microsoft DNS - the servers are only used on the internal network - not accessed from external unless on vpn

Share this post


Link to post
Share on other sites

Posted

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.

Share this post


Link to post
Share on other sites

Posted

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"

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

You would need some kind of Load Balancer Application or Hardware

Share this post


Link to post
Share on other sites

Posted

"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?

Share this post


Link to post
Share on other sites

Posted

With round Robin will you get the server IP returned if a server was down? Or will it only return servers that are up?

Share this post


Link to post
Share on other sites

Posted

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.

Share this post


Link to post
Share on other sites

Posted

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?

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.