You can't load balance a tcp session between two isp's on the packet level.
If the source address changes halfway through the session, the remote
machine is going to ignore those packets.

If you want to load balance using your little dns scheme, you will have to
set very low TTL's, which means you better make damn sure your nameservers
are available 24/7.  The 3dns from F5 (http://www.f5.com) does sort of what
you want.  You set up a WIP (Wide IP), and point the WIP to multiple VIPS
(Virtual IP's, or hosts).  The 3dns will hand out the ip's based on the
logical distance from each server to the client, and based on whether or not
your servers are accessible or not.  But, they cost around $30k each, so you
probably don't even wanna look into it.  I know Eddie
(http://www.eddieware.org) has it's own dns server, and you may be able to
do what you want with that.  

As far as balancing outbound connections, you're probably SOL if you wanna
make something that works reliably.  The way most people handle connections
from multiple providers is by using BGP and advertising their networks
through both providers.  But I highly doubt you'll be able to get an ISP to
provide you a BGP session over your DSL line, plus, you'll need to buy a
much more expensive router to be able to do BGP (although, you can do it
with linux using MRTD).  But, there's basically zero chance that your ISP
will accept routes from you over your DSL line.  

This is a lot more complicated problem than it originally sounds.  But if
you're just doing it to serve out content, you could just do a round-robin
dns scheme.  Your max outbound speed on a single connection will be the max
speed of only one of the DSL lines (since you can't load balance on a packet
level with the connections you have). 

Get yourself a T1 if you really need the amount of bandwidth that 2 dsl
lines will give you.  Onvoy is running a deal where you can get a full T1,
unlimited usage, for around $650/mo including the loop fee (+/- $30) with
only a 1 year contract.  That's a sweet deal.  I was going to do it, and
split the cost w/ my roommate, but $325/mo is a ton of computer equipment,
mods for my car, or house improvements.

Jay

-----Original Message-----
From: Marc Ohmann [mailto:mohmann at qwest.net] 
Sent: Monday, August 06, 2001 7:33 PM
To: tclug-list at mn-linux.org
Subject: [TCLUG] internet-connection load-balancing

Does anyone out there have any experience load balancing internet 
connections (DSL in this case) using Linux?  If so, what are the 
implications when the connections are provided by separate ISPs?  And 
how can dns be setup to load balance the links?

 From my understanding the separate ISPs wouldn't be a concern because 
two nics on the same box can be setup on separate networks.  The dns 
problem is the most intreguing to me, concidering that the dns would be 
setup on the load balanced network.  The ips listed with the domain 
registrars would be one for ISP1_LINK and one for ISP2_LINK so initially 
all dns requests would come over the link from ISP1 (unless it was 
down).  From there the local dns server would check a table to see wich 
link was more available and return the ip for that domain.  So in effect 
it would be load balanced on the request level and not on the packet 
level.  Does this sound  like a plossible scheme?  Is there a way to do 
it on the packet level?

Thanks in advance for any insight,
Marc

_______________________________________________
tclug-list mailing list
tclug-list at mn-linux.org
https://mailman.mn-linux.org/mailman/listinfo/tclug-list