multiple PPPoE connections on one machine (DSL load balancing)
jeff at visionarytechnical.com
Thu Apr 23 02:07:22 UTC 2009
I'm configuring FreeBSD 7.1 as a router/load-balancer and I just got
stuck. I know this sounds like a newbie question, but hear me out.
I have three DSL line (AT&T in SF Bay Area, business class) connected
via ethernet to the box, and one more ethernet connected to an
internal network. The idea is to do some clever kind of load-balancing
and/or logging of DSL connections using pf.
All three DSL lines are configured to use PPPoE. I can successfully
bring any one of them up individually, but when I try to bring more
than one up, using either ppp or mpd5, I get an error that looks like
this (example from ppp):
ppp : tun0: Warning: iface add: ioctl(SIOCAIFADDR, X.X.X.X ->
D.D.D.D ): File exists
and then the 2nd link goes down. mpd5 says the same thing, but the
error is slightly different. For all three point-to-point links the
remote side of the point to point (D.D.D.D) is always the same IP
address, so naturally it doesn't want to add multiple routing table
entries which point to the same destination.
The vendor claims to be unable to change the value of D.D.D.D because
"everyone in your region has the same remote address." They also don't
support mlppp, so multilink is out.
Also, I would like easy, real-time, programmatic access to the IP
address of each individual DSL line.
So far, I've thought of the following workarounds:
1. Use cheap linksys boxen to hang off each DSL line so the FreeBSD
network stack doesn't have to do the PPPoE. I'm concerned that they'll
be able to handle the volume of individual connections I'm planning
on, even with the firmware replaced with something decent. Plus it's
three extra devices on my network!
2. Use network virtualization such as this. I don't have any
experience with it, but I'm guessing it would do everything I want.
Does anyone have any ideas how to solve this problem more elegantly?
Linux admin who is thrilled to have some FreeBSD time
More information about the freebsd-questions