I have two internet connections at my place but the faster one is actually unreliable. :(

One is a broadband modem connected to PC via ethernet. The other one is a USB modem.

I would want to run both connections simultaneously (or parallel) in a way that even if one connection is down, I could fall back on the other one and access internet.

I would prefer a cheap (or free) software solution. I'm on Windows XP.

Update: I understand that it can be achieved on Linux, but its a nightmare for people who are adept to MS Windows. Someone also suggested some kind of hardware load balancing but that's way expensive.

Okay, also let me know how do you cope with unreliable internet connections at work?

Update 2: One of the answer mentions Channel Bonding and I realized that in dial up days some people managed to connect to multiple ISPs to increase bandwidth. But how???

Update 3: Okay so this technique is called 'failover internet connections' and is possible. Apart from the solutions below, I found these two software pages:


10 Answers 10


I've tested dual-WAN on two ADSL2-connections and found out that the Linux solution was quite tricky to setup and it wasn't very reliable. I am now running PFSense on a old PC with 3 network cards. It was very simple to install, just boot the live-CD and connect LAN, WAN and OPT (second WAN) network cables to NICs when the installer asks. Then configuring the actual dual-WAN with failover was very simple, a guide can be found here:


If you don't want to use a dedicated PC for routing, I think it is possible to install PFSense on a VMWare (or similar) on your Windows XP and allow it to do the routing for you. This would ofcourse add some CPU overhead and use couple hundred megs of RAM.


windows does support load balancing of WAN connections.

I haven't tried this so do at your own risk.

You can try opening up the registry under: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters

And setting/adding these DWORD values RandomAdapter = 1 SingleResponse = 1

Reboot your computer.

See: http://www.vietcyber.com/forums/showthread.php?t=127328 or http://www.techsupportforum.com/networking-forum/networking-support/101350-manage-two-internet-connections-same-pc.html

  • sounds promising, will give it a try... Sep 21 '09 at 8:30

the easiest way is to use some scripting to check connectivity to each gateway, and based on that, switch to the secondary line when the main line is down

see this and you can start from something like this

ping -n 1 gateway & if %ERRORLEVEL% not zero then (commands from the tutorial in the previous answer for changing default gw)

and this batch should be run from task scheduler as often as you want

  • this might work, however I am unable to run both connections simultaneously. One is thru USB, other thru ethernet. Sep 20 '09 at 17:08

Linksys has a router which can support multiple internet connections and failover between them automatically. It's not that expensive, less than $200 I think. The rv042 is what you are looking for. It looks like Amazon has it for ~$150 US.


The best way to combine mutiple broadband connections is called a ppp multilink circuit. This will "bond" the several connections into a single circuit. It has been used since the 1990s to acheive this for commercial use. I am assuming you have the incoming connections as Fast Ethernet. You can purchase a used older Cisco router on eBay reasonably (try a 1721 modular router with a 4-port Fast Ethernet WIC). That is enough hardware to "bond" 4 connections. Then you will simply need to configure a virtual interface for the multilink. Fortunately you can get a PDF from the Cisco web resources to help you do this. It is fairly straight forward for anyone with some network savvy. Your PC (or Mac or ...) will see it as a single connection.


It can be done; it's called channel bonding. However, I'm not sure it can be done on Windows easily. Usually when I hear of it being done, it's on Linux. Also, you need the same setup at the destination (your ISP).


Unfortunately, Windows cannot multiplex two internet connections as a router would. Instead you can switch connections on demand, as explained in this tutorial:

Switch Network Settings Batch Files

  • I'm already doing switching, that is, if one fails plug the USB and connect. Sep 20 '09 at 17:16
  • 2
    downvoted for having a signature on your answers.
    – GregD
    Dec 1 '09 at 21:17

OpenBSD will easily do this, from the FAQ: How can I do equal-cost multipath routing?

Equal-cost multipath routing refers to having multiple routes in the routing table for the same network, such as the default route, When the kernel is doing a route lookup to determine where to send packets destined to that network, it can choose from any of the equal-cost routes. In most scenarios, multipath routing is used to provide redundant uplink connections, e.g., redundant connections to the Internet.

See the link for details, but the guts of it are quite trivial:

Setup two (or more) network cards and add a default route to them pointing to the upstream routers

!route add -mpath default
!route add -mpath default

Then just activate multipath routes in sysctl.conf:

# sysctl net.inet.ip.multipath=1
# sysctl net.inet6.ip6.multipath=1

As i cnow in windows (im sure up to Win 2003) dual ISP load balansind not possible.

It require Policy routing (using different routing tables for different packets by some rules)

Linux, and linux based routers support it.

But wow! Kerio declare support of load balancing! www.kerio.com/control/quality-of-service/link-load-balancing


I came across this application: NAT32
It claims to support multiple internet connections with failover. The community edition is free.

I haven't used it myself though, so cannot offer any feedback. If anyone has, please comment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.