Here we go loop de loo here we go loop de lai... BR
IMQ was the solution: http://luxik.cdi.cz/~patrick/imq/index.html
First, get the 2.4.20 linux kernel (assuming Debian here folks! May need the unstable apt-site in your /etc/apt/sources.list) BR # apt-get update BR # apt-get install gcc libcurses5 libcurses5-dev kernel-package kernel-headers-2.4.20 kernel-source-2.4.20 BR # cd /usr/src BR # bunzip2 kernel-source-2.4.20.tar.bz2 BR # tar xvvf kernel-source-2.4.20.tar BR
To install the IMQ Patch (from the FAQ):
Get the combo patch attachment:imq-2.4.18-combo-patch.txt and the precompiled shared libs attachment:libipt_IMQ-1.2.6a.tar.gz matching your iptables version (iptables -V - was 1.2.6a for me).
Put the patch file in /usr/src
# cd /usr/src/linux BR # patch -p1 <../imq-2.4.18.diff-combo-6BR -- (make sure it's the right name you saved from above) BR -- find where iptables keeps its shared libraries (/lib/iptables and /usr/lib/iptables is common) BR # tar xvzf libipt_IMQ-1.2.6a.tar.gz -C /lib/iptables BR
Then you need to make and install your kernel. Here's my .config attachment:config-2.4.20-imq file that I used to compile my kernel. It's a pretty stock 2.4.20 kernel, patched with the IMQ patch.
You will have three new options: Networking options ---> IP: Netfilter Configuration --->IMQ target support BR Networking options ---> IPv6: Netfilter Configuration --->IMQ target support BR Network device support --->IMQ (intermediate queueing device) support BR
Choose at least one of the targets and the device itself. Netfilter debugging should be turned off, otherwise cou get lots of annoying messages.
# make dep modules bzImage modules_install
or, for debian, I use Thing's Kernel Recompile Page: http://www.thing.dyndns.org/debian/kerneldeb.htm # make dep BR # make-kpkg cleanBR # make-kpkg --revision=thing.2.0 kernel_imageBR # type dpkg -i name_of_the_kernel.debBR -- May give you a warning to move your libraries if you're on the same kernel level. If so, you can do this: BR # mv /lib/modules/2.4.20 /lib/modules/2.4.20-oldBR -- and retry installing
Next, replace the attachment:throttle.fw attachment:initialize.fw and attachment:access.fw scripts, typically located in /usr/local/nocat/bin
Some 2-machine wireless testing I've done: http://www.pcpitstop.com -> internet connection for download speed testing (they let you run over and over and over..)
Mac w/ Safari Thinkpad with IE 6.0
Thinkpad logged in as Public, Mac logged in as Public Download 200 KB file at same time: 89 kb/s each Download 200 KB file solo: 167 kb/s each (fluctuates up to 263 kb/s for solo - but this is a live node)
Looks pretty fair to me - the 2 publics aren't stomping over each other (1 drowning out the other).
There's a lot of stuff in the scripts that I need to take OUT, but it's working right now, and I'll deal with that Jingo problem later. Next, is to make a nice PHP frontend to the user admin page.