|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Slackware - шейпер и stargazer |
|
Slackware - шейпер и stargazer
|
Старожил Сообщения: 225 |
Все привет! такая проблемка. Есть значит биллинг 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 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|