Stronglan
|
|
« : 20 Апреля 2018, 18:46:25 » |
|
Подскажите где в старых версиях нодени настраивается этот параметр?
Через какое время в секундах учетная запись переводится в состояние «не авторизована». Зависит от настроек системы авторизации. Рекомендуется брать чуть больше двух периодов ре-авторизаций (например, период аккаунтинга). Для стандартной настройки по умолчанию 150 секунд
Нужно увеличить значение по умолчанию
|
|
|
Записан
|
|
|
|
Stronglan
|
|
« Ответ #1 : 20 Апреля 2018, 20:24:22 » |
|
Частично отвечу на свой вопрос:
/usr/local/nodeny/kernel/auth.cfg
timeout => 150,
увеличил значение до 300, но вылезла проблема что по завершении сеанса сессия не отображается в логах
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #2 : 21 Апреля 2018, 06:08:23 » |
|
т.е. при 150 она есть в логах, а при 300 нет?)
|
|
|
Записан
|
|
|
|
Stronglan
|
|
« Ответ #3 : 21 Апреля 2018, 06:50:44 » |
|
Да, так и есть, при чем по истечении 300 секунд в карточке абонента сразу освобождается его айпи. В случае со 150 секундами сначала пропадал зеленый ключ авторизации и писалось "IP будет освобожден через хх секунд".
|
|
|
Записан
|
|
|
|
Stronglan
|
|
« Ответ #4 : 21 Апреля 2018, 11:12:21 » |
|
Также если поставить значение timeout больше 300 секунд, например 360 то авторизация все равно слетит после 300 секунд
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #5 : 21 Апреля 2018, 22:21:09 » |
|
радиус используется? процедура radstop в конфиге радиуса раскомментирована?
|
|
|
Записан
|
|
|
|
Stronglan
|
|
« Ответ #6 : 22 Апреля 2018, 09:02:26 » |
|
Нет, радиус не используется. В версии биллинга где параметр timeout задается в веб интерфейсе такая же ситуация...
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #7 : 23 Апреля 2018, 06:39:05 » |
|
Попробуй остановить минут на 10 этот модуль чтобы проверить он или не он удаляет авторизации
|
|
|
Записан
|
|
|
|
Stronglan
|
|
« Ответ #8 : 23 Апреля 2018, 07:46:25 » |
|
Остановил модуль, айпи и и зеленый ключ авторизации продолжают висеть продолжительное время, т.е. далеко за пределами 150 и 300 секунд, значит все таки этот модуль убивает авторизацию.
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #9 : 23 Апреля 2018, 09:52:03 » |
|
Тогда запусти его без ключа -d, но с ключом -v, прерви через несколько минут и прикрепи в форум вывод на экран как файл
|
|
|
Записан
|
|
|
|
Stronglan
|
|
« Ответ #10 : 23 Апреля 2018, 12:57:00 » |
|
Описываю что делал: 1. В настройка веб интерфейса биллинга Ядро-Авторизация выставил параметры: Нет- Запускать модуль при запуске ядра NoDeny. 5- Период проверки. Рекомендуется 5-10 секунд. хх (тут меняю разные значения) - Через какое время в секундах учетная запись переводится в состояние «не авторизована». Зависит от настроек системы авторизации. Рекомендуется брать чуть больше двух периодов ре-авторизаций (например, период аккаунтинга). Для стандартной настройки по умолчанию 150 секунд 2. Вызываю искусственную авторизацию командами: UPDATE `ip_pool` SET `uid` = '1857', `release` = (UNIX_TIMESTAMP () + 150) WHERE `ip` = INET_ATON('192.168.175.254');
CALL set_auth ('192.168.175.254','mod=dhcp;user=c025e946f06b;'); 3. Запускаю модуль /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=auth -v 4. При значении: 150 секунд - по истечении времени ключ авторизации исчезает айпи в карточке абонента остается висеть, при нажатии на него пишется будет освобожден через 150, 149, 148..... секунд. В логах сохраняется инфа об авторизации 300 секунд - по истечении времени ключ авторизации исчезает вместе с выданным айпи. В логах сохраняется инфа об авторизации. 420 секунд - по истечении времени ключ авторизации исчезает вместе с выданным айпи. В логах не сохраняется инфа об авторизации Файлы с выводом на экран прилагаю по каждому заданному параметру переменной
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #11 : 23 Апреля 2018, 15:07:34 » |
|
Это самое лучшее описание проблемы за все время. В общем, проблема в том, что ip освобождается раньше времени окончания авторизации по таймауту. release +150 секунд (или release +300, точно не помню) я некоторое время назад исправил и сделал час (3600 секунд) - так повысится надежность системы и в иных случаях. Тебе нужно из bill.sql взять функцию get_ip и процедуру set_auth, затем пересоздать их (удалить старую и создать новую) - ты ж используешь какую-то из последних ревизий биллинга? В этой функции должно встречаться 3600
|
|
|
Записан
|
|
|
|
Stronglan
|
|
« Ответ #12 : 23 Апреля 2018, 17:03:15 » |
|
Сделал, все как описано выше, все работает спасибо огромное, но теперь очень долго освобождается выданный абону айпи. То есть когда зеленый ключ пропадает айпи остается висеть и пишется будет освобожден через 3300, 3299.... секунд, в процедуре set_auth пробовал менять значение UNIX_TIMESTAMP() + 3300 заменил этим UNIX_TIMESTAMP() + 210 но без изменений, правильно ли изменил? Или вообще не стоит это трогать? UPDATE ip_pool SET `release` = UNIX_TIMESTAMP() + 3600 WHERE ip = INET_ATON(usr_ip) AND type = 'dynamic' AND `release` < (UNIX_TIMESTAMP() + 210) LIMIT 1;
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #13 : 23 Апреля 2018, 21:34:50 » |
|
пусть висит час, так и задумано. Просто думай об этом как будто ip зарезервирован для данного абона на час. А для абонов оно даже лучше - чем реже смена ip, тем больше инет сервисов с привязкой к ip будет работать без переавторизации
|
|
|
Записан
|
|
|
|
Stronglan
|
|
« Ответ #14 : 23 Апреля 2018, 21:45:15 » |
|
Понял, спасибо огромное за помощь.
|
|
|
Записан
|
|
|
|
|