forum.bitel.ru http://forum.bitel.ru/ |
|
Не работает ограничение количества сессий (вер. 4.6) http://forum.bitel.ru/viewtopic.php?f=5&t=2734 |
Страница 1 из 1 |
Автор: | krm [ 13 авг 2009, 21:56 ] |
Заголовок сообщения: | Не работает ограничение количества сессий (вер. 4.6) |
В версии 4.6 при достаточно частых попытках авторизации (раз в 20 - 30 сек) очень высока вероятность успешной авторизации для второй сессии при ограничении в 1 сессию. Эта проблема поднималась ранее http://www.bgbilling.ru/forum/viewtopic ... 1%F1%E8%E8, но, по видимому, она до сих пор не решена. Если возможно, сообщите алгоритм проверки на количество сессий при авторизации, чтобы понять как оптимизировать систему для предотвращения подобных ошибок. |
Автор: | Администратор [ 14 авг 2009, 11:23 ] |
Заголовок сообщения: | |
Вообще если даже сессия авторизуется, ее через некоторое время сбросить должно. 20 авторизаций в секунду вообще как делают? |
Автор: | krm [ 14 авг 2009, 13:39 ] |
Заголовок сообщения: | |
Не 20 авторизаций в секунду, а одна авторизация в 20 секунд. Через какое время должно сбросить? И где это можно настроить? |
Автор: | Администратор [ 14 авг 2009, 15:07 ] |
Заголовок сообщения: | |
У вас режим обсчета случаем не checker стоит в конфигурации? Поставьте update. Раз в 30 секунд проверяет.. |
Автор: | krm [ 14 авг 2009, 19:30 ] |
Заголовок сообщения: | |
У нас стоит dialup.workmode = 1, то есть режим update, и тем не менее двойные сессии продолжаются десятки минут и часы, то есть не сбрасываются. |
Автор: | Администратор [ 17 авг 2009, 14:40 ] |
Заголовок сообщения: | |
А UPDATE пакеты идут вообще? |
Автор: | krm [ 17 авг 2009, 18:52 ] |
Заголовок сообщения: | |
UPDATE пакеты посылаются каждые 5 минут. Вот хронология событий для некоторого аккаунта: 17 13:59:20 - начало 1-й сессии 17 16:10:04 - Превышен лимит сессий - для 2-й сессии 17 16:10:26 - Превышен лимит сессий - для 2-й сессии 17 16:11:53 - Превышен лимит сессий - для 2-й сессии 17 16:31:25 - Превышен лимит сессий - для 2-й сессии 17 16:31:57 - Начало 2-й сессии Далее каждые 5 минут посылаются UPDATE пакеты для обеих сессий, трафик и время сессий увеличиваются. |
Автор: | krm [ 24 авг 2009, 11:29 ] |
Заголовок сообщения: | |
Есть какое-то решение? Сейчас, как временную меру, наряду с ограничением по логину используем скрипт по контролю соответствия МАК адреса, но это не особенно удобно. Хотелось бы чтобы заявленные функции работали. |
Автор: | Администратор [ 25 авг 2009, 13:13 ] |
Заголовок сообщения: | |
У вас получается воспроизвести ошибку самостоятельно? Выложите скрины, как настроен логин, как у него установлено ограничение по сессиям. Выборку из connection.log 2х сессий под одним логином выложите. |
Автор: | krm [ 26 авг 2009, 21:56 ] |
Заголовок сообщения: | |
Отправлено в ЛС. |
Автор: | Администратор [ 27 авг 2009, 11:24 ] |
Заголовок сообщения: | |
Вероятнее всего, у вас UPDATE пакеты идут реже, чем интервал указанный в конфигурации модуля в max.update.timeout . Т.е. между апдейт пакетами соединение успевает пометиться как неактивное. Можете RADIUS запросы по любой сессии выложить? |
Автор: | corban [ 27 авг 2009, 16:36 ] |
Заголовок сообщения: | |
Администратор писал(а): Вероятнее всего, у вас UPDATE пакеты идут реже, чем интервал указанный в конфигурации модуля в max.update.timeout . Т.е. между апдейт пакетами соединение успевает пометиться как неактивное. ну а как же фраза из документации: Код: #для режима UPDATE - время после последнего UDPATE пакета, по истечении которого сессия считается неактивной #(не учитывается в подсчете числа одновременных соединений) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ max.update.timeout=120 Было max.update.timeout=120 Сейчас установим max.update.timeout=360 и попробуем повторить с одновременными соединениями. Цитата: Можете RADIUS запросы по любой сессии выложить?
по любой сессии или именно одной из двойных? |
Автор: | Администратор [ 28 авг 2009, 10:34 ] |
Заголовок сообщения: | |
Цитата: по любой сессии или именно одной из двойных?
Да с любой, просто посмотрите интервал между Update пакетами. А Auth Accept что передается в Acct-Interim-Interval? |
Автор: | Администратор [ 28 авг 2009, 10:36 ] |
Заголовок сообщения: | |
Цитата: ну а как же фраза из документации:
Ну собственно согласно этой фразе и работает. То, что в скобках - описывает свойства коннекта а не опции. Т.е. неактивное соединение не учитывается в списке активных. Ну чтобы висяки клиенту зайти не помешали если что. |
Автор: | corban [ 28 авг 2009, 13:19 ] |
Заголовок сообщения: | |
т.е. для нормальной работы ограничения необходимо, чтобы параметр max.update.timeout был больше времени между UPDATE-пакетами? |
Автор: | snark [ 28 авг 2009, 16:53 ] |
Заголовок сообщения: | |
corban писал(а): т.е. для нормальной работы ограничения необходимо, чтобы параметр max.update.timeout был больше времени между UPDATE-пакетами?
ну из названия опции же следует что это таймаут между апдейтами, т.е. если на сессию апдейт не пришел в течении времени max.update.timeout значит сессия умерла, например, при аливах раз в 60 сек значение в 120 говорит о том что если в течении 120 сек. не пришло ни одного алива, а должно прийти 1-2 алива, значит сессию можно считать мертвой ... значение max.update.timeout обычно = Acct-Interim-Interval * 2 или 3 |
Автор: | corban [ 02 сен 2009, 16:59 ] |
Заголовок сообщения: | |
Просто не правильно был понят комментарий к опции. Выставление опции Код: max.update.timeout = ( время между UPDATE пакетами + 60 сек ) решило проблему.
Спасибо за помощь. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |