首页 > 绝对原创 > debian下利用tc+htb实现vpn限速

debian下利用tc+htb实现vpn限速

利用tc结合htb实现vpn限速
安装tc
apt-get install iproute

用下面的内容替换/etc/ppp/ip-up,其中的u_speed后面的参数代表限速,200的意思是限速200K/s

#!/bin/sh
int=$1
ip=$5

echo $* >/etc/ppp/arg2.txt

echo $PEERNAME >/etc/ppp/arg3.txt

#get username
user=$PEERNAME

#init user speed
u_speed=200

while read username speed
do

if [ "$user" = "$username" ] ;
then

u_speed=$speed

fi

done

#echo $aaa
#echo $u_speed

/sbin/tc qdisc del dev ${int} root
/sbin/tc qdisc add dev ${int} root handle 1: htb
/sbin/tc class add dev ${int} parent 1: classid 1:1 htb rate 1024kbps ceil 1024kbps
/sbin/tc class add dev ${int} parent 1:1 classid 1:10 htb rate ${u_speed}kbps ceil ${u_speed}kbps

/sbin/tc qdisc add dev ${int} parent 1:10 sfq perturb 10

/sbin/tc filter add dev ${int} protocol ip parent 1:0 u32 \
match ip dst ${ip}/32 flowid 1:10

##############################################
##below is add per user upload limit
##############################################

/sbin/tc qdisc add dev ${int} handle ffff: ingress

/sbin/tc filter add dev ${int} parent ffff: protocol ip prio 50 u32 match ip dst \
0.0.0.0/0 police rate ${u_speed}kbps burst 100k drop flowid :1

本例在debian 4.0上测试通过

分类: 绝对原创 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.