要求:
每个组中有任意数量的用户。 任何特定组的带宽是1000kbps。 组中每个用户的带宽为70 kbps。 任何时候,用户都不应该占用超过70kbps的带宽。 我正在使用tc&iptables&ipset。
ipset -L slowips Name: slowips Type: hash:ip Revision: 1 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 240 References: 3 Members: 172.16.79.3 172.16.79.4
IPTABLES:
iptables -t mangle -I POSTROUTING -m set --match-set slowips dst -j CLASSIFY --set-class 1:12
我的TC脚本:
#!/bin/bash tc qdisc del dev eth0 root tc qdisc del dev eth1 root tc qdisc add dev eth0 parent root handle 1: hfsc default 11 tc class add dev eth0 parent 1: classid 1:1 hfsc sc rate 1000kbps ul rate 1000kbps tc class add dev eth0 parent 1:1 classid 1:11 hfsc sc rate 1000kbps ul rate 1000kbps tc class add dev eth0 parent 1:1 classid 1:12 hfsc sc rate 70kbps ul rate 70kbps tc qdisc add dev eth0 parent 1:11 handle 11:1 pfifo tc qdisc add dev eth0 parent 1:12 handle 12:1 pfifo
通过上述设置,我可以将每个用户的带宽限制在70 kbps。 当另一个用户login时,70kbps的带宽被分配在它们之间。 我真正想要的是新用户获得70kbps带宽,因为平板是1000kbps。