Take the 2-minute tour ×

I have a Mac, which runs Mac OS X 10.6 or Ubuntu 9.10 or Windows XP (Multiboot). Solution can be for any of the systems, whatever works better.

I have two ISPs, one can be accessed via Wi-Fi, one can be accessed via LAN. In Mac OS X I can define the priority, which network to choose first. But what I wish to do is to load-balance with both networks.

I don't want to buy extra hardware. I have some unused Wi-Fi routers if this would help.

Compiling and configuring programs in Linux is no problem for me.

Similar question: Load balancing with multiple gateways

share|improve this question
You'll want to check that any solution suggested will have rules for persisting connections over its interface. If your connection bounces between ISPs, the server on the other end may get confused. I know, for example, that Yahoo IM will drop its connection if you connect from a different IP address. –  Doug Harris Feb 12 '10 at 16:45
sounds like you need some kind of Wireless Multi-WAN repeater to soak signals from 2 different WIFI routers and feed it to your computer via a LAN connection. –  djangofan Jun 25 '10 at 19:18
LISP (Locator/Identifier Separation Protocol) could be a solution, but this is way too complicated for me. ;-) –  Synox Sep 13 '13 at 6:05
What do you want to load balance? –  David Schwartz Oct 8 '13 at 8:45
big file downloads, Video-Streams, youtube, etc. –  Synox Oct 11 '13 at 8:43

6 Answers 6

Connectify Dispatch has a solution that will do just what you need. Currently for Windows only, but people have had success virtualizing and using their software on OS X.

Since you already run (were running) Windows XP I figured you'd be able to figure that part out on your own.

The biggest problem with this is that Windows easily offers support for multiple NICs, while on OS X it isn't nearly as easy to implement.

share|improve this answer

The url mentioned below is specifically meant for win 7 but you should get an idea from it. It changes the metric of default gateway depending on the load on the interface, thus leading to load sharing.


share|improve this answer

You could use a routing metric system where you install both internet connections in your routing table with an equal metric. The operating system should then use both of these routes equally, effectively splitting your outbound traffic across both links.

Incoming traffic in reply to your requests should also be balanced as it will return to the interface (Public IP) that the request came out of.

The problem with this would be session persistence, for example you view a website via one of your links, but the next page view is load balanced out of your other interface, this would confuse some applications as your source IP address would be constantly changing.

Therefore I would probably only split some of your traffic onto the other interface using none equal cost routes, may be by application, destination or protocol. Just something that will keep your traffic paths consistent.

share|improve this answer

I don't think this will be possible without doing something like all traffic going out is one ISP and traffic coming in is another ISP.

Reason being is splitting both traffic across 2 separate networks doesn't seem like they would make it back. If you had 2 pipes from 1 ISP it might make be possible.

Like the person said earlier, I think you'll need a default anyways and could curb certain traffic through one route and the rest through another. Just don't think load-balancing like you would on a LAN will work here.

Example: run updates using 192.168.2.* Wi-Fi ISP run halflife using 192.168.1.* LAN ISP.

share|improve this answer

There is kind of a workaround: My application is able to load-balance, I can define 2 connections which are then used both.

I then route one of the Server IPs to one of the IPS.

on mac os 10.6:

route add -host XXX.XXX.XXX.XXX

I know, this is very specific, and only works if the server-ips are always the same. And if the application can load-balance in any way.

share|improve this answer

A close-ish topic, for linux, would be the 'metric' setting for routes. Lower numbers are preferred over higher numbers. If you give both routes the same metric, then I would think they'd be chosen with equal probability.

I think the technique you're trying to achieve is called multihoming. I don't have any direct experience with it. However, a few things you'd probably need to keep in mind.

  • By default, I think you'll end up with only one default route. This means that all outgoing traffic will prefer one interface by default. You'd need to look into having multiple default routes, or into changing that route dynamically over time.
  • For the life of an individual incoming (TCP) connection, it should stay on the same interface which it came in on. I think.

Anywho, those are all the pointers I can think of at the moment.

share|improve this answer

Your Answer


