![]() |
шейпер и stargazer
Все привет! такая проблемка. Есть значит биллинг 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 Буду признателен за помощь. в чем может быть неполадка? может что-то в порядке его отрабатывания не так.... может что-то напутал я... |
Время: 11:16. |
Время: 11:16.
© OSzone.net 2001-