Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Oct 2003 11:45:58 -0700
From:      Sean Hafeez <sahafeez@edgefocus.com>
To:        freebsd-ipfw@freebsd.org
Subject:   Shaping a lot of users...
Message-ID:  <2417D2D4-0589-11D8-BDAD-003065F1EE08@edgefocus.com>

next in thread | raw e-mail | index | archive | help
I am using the following:

ipfw -f flush
/sbin/natd -interface rl0
ipfw add 999 divert natd all from any to any via rl0
ipfw add pipe 1 ip from any to any in recv rl1
ipfw add pipe 2 ip from any to any out xmit rl1
ipfw pipe 1 config mask src-ip 0xffffffff bw 1024kbits/s
ipfw pipe 2 config mask dst-ip 0xffffffff bw 1024kbits/s

rl0 - outside
rl1 - inside

and I have this is my sysctl.conf

net.inet.ip.fw.one_pass=0
net.inet.ip.dummynet.hash_size=512
net.inet.ip.dummynet.max_chain_len=64

This seems to work great for limiting each user to a max of 1 meg up 
and down.

What I want to know is how do I do the same thing but shape the users 
to have EQUAL bandwidth in times of load. What I mean is this:

Each unique IP address on the inside (192.168.1.x/22) is limited to a 
max of 1 meg. If there is a hugh load that exceeds my internet 
bandwidth (2 T1's - so 3 megs) I would like each users to get the same 
amount of bandwidth - 30 users all getting 100k. I would like it to 
adjust based on the load.

I have looked at the docs and example but I am a bit confused.

Also we need to be careful not to shape the BSD box itself - I have 
seen some rules that screw things up because they shape the shaping 
box!!

Thanks All!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2417D2D4-0589-11D8-BDAD-003065F1EE08>