Настройка шейпинга

Технические вопросы по UTM 5.0
Аватара пользователя
stmw00d00
Сообщения: 51
Зарегистрирован: Пт ноя 02, 2007 16:18
Контактная информация:

Настройка шейпинга

Сообщение stmw00d00 »

На сайте нетапа есть статейка "Ограничение потоков трафика на PC-роутерах под управлением операционных систем Linux и FreeBSD,и использование шейпинга совместно с NetUP UTM.", как такое реализовать при использовании VPN. В tc не силен, как и в английском, man tc на русском найти не могу. Памагитя!

В настоящий момент пытаюсь шейпить трафик следующим образом:
К тарифу, скорость которого необходимо ограничить прицеплены правила
включение - sh /netup/utm5/shaper32.sh UIP
выключение - sh /netup/utm5/shaper32.sh UIP

shaper32.sh

Код: Выделить всё

#!/bin/sh
AWK=/bin/awk
GREP=/bin/grep
IP=${1}
PPP_ID=`/sbin/route -n|grep "$IP  "|awk {'print $8'}`
tc qdisc add dev $PPP_ID root tbf rate 32kbit burst 4kb latency 5ms minburst 1540
При подключении пользователя его айпи передается в скрипт, который ищет соответствующий интерфейс и режет на нем скорость.

[root@p856p66 ~]# tc qdisc show

Код: Выделить всё

qdisc pfifo_fast 0: dev eth1 root bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth0 root bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc tbf 8004: dev ppp1 rate 64000bit burst 4Kb lat 5.0ms
qdisc tbf 8002: dev ppp2 rate 32000bit burst 4Kb lat 5.0ms
qdisc tbf 8003: dev ppp3 rate 64000bit burst 4Kb lat 5.0ms
qdisc tbf 8006: dev ppp5 rate 256000bit burst 4Kb lat 5.0ms
qdisc tbf 8007: dev ppp6 rate 256000bit burst 4Kb lat 5.0ms
qdisc tbf 8008: dev ppp7 rate 256000bit burst 4Kb lat 5.0ms
qdisc tbf 800b: dev ppp0 rate 256000bit burst 4Kb lat 5.0ms
qdisc tbf 800d: dev ppp4 rate 256000bit burst 4Kb lat 5.0ms
qdisc tbf 8010: dev ppp8 rate 32000bit burst 4Kb lat 5.0ms
Все работает, но вот проблемка. Если юзер закрывает VPN с тарифом 32 килобита/сек и заходит под другим логином/паролем с тарифом 64 килобит/сек (к примеру) - на его интерфейсе скорость все равно режется по-старому. Как такое может быть!? Скрипты для ограничения скорости в первом и во втором случае разные. Нифига не пойму...

Подскажите что-нибудь.

Аватара пользователя
stmw00d00
Сообщения: 51
Зарегистрирован: Пт ноя 02, 2007 16:18
Контактная информация:

Сообщение stmw00d00 »

Тьфу блин... :)
Проблема решилась добавлением в скрипт строчки

Код: Выделить всё

tc qdisc del dev $PPP_ID root tbf

UncleDen
Сообщения: 128
Зарегистрирован: Вт фев 01, 2005 09:04
Откуда: Европа-Азия

Сообщение UncleDen »

У меня тисишка не заробила выше 256кБит, настраивал аналогично.
Юзаю rshaper из CVS, контролируя каждый его шаг. Юзеров по тыще на нас, полёт нормальный.

steckovski
Сообщения: 31
Зарегистрирован: Сб июл 26, 2008 11:58

Сообщение steckovski »

stmw00d00 писал(а):Тьфу блин... :)
Проблема решилась добавлением в скрипт строчки

Код: Выделить всё

tc qdisc del dev $PPP_ID root tbf
Можно последнюю версию скрипта в СТудию,!,!

На включение и выключение скрипт один и тот же ?

Аватара пользователя
stmw00d00
Сообщения: 51
Зарегистрирован: Пт ноя 02, 2007 16:18
Контактная информация:

Сообщение stmw00d00 »

На включение и выключение (ограничение 128 кбит) правило

Код: Выделить всё

sh /netup/utm5/shaper128.sh UIP
shaper128.sh

Код: Выделить всё

#!/bin/sh
AWK=/bin/awk
CAT=/bin/cat
GREP=/bin/grep
KILL=/bin/kill
IP=${1}
LIMIT=${2}
#VPN=`echo $IP|tr / " "|tr ";" " "|awk {'print $(NF-1)'}`
PPP_ID=`/sbin/route -n|grep "$IP  "|awk {'print $8'}`
tc qdisc del dev $PPP_ID root tbf
tc qdisc add dev $PPP_ID root tbf rate 128kbit burst 4kb latency 5ms minburst 1540
Сейчас так. Вроде работает, никто не жалуется.

SOLDIER
Сообщения: 649
Зарегистрирован: Чт мар 16, 2006 18:07

Сообщение SOLDIER »

А Вы, выбирая TBF какими-то соображениями руководствовались? Можно услышать. Потому как я вешаю HTB на интерфейс. Вроде как есть мнение о его большей "гладкости" (если можно так выразиться). Да и правила у меня понавороченнее (посмотрите тему соседнюю про PPPoE на кошках). К тому же - почему-то не увидел у Вас шейпера на входящий трафик (ingress). Вы не шейпите исходящий от абонента трафик?

