DNS round robin with hosts file and browsers on windows

Posted on 2013-01-07
Last Modified: 2013-02-15
I've been playing around with the following scenario and I'm wondering if this should work in theory:

Configure the following in the hosts file on windows:

<IP of server that's down>     hostA
<IP of server that's down>     hostA
<valid    IP>     hostA

and then access http://hostA:8080 in Chrome, FF and IE. My hope is that all three browsers will eventually find the hostA mapping to the valid IP.

Right now I'm testing with IE and I'm seeing some odd results where it sometimes seems to work and sometimes it doesn't. I wanted to check to set if this configuration and the result I'm expecting are valid.
Question by:opike
  • 3
  • 3
  • 2
  • +1
LVL 26

Expert Comment

ID: 38752699
I have to ask: what's your ultimate goal?  There may be a better way to accomplish it than by messing around with hosts files (which is almost never the best way to accomplish anything, in my opinion).
LVL 57

Expert Comment

ID: 38753067
All 3 IP addresses are "valid."  Just because a host, or a service on a host, may be down, does not mean the IP address is invalid.  It just means that you will not get a response.

If you are hoping that a browser will try each IP address returned until it finds one that responds, you are out of luck.  Browsers will use the 1st IP address returned and that's it.
LVL 16

Expert Comment

ID: 38754244

As giltjr explained round robin is not a high availability solution, it's only a load balancing solution. DNS will load balance requests because of round robin but is not in charge to check availability of services "behind" IP addresses.
So DNS gives you an IP even if the server or services associated to this IP are down.

Applications may be smart enough to check all IPs in the list obtained from DNS until they find an "alive" one... But browsers are not that smart: they ask for an IP, and if this one is "bad" they fail....
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.


Author Comment

ID: 38755802
My ultimate goal is to test the server retry capabilities of the main browsers, which it turns out, all three main browsers (FF, Chrome, IE) possess. This configuration wasn't meant to be a permanent set up, I just wanted to see how the browsers would be have when one of the IPs configured to a host was not available. This blog post covers the high-availability of browsers in more depth:
LVL 57

Expert Comment

ID: 38756005
So you were trying to do a test to prove that testing another person did was right?

O.K., I can live with that.  However what the article says is right.  Most web browsers try the 1st IP address returned in a list and stop there.  In fact most IP based products stop after the 1st address.  Just easier for developers to write code that gets one thing, tries, and fails.

As PaciB stated, round robin DNS was a crude attempt at load balancing.  Was never meant to be used for fail over recovery.

Accepted Solution

opike earned 0 total points
ID: 38756101
Giltjr states: "Most web browsers try the 1st IP address returned in a list and stop there. "

That is not what the article states.

I quote:
"You’d have your program ask the network API for all of the IP addresses associated with a name, and then your program can try them one at a time until it gets something to connect...
<some text omitted>
As it happens, it appears that they (browsers) all do work that way"

My testing confirmed that browsers do in fact behave this way.

Also, I'm not looking for load balancing, just fail over. For our current needs, the fail over capability now built into the all modern, popular browsers, is sufficient.
LVL 26

Expert Comment

ID: 38756175
I'll admit, this functionality is news to me, but if it works, more power to you.  However, if this is for anything but a very small number of users, you'll want to implement it on your DNS server rather than clients' hosts files for ease of administration.  Of course, that means you may get inconsistent results due to client-side caching...

You mentioned that you're seeing some odd results during testing.  Have you used a packet sniffer to see what addresses the test machine is trying to contact?
LVL 57

Expert Comment

ID: 38756508
Misread his results.

This is news to me too.  I will have to do some testing as what he shows as his results have not been what I have experienced.

Author Closing Comment

ID: 38892432
Completed testing and confirmed the results of the article on my own.

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Macbook Sierra OS OpenVPN issue 13 79
Can't connect to WAMP server 5 48
Wired Network vs Wireless 12 53
Unmanaged Switches for Optimized Network Speeds 7 35
Don’t let your business fall victim to the coming apocalypse – use our Survival Guide for the Fax Apocalypse to identify the risks and signs of zombie fax activities at your business.
An article on effective troubleshooting
Viewers will learn how to connect to a wireless network using the network security key. They will also learn how to access the IP address and DNS server for connections that must be done manually. After setting up a router, find the network security…
After creating this article (, I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now