Low cost auto fallback

Status
Not open for further replies.
Joined
Aug 5, 2002
Messages
23,171
Location
Silicon Valley
Let's say among some of my neighbors we have 2 available broadband connections (Cable and DSL) in 2 separate home, and usually both are working as expected. To improve reliability, we want to cross-bar our connection with automatic fail over, but do not want to spend big money on expensive, commercial grade equipments.

I'm thinking about having 2 network adapter on each machine, one set to higher cost/priority than the other, then the primary set connect to each home's local connection router, and the secondary set connect to an access point / wireless client that receive signal from your neighbor's primary router. This approach has a cost of 1 additional wireless access point / client per home, and 1 additional network card per machine.

Would this work? Anyone tried this? Assume security is well taken care of or not important.


My machine 1:
NIC 1 connect to My router 1 - connect to DSL
NIC 2 connect to My router 2 - client to His router 1

My machine 2:
NIC 1 connect to My router 1 - connect to DSL
NIC 2 connect to My router 2 - client to His router 1

His machine 1:
NIC 1 connect to His router 1 - connect to Cable Modem
NIC 2 connect to His router 2 - client to My router 1

His machine 2:
NIC 1 connect to His router 1 - connect to Cable Modem
NIC 2 connect to His router 2 - client to My router 1
 
Quote:

I'm thinking about having 2 network adapter on each machine, one set to higher cost/priority than the other.


How?

You can only have 1 default route for a machine; that is the from your router to the internet; the other would need to be a static route to the neighbors router. A failover would require changing your routing table

As indicated in the second url below, failover is a commercial based router based function, not one that would be implemented on a host computer.

I'm poking around; I'm sure someone has written something like this for Linux.....

or get this

http://www.hotbrick.com/produto.asp?tipo=2&codPro=22

Quote:

The LB-2 uses 2 high performance WAN ports. Those 2 WAN ports allow:
• Redundancy and automatic failover on both high bandwidth connections
• QoS (Quality of Service), being able to assign how internet sharing is divided between both connections.
• Load Balance Internet Traffic


http://compnetworking.about.com/od/homenetworking/f/multi_homing.htm
 
Last edited:
I think it is possible. You can only have one default route, but if that route fail, then you can have a secondary route "take over". In windows I know you can set the metric per network adapter and it will use the one with lowest cost first.

We have many machines at works that are connected to 2 network, 1 corporate and 1 lab, so we can have the flexibility to do what we want in the lab without having IT blocking us all over the place.

If you look at what I lay out above, it is a pretty straight forward setup of 2 separate networks. What I'm really not sure about is how windows prioritize its traffic and how the failover works.

But wait, how is it different than having both a wireless and wired connection on a laptop, and plug in the CAT5 at home for higher speed?

I'm going to try things out tonight, well report how it works.
 
With Cisco routers running older IOS releases and using static routes, only the loss of a physical connection would delete the route associated with the interface. That is, when it lost link beat on the Ethernet port, any routes associated with that interface went away, and another route of lower priority could take over if it existed.

Cisco apparently changed this in newer IOS releases so you could set the router to ping the gateway on the other side, and if those pings failed then it would delete the route and allow another route of lower priority to take over.

The bottom line is that the router, be it a Cisco or a Windows machine, has to have some way of knowing that the route has failed. There are dynamic routing protocols you could use that would allow the router to know whether a route has failed or not. Does Windows support RIP?
 
Originally Posted By: brianl703
With Cisco routers running older IOS releases and using static routes, only the loss of a physical connection would delete the route associated with the interface. That is, when it lost link beat on the Ethernet port, any routes associated with that interface went away, and another route of lower priority could take over if it existed.

Cisco apparently changed this in newer IOS releases so you could set the router to ping the gateway on the other side, and if those pings failed then it would delete the route and allow another route of lower priority to take over.

The bottom line is that the router, be it a Cisco or a Windows machine, has to have some way of knowing that the route has failed. There are dynamic routing protocols you could use that would allow the router to know whether a route has failed or not. Does Windows support RIP?


Dead link detection and switch over is the key here. The way I set up the routers at home none of the gateway will be dead, it will be a few links down the path (ISP for example) that's usually the unreliable path.

I understand that if you unplug the cable windows will remove the link for you and all your outbound traffic will go through the next low cost link, but what if your connection is live, but it is a dead end? Will a failed connection trigger an entire connection to go out? I don't think so.
 
How about letting the browser make the decision, for example I think there's an auto proxy server treatment where it tries a proxy server and if that doesn't work it tries its own connection. Or is it vice versa? Anyway set up a proxy on your neighbor's computer and for him, yours.
 
Originally Posted By: PandaBear

I understand that if you unplug the cable windows will remove the link for you and all your outbound traffic will go through the next low cost link, but what if your connection is live, but it is a dead end? Will a failed connection trigger an entire connection to go out? I don't think so.


The most common way it could detect a failed connection is if you have some sort of feature where it can ping the remote gateway and delete that route should the pings fail or if you were running a routing protocol such as RIP, in which case it would delete the route when it hadn't received an update within a certain time period.

