Для тестирование шейпера, я выставил клиенту значение 32
И при закачке с самого сервера, в браузере Firefox 3 отображается скорость закачки 3,0 - 3,7 килобайт, если подсчитать, 32 килобит\8 бит=4 килобайт
Почему нет соответствия?
Канал не загружен, то есть я только закачку делаю с самого сервера.
файлик
# cat /var/run/radattr.ppp0
Код: Выделить всё
MS-CHAP2-Success \231S=53ED947F79E758C75E4D0B8749DDE9C2BB20CC6C
MS-MPPE-Recv-Key \306\203S\2766\230\332f\210\272M\330\373\3641\331\231\335\363\016\231\307Ab\006\354\236\244`\210gm\352e
MS-MPPE-Send-Key \315\3356,\305-\353'[\232'{\355\341\342f\025\006\341\035\326P\203\005\245c\024\372k\005\002\016\377#
MS-MPPE-Encryption-Policy
MS-MPPE-Encryption-Types
Session-Timeout 286598
Session-Octets-Limit 2146435072
PPPD-Downstream-Speed-Limit 32
Acct-Interim-Interval 60
PPPD-Upstream-Speed-Limit 32
Octets-Direction Input
Framed-IP-Address 172.26.20.21
Framed-IP-Netmask 255.255.255.255
# cat /etc/ppp/ip-up.local
Код: Выделить всё
if [ -f /var/run/radattr.$1 ]
then
DOWNSPEED=`/bin/awk '/PPPD-Downstream-Speed-Limit/ {print $2}' /var/run/radattr.$1`
UPSPEED=`/bin/awk '/PPPD-Upstream-Speed-Limit/ {print $2}' /var/run/radattr.$1`
FILTERS=`/bin/awk '/Filter-Id/ {print $2}' /var/run/radattr.$1`
#echo $DOWNSPEED
#echo $UPSPEED
#echo $FILTERS
/sbin/tc qdisc del dev $1 root > /dev/null
/sbin/tc qdisc del dev $1 ingress > /dev/null
##### speed server->client
if [ "$UPSPEED" != "0" ] ;
then
/sbin/tc qdisc add dev $1 root handle 1: htb default 20 r2q 1
/sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit burst 4k
/sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate ${UPSPEED}kbit burst 4k prio 1
/sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate ${UPSPEED}kbit burst 4k prio 2
/sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1500
/sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1500
/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10
/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10
/sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10
fi
##### speed client->server
if [ "$DOWNSPEED" != "0" ] ;
then
/sbin/tc qdisc add dev $1 handle ffff: ingress
/sbin/tc filter add dev $1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNSPEED}kbit burst 12k drop flowid :1
fi
fi