QUOTE:原帖由 liuzhuan23 于 2006-10-12 16:07 发表
1)你可以参考 Linux的高级路由和流量控制HOWTO 一书,他详尽的介绍了tc,可以帮助你
2)
http://bbs.chinaunix.net/viewthr ... 3Ddigest&page=1
...
刚才看了《Linux的高级路由和流量控制HOWTO 》,依葫芦画瓢,大家看看菜鸟写得对不——控制上行速率的脚本:
UPLINK=220
DEV=eth1 #eth1是外网网卡
复制代码
# 清空已有的队列
tc qdisc del dev $DEV root 2> /dev/null > /dev/null
复制代码
###### uplink
# 建立HTB父类
tc qdisc add dev $DEV root handle 1: htb default 20
复制代码
# 设定uplink的最大速率:
tc class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit burst 6k
复制代码
# 为每一个IP地址开一个子类0-255:
tc class add dev $DEV parent 1:1 classid 1:10 htb rate ${ip1}kbit burst 6k
tc class add dev $DEV parent 1:1 classid 1:11 htb rate ${ip2}kbit burst 6k
tc class add dev $DEV parent 1:1 classid 1:12 htb rate ${ip3}kbit burst 6k
……
……
tc class add dev $DEV parent 1:1 classid 1:264 htb rate ${ip255}kbit burst 6k
复制代码
#相应的队列规则
tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev $DEV parent 1:10 handle 11: sfq perturb 10
tc qdisc add dev $DEV parent 1:10 handle 12: sfq perturb 10
……
……
tc qdisc add dev $DEV parent 1:264 handle 12: sfq perturb 10
复制代码
#u32过滤器
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.1 flowid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.2 flowid 1:11
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.3 flowid 1:12
……
……
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.255 flowid 1:264
复制代码
[ 本帖最后由 独孤九贱 于 2006-10-12 16:44 编辑 ]