22

I understand that any one connection (such as a non-p2p download) will use just one of the connections, but since most normal activity involves multiple connections at once, I can still in theory increase my overall bandwidth by sending some traffic over each connection.

See also the following similar questions, most of which are for windows:

Is it possible to combine two internet connections to increase performance?

How can I force certain applications to use specific network connections?

I have both cable and DSL at home. How do I put that to good use?

How can I use two Internet connections at the same time?

https://superuser.com/questions/246173/how-can-i-set-my-computer-up-to-use-two-different-internet-connections-simultane

Here's my partial self-answer:

You can use ipfw to direct outgoing traffic. For instance, if you want udp (such as most bittorrent traffic) to use one connection while everything else uses the other, make sure the general-use connection is above in the network control panel, then type:

ipfw add fwd ip.for.bittorrent.router udp from any to any out

at the command line. (Or use WaterRoof, the ipfw gui; then you don't need the "ipfw add" part.) Note that that's the router ip (typically similar to your ip but ending in .1).

3
  • I have had this question my self. From my understanding, though this should be possible at hardware level, a computer can only be assigned one IP and will only remain in contact with one DHCP. I believe this holds true for routers as well(so it won't work to disable dhcp on your router). Perhaps with a enough knowledge this is possible, however it would require a lot of reverse engineering and can't be done on stranded os'. November
    – November
    Dec 2, 2011 at 16:37
  • 1
    Not true -- a computer can have any number of IP addresses. Dec 13, 2011 at 20:13
  • Windows can use multiple IP addresses but sometimes this setup causes problems on Windows. Our Unix PBX was designed to use two ip addresses and it works great with both. Dec 13, 2011 at 22:04

4 Answers 4

10

Bonding.

  • Open System Preferences > Network
  • Click the gear icon, then Manage Virtual Interfaces...
  • Click +, then New Link Aggregate...
  • Give it a name, and select the ethernet interfaces you'd like to bond

Note: works for ethernet interfaces only supporting the Link Aggregation Control Protocol. Does not work for other interfaces e.g. 3G modem via USB or DSL via Wi-Fi.

See this old, archived KB article for more information.

1
  • Link to KB article PH4156 seems to be broken
    – WiredIn
    May 3, 2019 at 14:00
4

Short answer: no. With 2 ISP links, you have 2 IP addresses. It can be done with some specific higher end NICs (e.g. Intel quad cards), but they will appear to the rest of the network as a single IP address in that mode. If the assumption is that you have 2 distinct IP addresses, it cannot be done.

What is possible would be to get a router that supports something like OSPF, which will for each connection determine the shortest path between source and destination, however that equipment is usually very costly (thousands of dollars). Another option would be to use 1 link for ingress and the other for egress traffic. This can be done with IPTABLES or Packet Filter (pf), but will not really boost your speeds by much since you'll still be limited by the ingress and egress speeds allowed on those links.

2

The more common, production way to accomplish this is to multiplex two WAN connections using a device outside your computer. I've used a load-balancing NAT router to accomplish this at my work site for over a year and a half, and it works great.

Using a device such as a load balancing NAT router will allow you to connect an entire subnet or LAN to the two multiplexed internet connections instead of just your single computer. Your computer's NIC will send traffic to a single gateway on the LAN, and that gateway's NAT router will load balance the traffic out over both WAN connections to the destination on the WAN. When the traffic comes back from the WAN, the router re-assembles the received packets and sends the packets to the source on the LAN in a single, coherent stream. So the computer doesn't even know the connection is being multiplexed.

This can cause a problem on some sites which expect all traffic to originate from a single WAN ip address. For example, a site which uses cookies to maintain sessions for a logged-in user will see traffic originating from two locations using the same cookie. This can appear like a hijacked session, and many websites will block this. So you must find out which sites are sensitive to using two ip addresses and make a routing rule to send that traffic using only one of your two WAN IP addresses.

I use a Sonicwall TZ-210 to do multiplex two internet connections (device costs about $550). One connection is a cable modem with 10 Mbps down and 2 Mbps up, the other is a bonded T1 with 3 down and 3 up. The multiplexed connection is effectively 13 down and 5 up.

2
  • is there a portable solution such as a phone which can support this ? Mar 8, 2018 at 9:17
  • @RıfatErdemSahin Some hardware firewalls allow you to use an LTE card to access a cellular network. Mar 10, 2018 at 0:55
1

Here is the answer in another thread:

How to use both my dual internet connections in the same exact moment on Mac OS X

Using an app named Speedify.

2
  • 1
    it is a paid service. Apr 29, 2020 at 11:06
  • The question does not ask for a free way. Any working answer will be satisfying. @Ciastopiekarz May 9, 2020 at 20:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .