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=$5echo $* >/etc/ppp/arg2.txt
echo $PEERNAME >/etc/ppp/arg3.txt
#get username
user=$PEERNAME#init user speed
u_speed=200while read username speed
doif [ "$user" = "$username" ] ;
thenu_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上测试通过
最新评论