The problem with using a routing protocol is that your ISP has to cooperate (they have set their router to distribute routes to your router for it to work), so it's really not an option.
 
The ISP's don't really need to know.

What you guys could do is to run some sort of *nix box in each home and that would be the NAT/Firewall/Router and those would be dual homed to each network.

Those boxes would be the single router in each home, but have dual routes out and they can decide, or even be configured to prefer one route to another.

I know Solaris will do dynamic default routing using Router Discovery Protocol, RDISC) and that has nothing to do with passing RIP traffic to outside routers.

So one could set this up so that two *NIX boxes are connected to one another on one of their interfaces, on the other, they could connect to the router going to the DSL|Cable modems. Instead of the routers acting as DHCP servers, they would only serve one address to the outbound interface on the *NIX box.

The *NIX boxes would serve up their own set of addresses inside each respective home.

It could be done with only two NICs on each host if you are comfortable with each home seeing the computers in the other home.

If you want more separation, then three NICs on the *NIX boxes would be sufficient.

Something like this:

Home_1_NIX_Router:

eth0: out to ISP1
eth1: on 10.10.10.1/24 Net to neighbor
eth2: on 192.168.10.0/24 Net inside Home1

Home_2_NIX_Router:

eth0: out to ISP2
eth1: on 10.10.10.2/24 Net to neighbor
eth2: on 192.168.20.0/24 Net inside Home2

Each of those routers would be the default routers out of their respective homes, and could share routing information internally, RIP or even have multiple default routes in the case of Solaris

So the Home_1_NIX_Router could list the IP of the ISP1 attached router as it's first default route and 10.10.10.2 as it's second default router. It will try the local router first and then go to the neighbors if that doesn't work.

Probably have to set up NAT on the *NIX boxes.

Might be able to do this with dedicated HOME routers as well, such as the Linksys routers that can be flashed with 3rd party firmware that could pass RIP inside the two homes networks, but not share that with the ISP's EXTERNAL routers. I.E. rip wouldn't go out the external interface, but is processed internally.

So the ISP doesn't have to cooperate, but it would be nice if the router provided by each ISP would process RIP "inside" but not pass it outside.

The home ISP router is going to do NAT anyway, so RIP is not really an issue for outbound traffic. Everything being routed over the ISP's network is going to the default router, and is NATed already, so the internal addresses really don't matter.

But those routers do need to know how to process traffic between the homes.
 
It seems like the request for fail over is getting out of hand for me. I was originally thinking that it would work without additional devices, just flip a switch in windows.

Probably the easiest route for me is just to manually unplug a wire when things doesn't work. I'm not running a server farm at home that needs 99.99% up time, just some home computings and have a port forwarding for one of the machine so I can VNC in.

Most likely I'll just leave that alone and go unplug a cable to a down connection until it is up again.


Thanks guys.
 
That would work.

You could also do that with your home router. You could unplug the cable between the modem and the router and plug in to your neighbor's network until things were restored.

Some home routers could pass RIP traffic internall, so depending on what you have in the homes, you may be able to have the two routers learn about one another.

Or you could just run a real O/S that will work with multiple default routes :)

You might just check to see if Windows supports multiple default routes.
 
I think windows does support multiple default gateways, so it would work.

I think if I were setting this up, I'd use two NIC's (So you have to add a NIC, but no other hardware.) But keep the one going to my neighbor's home down.

You can bring up NIC's in the Network "applet" in the control panel. Simply disable the one on your network and enable the one to your neighbor's network until things are restored.
 
Originally Posted By: javacontour

I know Solaris will do dynamic default routing using Router Discovery Protocol, RDISC) and that has nothing to do with passing RIP traffic to outside routers.


From RFC1256:

Quote:

The ICMP router discovery messages are called "Router Advertisements"
and "Router Solicitations". Each router periodically multicasts a
Router Advertisement from each of its multicast interfaces,
announcing the IP address(es) of that interface.


I can tell you that Cisco routers do not send these out by default. You have to configure them to do so (at least as of IOS 12.4) I can also tell you that I have never seen these discovery messages come across my cablemodem (I run tcpdump on that interface every so often to see what's going through).
 
Originally Posted By: PandaBear

Most likely I'll just leave that alone and go unplug a cable to a down connection until it is up again.


You could just right-click on that connection and disable it. A little easier than unplugging a cable. Less wear on the connector, too!
 
FYI this is for my dad who always complains the slightest downtime to me, and have me VNC his computer all the time.

I'm trying to convince him to join a neighbor (which is a friend of mine) and split the bill, but knowing his annoying tendency to call everyone with a computer for help when the connection is down, I want to keep a low cost connection ($19 per month dry line, or $13 per month 768k/384k) that I can always fall back on.

Having him convert to a Solaris or Linux is not an option. He wouldn't even run Windows 2000 and was asking about me installing Vista, to keep up with the Jones.
06.gif




ATT is starting to raise home phone price and I want nothing to do with them anymore. My plan is to first convert to a dry line and monitor the wireless behavior to my friend/neighbor, then within a few months if the stability is good, turn off the dry line.
 
Last edited:
Status
Not open for further replies.
Back
Top