Is it possible to use two internet connections and combine their upload for bittorrent?

Since each Internet connection has its own IP, I see that as a problem. Or can you use one connection as the primary connection, and then use the other connection to spoof packets coming from the primary one?


The simplest way to use the upload of the 2 lines is to send the packets on the 2 lines just like if you route half the packets to WAN1 and the other half to WAN2.

But in practice it usually doesn't work that well, since you have some things to consider :

  • Your ISP may think you try to spoof the IP source address when routing over from the other interface and drop them.
  • The so-called "spoofed" packets will have their answer on the real interface, so only one line will be used for downstream
  • The latency between the packets might be much different (ie: more jitter), so the packets will be received out-of-order. That should not be a big deal for TCP-based data streams, but for more RT-oriented one that are quite sensible to jitter (such as TCP-interactive : with nagle's algorithm disabled or VoIP) it can introduce nasty delays due to buffering.

@Garth: I don't think he wants to use 2 IP addresses, just the 2 connections, so I don't see the prob with BT (It's only level 2 related) but the usual level 2 caveats do apply.


Probably not. It all depends on the load balancing technique. To summarize:

  • If your load balancer works without ISP co-operation: no.

  • If your load balancer needs ISP support, or at least tolerance: yes.

I'd expect that most consumer-level load balancing solutions are designed to work without ISP co-operation. In which case: no.

No ISP support required; not good for BitTorrent:

BitTorrent won't play well with load balancing solutions which expose both your external IP addresses. These solutions route new outbound TCP sessions via whichever link is least used right now. That's fine for browsing web sites, but causes problems with anything which expects to deal with a single IP address. See pfSense's documentation on sticky connections, for example.

(In theory, your client could pretend to be two clients each of which never download from the other. In practice, I don't think any BitTorrent clients do this.)

Load balancing by distributing outbound TCP sessions is the only way to guarantee improved download speed with all ISPs. For this reason, I'd expect most consumer-level load balancing solutions to work this way. That's great for multi-connection HTTP and FTP (i.e. most download managers), but not for BitTorrent.

ISP support probably required; could benefit BitTorrent uploads:

As Steve Schnepp points out, BitTorrent should play well with load balancers which distribute the transmitted packets, but stamp all of them with your (apparent) single IP address. The problem is, this kind of solution will only work if your ISP isn't blocking spoofed packets.

Try spoofing packets to your friends, and having them spoof packets back to you. Assuming neither ISP pulls the plug on you, you could try a home-made Linux routing solution with both ISPs.


If you're only uploading/seeding, you could easily set up a tracker on each of your public IP addresses to seed files. Unfortunately due to the way bittorrent connects, each tracker would only utilize one line. You would effectively be maximizing your uploads, just not to the same set of clients.


Nothing would stop you running a client bound to each IP. That way you'll show up as two clients but you'll be able to use both connections.