Аватара пользователя
stmw00d00
Сообщения: 51
Зарегистрирован: Пт ноя 02, 2007 16:18
Контактная информация:

Сообщение stmw00d00 »

Иходящий трафик не шейпится. Пров его не тарифицирует, а пользователей очень мало, так что пока особой надобности не вижу.
Впрочем, если подскажете как подправить для этого скрипт, буду благодарен. В будущем пригодится.

SOLDIER
Сообщения: 649
Зарегистрирован: Чт мар 16, 2006 18:07

Сообщение SOLDIER »

А вы дествительно не понимаете, с какой целью провайдеры делают несимметричную скорость? :) Подсказать могу легко - почему бы нет. Вот - вешается полисер на входящий (исходящий от клиента) трафик (с учётом всех условий в многочисленных статьях об ингресс). У меня вот такой блок в /etc/ppp/ip-up.d:
##### speed client->server
if [ "$UPSPEED" -gt "0" ] ;
then
case $UPSPEED in
910) UPSPEED=`expr $UPSPEED + 800`;;
300) UPSPEED=`expr $UPSPEED + 3100`;;
500) UPSPEED=`expr $UPSPEED + 5510`;;
824) UPSPEED=`expr $UPSPEED + 200`;;
*) k=1;;
esac
/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 ${UPSPEED}kbit burst 10k
fi
echo "$DATE :Interface $1: IP-address: $IP, DOWNSPEED: $DOWNSPEED, UPSPEED: $UPSPEED" >> /var/log/pppd/speeds.log
fi
Да писал я - почему именно так. почему кейс - привет НетАпу от Радиуса. Саму суть игресс уловить легко. Единственное - нельзя на него классы вешать. Только фильтр.

Cyber
Сообщения: 153
Зарегистрирован: Ср сен 28, 2005 11:36
Откуда: Volgograd

Сообщение Cyber »

Люди добрые!
Помогите настроить шейпинг!
В ноги падаю!!! Ну туплю я что-то!!!

У меня следующая реализация:
комп для биллинга 004 сборка (RedHat9) + комп для шлюза (Федора9) на котром поднят pptpd.

расскажите подробно где что прописать и где расположить указанные скрипты...

Безумно благодарен!!!

Cyber
Сообщения: 153
Зарегистрирован: Ср сен 28, 2005 11:36
Откуда: Volgograd

Сообщение Cyber »

Может что еще надо указать?

stmw00d00 не расскажите как решили проблему?

steckovski
Сообщения: 31
Зарегистрирован: Сб июл 26, 2008 11:58

Сообщение steckovski »

stmw00d00 писал(а):На включение и выключение (ограничение 128 кбит) правило

Код: Выделить всё

sh /netup/utm5/shaper128.sh UIP
shaper128.sh

Код: Выделить всё

#!/bin/sh
AWK=/bin/awk
CAT=/bin/cat
GREP=/bin/grep
KILL=/bin/kill
IP=${1}
LIMIT=${2}
#VPN=`echo $IP|tr / " "|tr ";" " "|awk {'print $(NF-1)'}`
PPP_ID=`/sbin/route -n|grep "$IP  "|awk {'print $8'}`
tc qdisc del dev $PPP_ID root tbf
tc qdisc add dev $PPP_ID root tbf rate 128kbit burst 4kb latency 5ms minburst 1540
Сейчас так. Вроде работает, никто не жалуется.
Сделал все как описано не пашет (

Подозреваю что не исполняться скрипт и где вообще можно посмотреть ду ит или нет

я даже создал простенький скрипт который бы написал лог

Код: Выделить всё

echo $@ >>/netup/utm5/log/shaper.log
лог не появляется (

Куда Копать Хелп

Аватара пользователя
stmw00d00
Сообщения: 51
Зарегистрирован: Пт ноя 02, 2007 16:18
Контактная информация:

Сообщение stmw00d00 »

Добавьте прав скрипту, может в этом дело.

Аватара пользователя
detx
Сообщения: 346
Зарегистрирован: Вт мар 11, 2008 12:00
Откуда: Нижний Новгород

Сообщение detx »

stmw00d00 писал(а):Иходящий трафик не шейпится. Пров его не тарифицирует, а пользователей очень мало, так что пока особой надобности не вижу.
Впрочем, если подскажете как подправить для этого скрипт, буду благодарен. В будущем пригодится.
А вы так и не релизовали шейп исходящего трафика???

Аватара пользователя
stmw00d00
Сообщения: 51
Зарегистрирован: Пт ноя 02, 2007 16:18
Контактная информация:

Сообщение stmw00d00 »

Нет. Не вижу смысла, и откровенно говоря, не совсем понимаю как это можно сделать.

Аватара пользователя
detx
Сообщения: 346
Зарегистрирован: Вт мар 11, 2008 12:00
Откуда: Нижний Новгород

Сообщение detx »

stmw00d00 писал(а):Нет. Не вижу смысла, и откровенно говоря, не совсем понимаю как это можно сделать.
А из каких соображений не видишь смысла????
Зачем пользователю с 128kb мегабитный исходящий канал

Ответить