Guest malivan Posted 2005-02-24 14:20:56 Share Posted 2005-02-24 14:20:56 При отключении юзера не во всех случаях отрабатывает скрипт OnDisconnect. Т.е. иногда срабатывает, а иногда нет, и в правилах файрволла остаются строки, разрешающие юзеру работать. При этом старгейзер траффик не считает и пишет что юзер в офф-лайне. В логах - всё ок ( пишет disconnect ). Куда копать ? Link to post Share on other sites
Guest Guest Posted 2005-02-24 14:26:23 Share Posted 2005-02-24 14:26:23 Вот подробности : # tail /var/log/stargazer.log 2005-02-24 16:16:54 -- User user3 10.2.0.3 connected. 2005-02-24 16:16:59 -- User user3 disconnected. # tail /var/stargazer/users/user3/connect.log C 2005.02.24-16.16.55 10.2.0.3 9.986512 D 2005.02.24-16.16.59 10.2.0.3 9.986512 # iptables -L -v -n|grep 10.2.0.3 2 152 ACCEPT all -- * * 10.2.0.3 0.0.0.0/0 1 76 ACCEPT all -- * * 0.0.0.0/0 10.2.0.3 0 0 ACCEPT all -- * * 10.2.0.3 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.2.0.3 И сам скрипт : # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log iptables -D INPUT -s $IP -j ACCEPT while [ $? -eq 0 ] do iptables -D INPUT -s $IP -j ACCEPT done iptables -D FORWARD -s $IP -j ACCEPT while [ $? -eq 0 ] do iptables -D FORWARD -s $IP -j ACCEPT done iptables -D FORWARD -d $IP -j ACCEPT while [ $? -eq 0 ] do iptables -D FORWARD -d $IP -j ACCEPT done Link to post Share on other sites
zulu_gluk 23 Posted 2005-02-24 17:28:16 Share Posted 2005-02-24 17:28:16 Я уже писал о такой же ситуации, чем обусловленно не пойму. Link to post Share on other sites
egor2fsys 5 Posted 2005-02-24 18:04:02 Share Posted 2005-02-24 18:04:02 а ОС какая у тебя на серваке ? еще проверь чтобы права на файл этот стояли на исполнение Link to post Share on other sites
zulu_gluk 23 Posted 2005-02-24 19:35:30 Share Posted 2005-02-24 19:35:30 Mandrake 10.1. Права в норме. Дело в том что у меня не исполняется самый первый цикл, и после этого скрипт завершает работу. Link to post Share on other sites
egor2fsys 5 Posted 2005-02-25 06:07:07 Share Posted 2005-02-25 06:07:07 два варианта .... 1) переписать скрипт на перле или на чем нить еще 2) попробывать понять почему скрипт не исполняется ...... меток внутрь цикла понаставить .... З. Ы. со скриптами была проблема - Борис об этом знает, но она была другого характера и еще скажи как мне как долго по времени исплняется скипт диссконеткта у тебя ? если машинка не очень быстрая то возможно СТГ виновен в прерывании скрипта .. Link to post Share on other sites
zulu_gluk 23 Posted 2005-02-25 10:22:58 Share Posted 2005-02-25 10:22:58 Исполняется быстро. машинка селерон-2.0, 256 мозгов, мать асус p4p800. Link to post Share on other sites
Guest malivan Posted 2005-02-28 11:19:00 Share Posted 2005-02-28 11:19:00 Вот именно. Машинка быстрая. ОС- линух. Скрипт обрывается на первом неотработанном iptables. Причем запущенный вручную скрипт отрабатывает на ура. Права доступа на скрипт -rwxr-x---, старгейзер запускается от рута. Ща попробую перловый скрипт наваять ... Link to post Share on other sites
Kucher2 122 Posted 2006-09-03 23:26:46 Share Posted 2006-09-03 23:26:46 Была такая бага. Началась после того, как скачал и установил с сайта разработчика более свежую версию авторизатора (от 22 ФЕВРАЛЯ 2006). После этого, когда просто закрываешь окно авторизатора, Интернет есть некоторое время, которое равно величине интервала опроса клиента на "жив-мёртв". Затем Интернет всё равно рубится Старгейзером. Но всё же это неприятно. Похоже - эта версия авторизатора просто не даёт команду серверу - выполнить OnDisconnect, если не жать кнопку "отключить", а просто закрыть окно. Решение: Когда поставил прежнюю версию авторизатора, которая была в пакете инсталляции - проблема исчезла сама собой. Link to post Share on other sites
S_ergey 21 Posted 2006-09-04 05:32:34 Share Posted 2006-09-04 05:32:34 Уменя была проблема с убиранием правил с FORWARD сделал так. ################################## iptables -t filter -D FORWARD -s $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $ip -j ACCEPT done sleep 1 ################################## iptables -t filter -D FORWARD -d $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $ip -j ACCEPT done sleep 1 ################################## Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now