shaper
Добавлено: Сб дек 01, 2007 8:47 pm
объясните как настроить шейпер в линуксе... почитал маны про радиус и прочее какие тут были, все сделал так акк написано, но реакции 0, может у кого опыт свой был, поделитесь как сделали...
Код: Выделить всё
#!/bin/bash
TC=/usr/sbin/tc
if [ -f /var/run/radattr.$1 ] ;
then
DOWNSPEED=`/usr/bin/awk '/PPPD-Downstream-Speed-Limit/ {print $2}' /var/run/radattr.$1`
UPSPEED=`/usr/bin/awk '/PPPD-Upstream-Speed-Limit/ {print $2}' /var/run/radattr.$1`
FILTERS=`/usr/bin/awk '/Filter-Id/ {print $2}' /var/run/radattr.$1`
test -n "$FILTERS" && /sbin/ip ru add from $5 iif $1 table $FILTERS >/dev/null 2>&1
$TC qdisc del dev $1 root > /dev/null
$TC qdisc del dev $1 ingress > /dev/null
##### speed server->client
if [ "$UPSPEED" != "0" ] ;
then
$TC qdisc add dev $1 root tbf rate $(( $UPSPEED * 1024 ))bit burst 1540 limit 20kb
fi
##### speed client->server
if [ "$DOWNSPEED" != "0" ] ;
then
$TC qdisc add dev $1 handle ffff: ingress
$TC filter add dev $1 parent ffff: protocol ip \
prio 50 u32 match ip src 0.0.0.0/0 police rate $((DOWNSPEED * 1024))bit \
burst 12k drop flowid :1
fi
fi
Код: Выделить всё
#!/bin/bash
if [ -f /var/run/radattr.$1 ] ;
then
FILTERS=`/usr/bin/awk '/Filter-Id/ {print $2}' /var/run/radattr.$1`
test -n "$FILTERS" && /sbin/ip ru del from $5 iif $1 table $FILTERS >/dev/null 2>&1
fi