PoGrom 0 Posted 2009-08-08 03:07:21 Share Posted 2009-08-08 03:07:21 Странно, но полазив по форуму не нашел обсуждение данной проблемы. Вообщем ситуация следующая, стоит pptpd, к старгейзеру прикручен radius-0.81beta, авторизация происходит через него. НО при достижении отрицательного баланса счастливые юзеры весят в онлайне пока не надоест Есть ли методы борьбы с этим? Link to post Share on other sites
trinux 3 Posted 2009-08-08 05:13:56 Share Posted 2009-08-08 05:13:56 OnDisconnect в такой связке не выполняется? Link to post Share on other sites
PoGrom 0 Posted 2009-08-08 10:55:53 Author Share Posted 2009-08-08 10:55:53 OnDisconnect в такой связке не выполняется? Насколько я понял стг даже не пытается его выполнить. деньги кончаются а в конфигураторе юзер показывается как онлайн, обсчет трафика продолжается и деньги дальше уходят в минус, как при кредите. И так пока юзер не отключиться сам. Link to post Share on other sites
trinux 3 Posted 2009-08-08 11:43:25 Share Posted 2009-08-08 11:43:25 ну попробуйте echo куда нибудь... и поймете выполняется или нет Link to post Share on other sites
PoGrom 0 Posted 2009-08-08 12:18:16 Author Share Posted 2009-08-08 12:18:16 Еслиб он выполнялся, я бы сюда не писал. Стг не дает команды на выполнение скрипта при достижении 0 баланса и не отключает пользователя. Повторяюсь: в конфигураторе юзер висит в онлайн и трафик считается. Если есть конкретные предложения или вопросы по конфигурации пишите, ну и перед тем как чтото советовать, сами попробуйте поставить Link to post Share on other sites
egor2fsys 5 Posted 2009-08-08 15:48:21 Share Posted 2009-08-08 15:48:21 Насколько я понял стг даже не пытается его выполнить. деньги кончаются а в конфигураторе юзер показывается как онлайн, обсчет трафика продолжается и деньги дальше уходят в минус, как при кредите. И так пока юзер не отключиться сам. "Онлайн" означает, что пользователь в данный момент авторизован. А вот правила конекта для него не исполняются. Следует различать подсистемы авторизации (которая работает при любом балансе) и выполнения скриптов на подключение/отключение. Тоже самое касается радиуса, при отключении статус онлайн останется, однако должен был быть выполнен скрипт дисконекта, который запретит правилами фаервола доступ в сеть. Для более глубокого анализа проблемы приведите пожалуйста: 1) версию сервера; 2) лог старта сервера и лог в момент того момента когда пользователь должен был быть отключен; 3) лог радиуса в этот момент; 4) лог пользователя в этот промежуток времени. Link to post Share on other sites
PoGrom 0 Posted 2009-08-09 01:53:37 Author Share Posted 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? как это сделать Link to post Share on other sites
Neelix 33 Posted 2009-08-09 03:47:40 Share Posted 2009-08-09 03:47:40 /var/log/radius/ Link to post Share on other sites
PoGrom 0 Posted 2009-08-09 06:06:05 Author Share Posted 2009-08-09 06:06:05 /var/log/radius/ Там ничего, по причине того что я не использую radius сервер. В качестве сервера выступает сам модуль старгейзера. Link to post Share on other sites
egor2fsys 5 Posted 2009-08-09 11:04:11 Share Posted 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 и кредита и должно было выполниться отключение. Link to post Share on other sites
PoGrom 0 Posted 2009-08-10 10:47:08 Author Share Posted 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', ''); Link to post Share on other sites
egor2fsys 5 Posted 2009-08-10 14:29:37 Share Posted 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. Link to post Share on other sites
madf 279 Posted 2009-08-10 14:56:26 Share Posted 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'а явно внесены какие-то модификации, т.к. этих полей в стандартной поставке нет. Возможно эти модификации нарушают или изменяют логику работы системы, что и вызывает "неотключение" пользователей. Link to post Share on other sites
PoGrom 0 Posted 2009-08-10 14:58:40 Author Share Posted 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> Вот так выглядит кусок конфига, надо ли здесь включать оба модуля или оставить как есть? Link to post Share on other sites
madf 279 Posted 2009-08-11 08:33:33 Share Posted 2009-08-11 08:33:33 Вызов скрипта OnDisconnect выполняется самим Stargazer (а не модулями) в том случае если у пользователя на счету <= 0 денег и у него нет кредита. По поводу модулей радиуса: radius - это наша разработка. Модуль работает в паре с FreeRADIUS + rlm_stg. radius_ia - это сторонняя разработка, работает сам по себе. Так что включать оба можно, но не нужно. 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