1. 在接收端限制接收速率
tc qdisc add dev ifb0 root handle 1: htb default 5
tc class add dev ifb0 parent 1:0 classid 1:1 htb rate 10Mbit
tc class add dev ifb0 parent 1:1 classid 1:5 htb rate 10Mbit
tc class add dev ifb0 parent 1:1 classid 1:20 htb rate 500kbit ceil 1Mbit
tc qdisc add dev ifb0 parent 1:5 handle 5: sfq perturb 10
tc qdisc add dev ifb0 parent 1:20 handle 20: sfq perturb 10
tc filter add dev ifb0 parent 1:0 protocol ip prio 100 u32 match ip sport 80 0xffff flowid 1:20
ifconfig ifb0 up
tc qdisc add dev eth0 ingress
# redirect all IP packets arriving in eth0 to ifb0
# use mark 1 --> puts them onto class 1:1
tc filter add dev eth0 parent ffff: protocol ip prio 10 u32 \
match u32 0 0 flowid 1:1 \
action mirred egress redirect dev ifb0
2. 在发送端限制发送速率
tc qdisc add dev eth0 root handle 1: htb default 30
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 6Mbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 500kbit ceil 1Mbit
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 1Mbit
tc class add dev eth0 parent 1:1 classid 1:30 htb rate 10Mbit
tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10
tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 120.79.56.198/32 flowid 1:10
tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 210.22.22.130/32 flowid 1:20
3. 其他命令
显示
tc -s -d qdisc show dev eth0
tc -s -d qdisc show dev ifb0
tc -s filter ls dev eth0
tc -s class ls dev ifb0
tc -s filter ls dev ifb0
删除tc规则
tc qdisc del dev eth0 root
tc qdisc del dev eth0 ingress
tc qdisc del dev ifb0 root
载入ifb模块
modprobe ifb
大概是启动ifb0这个虚拟网卡的意思吧
ip link set ifb0 up
ip link set ifb0 down
网友评论