PoGrom 0 Опубликовано: 2009-08-08 03:07:21 Share Опубликовано: 2009-08-08 03:07:21 Странно, но полазив по форуму не нашел обсуждение данной проблемы. Вообщем ситуация следующая, стоит pptpd, к старгейзеру прикручен radius-0.81beta, авторизация происходит через него. НО при достижении отрицательного баланса счастливые юзеры весят в онлайне пока не надоест Есть ли методы борьбы с этим? Ссылка на сообщение Поделиться на других сайтах
trinux 3 Опубликовано: 2009-08-08 05:13:56 Share Опубликовано: 2009-08-08 05:13:56 OnDisconnect в такой связке не выполняется? Ссылка на сообщение Поделиться на других сайтах
PoGrom 0 Опубликовано: 2009-08-08 10:55:53 Автор Share Опубликовано: 2009-08-08 10:55:53 OnDisconnect в такой связке не выполняется? Насколько я понял стг даже не пытается его выполнить. деньги кончаются а в конфигураторе юзер показывается как онлайн, обсчет трафика продолжается и деньги дальше уходят в минус, как при кредите. И так пока юзер не отключиться сам. Ссылка на сообщение Поделиться на других сайтах
trinux 3 Опубликовано: 2009-08-08 11:43:25 Share Опубликовано: 2009-08-08 11:43:25 ну попробуйте echo куда нибудь... и поймете выполняется или нет Ссылка на сообщение Поделиться на других сайтах
PoGrom 0 Опубликовано: 2009-08-08 12:18:16 Автор Share Опубликовано: 2009-08-08 12:18:16 Еслиб он выполнялся, я бы сюда не писал. Стг не дает команды на выполнение скрипта при достижении 0 баланса и не отключает пользователя. Повторяюсь: в конфигураторе юзер висит в онлайн и трафик считается. Если есть конкретные предложения или вопросы по конфигурации пишите, ну и перед тем как чтото советовать, сами попробуйте поставить Ссылка на сообщение Поделиться на других сайтах
egor2fsys 5 Опубликовано: 2009-08-08 15:48:21 Share Опубликовано: 2009-08-08 15:48:21 Насколько я понял стг даже не пытается его выполнить. деньги кончаются а в конфигураторе юзер показывается как онлайн, обсчет трафика продолжается и деньги дальше уходят в минус, как при кредите. И так пока юзер не отключиться сам. "Онлайн" означает, что пользователь в данный момент авторизован. А вот правила конекта для него не исполняются. Следует различать подсистемы авторизации (которая работает при любом балансе) и выполнения скриптов на подключение/отключение. Тоже самое касается радиуса, при отключении статус онлайн останется, однако должен был быть выполнен скрипт дисконекта, который запретит правилами фаервола доступ в сеть. Для более глубокого анализа проблемы приведите пожалуйста: 1) версию сервера; 2) лог старта сервера и лог в момент того момента когда пользователь должен был быть отключен; 3) лог радиуса в этот момент; 4) лог пользователя в этот промежуток времени. Ссылка на сообщение Поделиться на других сайтах
PoGrom 0 Опубликовано: 2009-08-09 01:53:37 Автор Share Опубликовано: 2009-08-09 01:53:37 2009-08-09 02:56:39 -- Stg v. Stg 2.404 2009-08-09 02:56:39 -- Message queue created successfully. msgKey=5555 msgID=0 2009-08-09 02:56:39 -- Timer thread started successfully. 2009-08-09 02:56:39 -- Storage plugin: mysql_store v.0.67. Loading successfull. 2009-08-09 02:56:40 -- Users started successfully. 2009-08-09 02:56:40 -- Traffcounter started successfully. 2009-08-09 02:56:40 -- Module: 'ipq_cap v.1.1'. Start successfull. 0 2009-08-09 02:56:40 -- Module: 'Radius modul version 0.72alpha'. Start successfull. 18 2009-08-09 02:56:40 -- Module: 'InetAccess authorizator v.1.2'. Start successfull. 50 2009-08-09 02:56:40 -- Module: 'Always Online authorizator v.1.0'. Start successfull. 70 2009-08-09 02:56:40 -- Module: 'Pinger v.1.01'. Start successfull. 100 2009-08-09 02:56:40 -- Module: 'Stg configurator v.0.07'. Start successfull. 220 2009-08-09 02:56:40 -- Stg started successfully. Простите делитанта, но где лежит лог модуля радиус и лог пользователя? А в /var/log/stargazer.log у меня кроме ошибок подключения, запуска стг и удаления/добавления пользователя ничего не пишет. Или необходимо включить debug? как это сделать Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубликовано: 2009-08-09 03:47:40 Share Опубликовано: 2009-08-09 03:47:40 /var/log/radius/ Ссылка на сообщение Поделиться на других сайтах
PoGrom 0 Опубликовано: 2009-08-09 06:06:05 Автор Share Опубликовано: 2009-08-09 06:06:05 /var/log/radius/ Там ничего, по причине того что я не использую radius сервер. В качестве сервера выступает сам модуль старгейзера. Ссылка на сообщение Поделиться на других сайтах
egor2fsys 5 Опубликовано: 2009-08-09 11:04:11 Share Опубликовано: 2009-08-09 11:04:11 Простите делитанта, но где лежит лог модуля радиус и лог пользователя?А в /var/log/stargazer.log у меня кроме ошибок подключения, запуска стг и удаления/добавления пользователя ничего не пишет. Или необходимо включить debug? как это сделать Поскольку у вас используется модуль хранения данных mysql, то сделайте дамп таблицы logs_номермесяца_номергода по нужному пользователю за соотв. период. Добавьте в скрипт OnConnect в самый низ такую строку echo "`date +%Y-%m-%d` `date +%H:%M:%S` -- User $LOGIN from $IP connected." >> /var/log/stargazer.log Добавьте в скрипт OnDisconnect в самый низ такую строку echo "`date +%Y-%m-%d` `date +%H:%M:%S` -- User $LOGIN from $IP disconnected." >> /var/log/stargazer.log Это даст возможность записывать в лог сервера моменты подключения и отключения пользователей. Отмечу, что логи необходимо привести за тот период времени, когда у пользователя баланс стал меньше 0 и кредита и должно было выполниться отключение. Ссылка на сообщение Поделиться на других сайтах
PoGrom 0 Опубликовано: 2009-08-10 10:47:08 Автор Share Опубликовано: 2009-08-10 10:47:08 Вставил в скрипты онконнект и ондисконнект строчку для ведения лога подключений и отключений.Добавл пользователя test1 и положил на счет 1рубль. /var/log/stargazer.log 2009-08-10 23:30:01 -- Admin 'admin', 192.168.230.15: User 'test1' added. 2009-08-10 23:30:01 -- Admin 'admin', 192.168.230.15: User 'test1': 'IP' parameter changed from '*' to '10.0.0.7'. 2009-08-10 23:30:01 -- Admin 'admin', 192.168.230.15: User 'test1': 'address' parameter changed from '' to '?'. 2009-08-10 23:30:01 -- Admin 'admin', 192.168.230.15: User 'test1': 'group' parameter changed from '' to 'admin'. 2009-08-10 23:30:01 -- Admin 'admin', 192.168.230.15: User 'test1': 'password' parameter changed from '******' to '******'. 2009-08-10 23:30:01 -- Admin 'admin', 192.168.230.15: User 'test1': 'phone' parameter changed from '' to '?'. 2009-08-10 23:30:01 -- Admin 'admin', 192.168.230.15: User 'test1': 'realName' parameter changed from '' to '?'. 2009-08-10 23:30:01 -- Admin 'admin', 192.168.230.15: User 'test1': 'tariff' parameter changed from '*_NO_TARIFF_*' to 'tariff'. 2009-08-10 23:30:12 -- Admin 'admin', 192.168.230.15: User 'test1': 'cash' parameter changed from '0.000000' to '1.000000'. 2009-08-10 23:30:59 -- User test1 from 10.0.0.7 connected. в 23 часа 34 минуты баланс стал равен -0,34р но отключения не последвало, интернет и обсчет продолжает идти, в логах ничего нет. Вот дамп таблицы по этому пользователю. (1203, NULL, NULL, 'test1', ''), (1204, NULL, NULL, 'test1', ''), (1205, NULL, NULL, 'test1', ''), (1206, NULL, NULL, 'test1', ''), (1207, NULL, NULL, 'test1', ''), (1208, NULL, NULL, 'test1', ''), (1209, NULL, NULL, 'test1', ''), (1210, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"tariff" parameter changed from "*_NO_TARIFF_*" to "tariff".'), (1211, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"group" parameter changed from "" to "admin".'), (1212, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"password" parameter changed from "********" to "********".'), (1213, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"ip" parameter changed from "*" to "10.0.0.7".'), (1214, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"name" parameter changed from "" to "?".'), (1215, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"address" parameter changed from "" to "?".'), (1216, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"phone" parameter changed from "" to "?".'), (1217, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"notify_method" parameter changed from "0" to "1".'), (1218, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"dealer_percent" parameter changed from "0" to "".'), (1219, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', 'User "test1" added.'), (1220, NULL, NULL, 'test1', ''), (1221, '2009-08-10 23:30:12', 'WebAdmin "admin" [192.168.230.1]', 'test1', 'Updating of the account (cash) for the sum "1"'), (1222, NULL, NULL, 'test1', ''), Повисев еще пару минут отключился сам.В логе: 2009-08-10 23:37:51 -- User test1 from 10.0.0.7 disconnected. в mysql добавилась строчка (1223, NULL, NULL, 'test1', ''); Ссылка на сообщение Поделиться на других сайтах
egor2fsys 5 Опубликовано: 2009-08-10 14:29:37 Share Опубликовано: 2009-08-10 14:29:37 Вставил в скрипты онконнект и ондисконнект строчку для ведения лога подключений и отключений.Добавл пользователя test1 и положил на счет 1рубль. в 23 часа 34 минуты баланс стал равен -0,34р но отключения не последвало, интернет и обсчет продолжает идти, в логах ничего нет. Вот дамп таблицы по этому пользователю. Повисев еще пару минут отключился сам.В логе: 2009-08-10 23:37:51 -- User test1 from 10.0.0.7 disconnected. в mysql добавилась строчка (1223, NULL, NULL, 'test1', ''); 1) Когда пользователь сам отключился, точно ли в логе сервера не появилось записи про отключение ? 2) Попробуйте выполнить скрипт дисконекта руками для любого работающего пользователя в данный момент. (./OnDisconnect test 10.0.0.7 1). Появится ли запись в логе сервера ? 3) по "(1223, NULL, NULL, 'test1', '');" очень похоже на неверную работу модуля mysql. Напомним, что в данный момент этот модуль не поддерживается и его корректную работу мы гарантировать не можем. Советуем перейти или на файловое хранилище данных или на модуль хранения в БД firebird. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубликовано: 2009-08-10 14:56:26 Share Опубликовано: 2009-08-10 14:56:26 ... (1217, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"notify_method" parameter changed from "0" to "1".'), (1218, '2009-08-10 23:30:01', 'WebAdmin "admin" [192.168.230.1]', 'test1', '"dealer_percent" parameter changed from "0" to "".'), ... В код Stargazer'а явно внесены какие-то модификации, т.к. этих полей в стандартной поставке нет. Возможно эти модификации нарушают или изменяют логику работы системы, что и вызывает "неотключение" пользователей. Ссылка на сообщение Поделиться на других сайтах
PoGrom 0 Опубликовано: 2009-08-10 14:58:40 Автор Share Опубликовано: 2009-08-10 14:58:40 1) Когда пользователь сам отключился, точно ли в логе сервера не появилось записи про отключение ? Повисев еще пару минут отключился сам.В логе: 2009-08-10 23:37:51 -- User test1 from 10.0.0.7 disconnected. 2) Попробуйте выполнить скрипт дисконекта руками для любого работающего пользователя в данный момент. (./OnDisconnect test 10.0.0.7 1). Появится ли запись в логе сервера ? Появляется, скрипт выполняется, интернет не идет после его выполнения. 3) по "(1223, NULL, NULL, 'test1', '');" очень похоже на неверную работу модуля mysql. Напомним, что в данный момент этот модуль не поддерживается и его корректную работу мы гарантировать не можем. Советуем перейти или на файловое хранилище данных или на модуль хранения в БД firebird. Перейти к сожалению не могу изза того что отчеты и админка организованны через STG-web. А если поставлю вопрос по другому, в модуле radius_ia.so вообще предусмотренно отключение пользователя при достижении отрицательного баланса, или это делает само ядро стг? # <Module radius> # Password = ******* # ServerIP = 127.0.0.1 # Port = 6666 # AuthServices = Login-User # AcctServices = Framed-User # </Module> <Module radius_ia> Secret=******* NasIP=127.0.0.1 AuthPort=1812 AcctPort=1813 UpdateInterval=10 </Module> Вот так выглядит кусок конфига, надо ли здесь включать оба модуля или оставить как есть? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубликовано: 2009-08-11 08:33:33 Share Опубликовано: 2009-08-11 08:33:33 Вызов скрипта OnDisconnect выполняется самим Stargazer (а не модулями) в том случае если у пользователя на счету <= 0 денег и у него нет кредита. По поводу модулей радиуса: radius - это наша разработка. Модуль работает в паре с FreeRADIUS + rlm_stg. radius_ia - это сторонняя разработка, работает сам по себе. Так что включать оба можно, но не нужно. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас