Strategy for about 200 part-time users

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've been lurking for a while, trying to figure out this traffic
control stuff.  We have 3 ADSL modems upstream, with 2, 2, and 1
megabit total bandwidth, 1/4 of it up, 3/4 down.

We also have about 200 workstations downstream, connected through
wifi.  We are presently using tc to create about 200 buckets with HTB
and SFQ.  It seems like this is too many buckets, since usually only
about 80 of the 200 are active, meaning the bucket size for each
workstation is small.

We have trouble with P2P uploads, but the P2P solutions I have seen,
if I understand them, get rather unwieldy if you have to keep a couple
hundred clients separate rather than grouping them by protocol, etc.

We absolutely need to be able to keep RRD stats on bandwidth usage per
client, but we also need to switch from IP to MAC-based access.  It
would really help if I could get a few comments on my feeble attempts
to develop a strategy here:

Does it sound feasible to keep a database of MAC addresses and client
numbers and flush/regenerate tc buckets about every other minute?

First, iptables would check authorized MAC addresses and mark packets
with a client number.  This client number would be the basis for
throttling uploads.

I would run a Perl script that would fetch the ARP table to see what
MAC addresses are on, and pair them with a client number and an IP
number.  In some cases there would be multiple IPs with the same MAC,
or multiple IPs and MACs that are the same client, depending on the
router/bridge in use.

The Perl script would run maybe once every other minute and
flush/recreate HTB/SFQ buckets for all current active clients, plus
one "misc" bucket, that would get freshly logged on clients, and the
occasional client who swapped their wifi card without telling us.

Does this strategy seem ... reasonable?  Other solutions?  Thanks lots.

-- 
Jan Wilson, SysAdmin     _/*];          jan@xxxxxxxxxxx
Corozal Junior College   |  |:'  corozal.com corozal.bz
Corozal Town, Belize     |  /'  chetumal.com & linux.bz
Reg. Linux user #151611  |_/   Network, PHP, Perl, HTML
_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux