原文来自:http://www.nsbeta.info/archives/391
脚本如下:
#!/bin/sh
bw limit for port 80
min and max bindwidth, MB
MIN=4
MAX=6
/sbin/iptables -t mangle -F
/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc add dev eth0 root handle 1:0 htb default 10
/sbin/tc class add dev eth0 parent 1:0 classid 1:10 htb rate ${MIN}mbps ceil ${MAX}mbps prio 0
/sbin/iptables -A OUTPUT -t mangle -p tcp –sport 80 -j MARK –set-mark 10
/sbin/tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10
上述表示对eth0网卡的80端口进行限速,保证传输速率4MB,最大传输速率6MB。
运行这个脚本,再从web服务器下载,速率就得到控制了。
查看tc的配置:
/sbin/tc -s -d class show dev eth0
说明:本文参考了NixCraft的一篇文档。