Network load-balancing with Network Manager

Solution 1:

Maybe you want Load Balancing. There is a good program called Crossroads: http://crossroads.e-tunity.com/index.xr

If you want a list of similar programas i have an extract here from http://linuxpoison.blogspot.com/2008/09/opensource-load-balancing-software.html

BalanceNG: http://www.inlab.de/balanceng/

  • Modern software IP load balancing solution. It is small, fast, and easy to use and setup. It offers session persistence, different distribution methods (Round Robin, Random, Weighted Random, Least Session, Least Bandwidth, Hash, Agent, and Randomized Agent) and a customizable UDP health check agent in source code. It supports VRRP to set up high availability configurations on multiple nodes. It supports SNMP, integrating the BALANCENG-MIB with Net-SNMPD. It implements a very fast in-memory IP-to-location database, allowing powerful location-based server load-balancing.

HAproxy: http://haproxy.1wt.eu/

  • High-performance and highly-robust TCP and HTTP load balancer which provides cookie-based persistence, content-based switching, advanced traffic regulation with surge protection, automatic failover, run-time regex-based header control, Web-based reporting, advanced logging to help trouble-shooting buggy applications and/or networks, and a few other features. Its own event-driven state machine achieves 20,000 hits per second and surpasses GigaEthernet on modern hardware, even with tens of thousands of simultaneous connections.

Crossroads Load Balancer: http://crossroads.e-tunity.com/

  • Daemon running in user space, and features extensive configurability, polling of back ends using wake up calls, status reporting, many algorithms to select the 'right' back end for a request (and user-defined algorithms for very special cases), and much more. Crossroads is service-independent: it is usable for any TCP service, such as HTTP(S), SSH, SMTP, and database connections. In the case of HTTP balancing, Crossroads can provide session stickiness for back end processes that need sessions, but aren't session-aware of other back ends. Crossroads can be run as a stand-alone daemon or via inetd.

  • Note my awesome posting ability. Anyway here you can see the most updated (Still updated) and have documentation on how to do things.

Solution 2:

Yes you can theoretically connect to multiple networks, but you need at least one network interface per network you want to connect to.

So, for example, if you have two wireless network interfaces and one Ethernet interface, then you would be able to connect each of those wireless network interfaces to a wireless network and the Ethernet interface to a wired network.

However, I think that Ubuntu chooses the first interface (most often the Ethernet interface if it is connected) and uses it by default instead of spreading traffic evenly.