2 adsl connections load balancing with natd/ipfw

Don Bowman don at sandvine.com
Wed May 26 06:59:28 PDT 2004


From: Eric Anderson [mailto:anderson at centtech.com]
> Emre Bastuz wrote:
> [..snip..]
> 
> >So far I did not find any tutorial or howto or whatever to 
> achieve my goal with
> >FreeBSD. I assume right now there is no satisfying way to 
> use your two lines
> >with BSD except with dedicated hardware.
> >  
> >
> 
> Isn't it possible to use ipnat on a FreeBSD box, and use the load 
> distribution/reverse nat stuff in it to spread the requests 
> out between 
> the two connections?  It's not perfect, but it's something. 
> 
> Basically, I think you'd set up a FreeBSD box as 'the router', so 
> clients would point to it's interface for their gateway (or 
> however you 
> want to set it up), then the FreeBSD box would distribute requests 
> between the two 'real' router IP's.  I'm not certain this 
> will work, but 
> just a thought..
> 

Run two natd. Use ipfw 'probability' to pick one, and make the
rule keep state so that the session sticks to the natd it has
chosen. The only problem i have found is that each tcp session
may then pick a different natd, couldn't figure out how to
stick it to the source ip. It does work tho. No bgp, isp intervention,
etc, reqired. The freebsd box running the natd will only use
one of the two connections for its default route, but the hosts
behind it using it as a gateway will use both.

--don


More information about the freebsd-isp mailing list