Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Slackware - шейпер и stargazer

Ответить
Настройки темы
Slackware - шейпер и stargazer

Аватара для Trinux

Старожил


Сообщения: 225
Благодарности: 2

Профиль | Отправить PM | Цитировать


Все привет! такая проблемка. Есть значит биллинг stargazer при авторизации срабатывает скрипт OnConnect который пишет правила для фаяра, которые пускают юзера в инет, там же есть строки для шейпинга канала. так вот когда юзер отключается срабатывает скрипт OnDiscconect он убирает правила для фаяра и собственно для шейпера.


Так вот суть в том что при отключении клиента правила tc не всегда отрабатываются и остаются висеть, что делает невозможным смену скорости клиенту.

вот кусок скрипта для скорости при коннекте

#Cut speed
tarif=`/etc/stargazer/tarif.php $2`
$IPTABLES -t filter -A FORWARD -s $IP -j QUEUE
$IPTABLES -t filter -A FORWARD -d $IP -j QUEUE
prioid="${ID}0"

if [ "$tarif" = "64" ]; then
speed=64
elif [ "$tarif" = "128" ]; then
speed=128
elif [ "$tarif" = "256" ]; then
speed=256
elif [ "$tarif" = "1024" ]; then
speed=1024
elif [ "$tarif" = "512" ]; then
speed=512
else
speed=0
fi

if [ $speed != 0 ]; then
echo $1 $2 $prioid $speed $tarif `date +"%Y/%m/%d-%T"` >> /var/log/speed
/sbin/tc class add dev $eth_local parent 1:1 classid 1:${prioid} htb rate $speed'kbit' burst 20k
/sbin/tc filter add dev $eth_local parent 1: protocol ip prio ${prioid} u32 match ip dst $IP flowid 1:${prioid}

fi
echo $1 `date +"%Y/%m/%d-%T"` >> /var/log/connect.log

Он отрабатывает все красиво.... а вот при отключении что-то не так...




вот кусок из скрипта OnDisconnect.

#disable cut spped
$IPTABLES -t filter -D FORWARD -s $IP -j QUEUE > /dev/null
while [ $? -eq 0 ]
do
$IPTABLES -t filter -D FORWARD -s $IP -j QUEUE > /dev/null
done
$IPTABLES -t filter -D FORWARD -d $IP -j QUEUE > /dev/null
while [ $? -eq 0 ]
do
$IPTABLES -t filter -D FORWARD -d $IP -j QUEUE > /dev/null
done

tc filter del dev eth3 pref ${prioid}
while [ $? -eq 0 ]
do
tc filter del dev eth3 pref ${prioid}
done
tc class del dev eth3 classid 1:${prioid}
while [ $? -eq 0 ]
do
tc class del dev eth3 classid 1:${prioid}
done
echo $1 `date +"%Y/%m/%d-%T"` >> /var/log/disconnect.log



Буду признателен за помощь.
в чем может быть неполадка? может что-то в порядке его отрабатывания не так.... может что-то напутал я...

Отправлено: 20:53, 15-03-2009

 


Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Slackware - шейпер и stargazer

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
UserGate - [решено] нужен шейпер для пяти шести компов keruha Сетевые технологии 2 17-08-2009 08:08
FreeBSD - Шейпер для chillispot xolod. Общий по FreeBSD 0 08-08-2009 00:24
Bandwith/Quota - Ищу шейпер для ограничения скорости лишь на одной машине PhantomLo Сетевые технологии 3 04-08-2009 07:29
FreeBSD - ограничение скорости (шейпер) xolod. Общий по FreeBSD 1 06-06-2009 21:48
Интернет шейпер Vova_19 Microsoft Windows NT/2000/2003 0 09-04-2009 11:32




 
Переход