原文来自: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的一篇文档