@
Ansen #!/bin/sh -e
# 清除现有的 qdisc
tc qdisc del dev ens33 root
tc qdisc del dev ens33 ingress
# 配置上传( egress )限速
tc qdisc add dev ens33 root handle 1: htb default 30
tc class add dev ens33 parent 1: classid 1:1 htb rate 10000kbit burst 15k
# 限制特定 IP 地址的上传
tc class add dev ens33 parent 1:1 classid 1:10 htb rate 10000kbit
tc filter add dev ens33 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.102.134 flowid 1:10
tc class add dev ens33 parent 1:1 classid 1:20 htb rate 10000kbit
tc filter add dev ens33 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.102.135 flowid 1:20
# 限制所有 IP 地址的上传
tc class add dev ens33 parent 1:1 classid 1:30 htb rate 10000kbit
tc filter add dev ens33 protocol ip parent 1:0 prio 2 u32 match ip dst 0.0.0.0/0 flowid 1:30
# 配置下载( ingress )限速
tc qdisc add dev ens33 handle ffff: ingress
# 限制特定 IP 地址的下载
tc filter add dev ens33 parent ffff: protocol ip prio 1 u32 match ip src 192.168.102.134 police rate 10000kbit burst 10k drop flowid :1
tc filter add dev ens33 parent ffff: protocol ip prio 1 u32 match ip src 192.168.102.135 police rate 10000kbit burst 10k drop flowid :1
# 限制所有 IP 地址的下载
tc filter add dev ens33 parent ffff: protocol ip prio 2 u32 match ip src 0.0.0.0/0 police rate 10000kbit burst 10k drop flowid :1
exit 0