shaper
shaper
объясните как настроить шейпер в линуксе... почитал маны про радиус и прочее какие тут были, все сделал так акк написано, но реакции 0, может у кого опыт свой был, поделитесь как сделали...
вот мой рабочий /etc/ppp/ip-pre-up:
И /etc/ppp/ip-down.local:
От того, что в мануале отличается только тем, что у меня через FILTERS передаётся имя таблицы маршрутизации, через которую надо пробрасывать клиента (у меня разные клиенты работают через разных провайдеров) и дисциплину обслуживания очереди я tbf ставлю. А проверяется элементарно:
billing:/etc/ppp # tc -s -d qdisc ls dev ppp1
qdisc tbf 80c5: rate 131072bit burst 1539b/8 mpu 0b lat 1.2s
Sent 3179109 bytes 4492 pkt (dropped 106, overlimits 9093 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc ingress ffff: ----------------
Sent 717803 bytes 4429 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 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
billing:/etc/ppp # tc -s -d qdisc ls dev ppp1
qdisc tbf 80c5: rate 131072bit burst 1539b/8 mpu 0b lat 1.2s
Sent 3179109 bytes 4492 pkt (dropped 106, overlimits 9093 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc ingress ffff: ----------------
Sent 717803 bytes 4429 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0