PTLin
7 小时 46 分钟前
这问题挺感兴趣特意查了下。
一般只能对发送队列进行整形,对接收方向的整形没意义,所以想要限制下载速度需要模拟一个虚拟的发送设备,对这个发送设备限流,然后进行重定向。
具体做法首先就是要有 ifb 功能,可以 build 在内核中或者编译成模块,然后使用以下命令。
modprobe ifb
ip link add dev ifb0 up type ifb
tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
tc qdisc add dev ifb0 root handle 1: htb default 10
tc class add dev ifb0 parent 1: classid 1:1 htb rate 1000mbit
tc class add dev ifb0 parent 1:1 classid 1:10 htb rate 10mbit ceil 10mbit