Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jul 2005 11:33:42 -0700 (PDT)
From:      Philip Hallstrom <freebsd@philip.pjkh.com>
To:        John Barbieri <tenpin784@metrocast.net>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Using Multiple Internet Connections with FreeBSD
Message-ID:  <20050713113226.U41290@wolf.pjkh.com>
In-Reply-To: <42D53321.3000409@metrocast.net>
References:  <42D53321.3000409@metrocast.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> To start off, I have a FreeBSD router running Nat and dhcp, it is
> currently the router for my LAN.
>
> I was wondering if there was a way to aggregate more then one internet
> connection using FreeBSD?
>
> That is, have 2 or 3 internet connections coming in on seperate NICs,
> and being able to have the box route and nat the packets accordingly to
> the lan, thus giving the experience of more bandwidth. Is it even possible?
>
> Has someone done it before? and if you have, do you have a webpage that
> you followed instructions from?

I haven't done it, but I've saved the following email/posts that talked 
about this...  I've left them intact so you can see the context...

good luck!

>From gerti@bitart.com Wed Dec 24 09:35:16 2003
Date: Fri,  3 Nov 2000 18:46:34 -0600
From: Gerd Knops <gerti@bitart.com>
Reply-To: gerti-freebsdq@bitart.com
To: Simon Nielsen <simon@dkik.dk>
Cc: questions@FreeBSD.ORG
Subject: Re: Two ISP's. Two IP. One default route...

Simon Nielsen wrote:
> Hello
>
> I currently have two internet connections though two different ISP's.
> One is a ADSL and another is shared with the rest of my dorm. The
> shared line is rather slow because many people are using it.
>
> I must have an IP on the shared connection since that's the only
> place where I can be sure to have a non changing IP for my DNS. But
> the ADSL is much faster so I would like to use that as much as
> possible.
>
> I can give my machine an IP on each connection but I can of course
> only set one default route. The default route is currently set to the
> ADSL. The problem is that when a connection is made to IP on the
> shared connection my computer uses the ADSL IP to respond and that
> does not work.
>
> Is there a solution to this? I thought about maybe it is possible to
> route differently when a connection is made on the shared connection
> but I can't find out how to do it.
>
Yes, it can be done (though I have not found it documented anywhere). 
I really think there should be separate routing tables for each 
interface, but I don't know of any such feature in any Unix.

However ipfw can be abused for the above task. Assuming:

 	- ipfw is set to pass on default
 	- your ADSL IP/network is a.a.a.a/aa
 	- your shared IP/network is s.s.s.s/ss
 	- your ADSL gateway is set as default route
 	- your shared gateway is s.s.s.gw

the following ipfw rules do the trick:

# Pass anything that should go via normal routes
# This rule is really just to speed up the bulk
# of the packets
add 1000 allow all from a.a.a.a to any
# Pass anything to local addresses on ADSL network
add 1010 allow all from any to a.a.a.a/aa
# Pass anything to local addesses on shared network
add 1020 allow all from any to s.s.s.s/ss
# And here the trick: if the source address is the one
# from the shared network, pass packets to the
# gateway on the shared network
add 1030 fwd s.s.s.gw all from s.s.s.s to any

With the above connections will leave your system on the same route 
they entered it. Great for redundant mail and dns setup!

If you already use ipfw you need to adapt the above rules accordingly. 
The important part is that packets coming from your host's shared 
address going to the 'outside' (and only those packets) are forwarded 
to the shared networks gateway.

Gerd


>From mwm@mired.org Wed Dec 24 09:35:23 2003
Date: Sat, 4 Nov 2000 09:34:48 -0600 (CST)
From: Mike Meyer <mwm@mired.org>
To: Simon Nielsen <simon@dkik.dk>
Cc: questions@FreeBSD.ORG
Subject: Re: Two ISP's. Two IP. One default route...
Resent-Date: Wed, 24 Dec 2003 10:35:16 -0800 (PST)
Resent-From: Philip Hallstrom <philip@alkinetworks.com>
Resent-To: Philip Hallstrom <philip@eilio.com>
Resent-Subject: Re: Two ISP's. Two IP. One default route...

Simon Nielsen <simon@dkik.dk> types:
> I currently have two internet connections though two different ISP's.
> One is a ADSL and another is shared with the rest of my dorm. The shared
> line is rather slow because many people are using it.
> 
> I must have an IP on the shared connection since that's the only place
> where I can be sure to have a non changing IP for my DNS. But the ADSL
> is much faster so I would like to use that as much as possible.

Question: what are you using the static IP for? I.e. - who connects to
it, and vice versa?

> I can give my machine an IP on each connection but I can of course only
> set one default route. The default route is currently set to the ADSL.
> The problem is that when a connection is made to IP on the shared
> connection my computer uses the ADSL IP to respond and that does not
> work.
> 
> Is there a solution to this? I thought about maybe it is possible to
> route differently when a connection is made on the shared connection but
> I can't find out how to do it.

Well, if you can narrow down who connect on the shared connection, you
can add a route for those addresses pointing to the shared
connection. It's been about five years, but I used to do that, but if
the only people connecting to the shared IP are on the campus net, you
can add a route that looks like

 	route add -net campus.net static.ip [campus.netmask]

 	<mike


-------- Original Message --------
Subject: two isps routing
Date: Wed, 28 Jan 2004 16:38:52 -0800 (PST)

http://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050713113226.U41290>