最新消息:重新回归WordPress,我要比较认真的开始更新我的博客了。

linux下tc限速方法

服务器相关 hanlei 4733浏览

以前没接触过TC,今天偶然看到,便记录下来,以后在服务器上试试。

TC 无需安装,Linux 内核自带

下面示例为将vpn IP地址段192.168.1.0/24 上传下载限速为 5M

将以下内容添加到/etc/ppp/ip-up文件exit 0上面

down=5Mbit
upload=5Mbit #设置速度变量
#down
/sbin/tc qdisc add dev $1 root handle 2:0 htb    #建立qdisc队列
/sbin/tc class add dev $1 parent 2:1 classid 2:10 htb rate $down    #建立类,限速5M
/sbin/tc class add dev $1 parent 2:2 classid 2:11 htb rate 1024kbps    #建立类,限速1M
/sbin/tc qdisc add dev $1 parent 2:10 handle 1: sfq perturb 1    #为了不使一个会话永占带宽,添加随机公平队列sfq
/sbin/tc filter add dev $1 protocol ip parent 2:0 u32 match ip dst 192.168.1.0/24 flowid 2:10    #建立过滤器规则,对192.168.1.0/24下载限速为5M
#upload
/sbin/tc qdisc add dev $1 handle ffff: ingress
/sbin/tc filter add dev $1 parent ffff: protocol ip u32 match ip dst \
 192.168.1.0/24 police rate $upload burst 100k drop flowid 2:11     #限制192.168.1.0/24上传限速为5M

说明:$1为网络设备接口名称,如ppp0,ppp1……

还有其它可以使用的变量:

$PEERNAME    #vpn登录用户名
$6           #客户端真实IP
$4           #vpn服务端IP
$5           $vpn客户端IP

删除所有 TC 限速规则

 # tc qdisc del dev ppp0 root

显示qdisc队列状态

# tc -s -d qdisc show dev ppp0

显示class类状态

# tc -s -d class show dev ppp0

显示filter规则状态

# tc -s -d filter show dev ppp0

参考文档TC
http://www.php-oa.com/2009/06/23/linux_tc.html

 

 

转载请注明:HANLEI'BLOG » linux下tc限速方法