Перейти до

почему не отрабатывает OnDisconnect ?


Гость malivan

Рекомендованные сообщения

При отключении юзера не во всех случаях отрабатывает скрипт OnDisconnect. Т.е. иногда срабатывает, а иногда нет, и в правилах файрволла остаются строки, разрешающие юзеру работать. При этом старгейзер траффик не считает и пишет что юзер в офф-лайне. В логах - всё ок ( пишет disconnect ). Куда копать ?

Ссылка на сообщение
Поделиться на других сайтах

Вот подробности :

 

# 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

Ссылка на сообщение
Поделиться на других сайтах

два варианта ....

1) переписать скрипт на перле или на чем нить еще

2) попробывать понять почему скрипт не исполняется ...... меток внутрь цикла понаставить ....

 

З. Ы. со скриптами была проблема - Борис об этом знает, но она была другого характера

 

и еще скажи как мне как долго по времени исплняется скипт диссконеткта у тебя ?

 

если машинка не очень быстрая то возможно СТГ виновен в прерывании скрипта ..

Ссылка на сообщение
Поделиться на других сайтах

Вот именно. Машинка быстрая. ОС- линух. Скрипт обрывается на первом неотработанном iptables. Причем запущенный вручную скрипт отрабатывает на ура. Права доступа на скрипт -rwxr-x---, старгейзер запускается от рута. Ща попробую перловый скрипт наваять ...

Ссылка на сообщение
Поделиться на других сайтах
  • 1 year later...

Была такая бага. Началась после того, как скачал и установил с сайта разработчика более свежую версию авторизатора (от 22 ФЕВРАЛЯ 2006). После этого, когда просто закрываешь окно авторизатора, Интернет есть некоторое время, которое равно величине интервала опроса клиента на "жив-мёртв". Затем Интернет всё равно рубится Старгейзером. Но всё же это неприятно. Похоже - эта версия авторизатора просто не даёт команду серверу - выполнить OnDisconnect, если не жать кнопку "отключить", а просто закрыть окно.

 

Решение:

Когда поставил прежнюю версию авторизатора, которая была в пакете инсталляции - проблема исчезла сама собой.

Ссылка на сообщение
Поделиться на других сайтах

Уменя была проблема с убиранием правил с 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

##################################

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...