Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: Stronglan от 20 Апреля 2018, 18:46:25



Название: Ядро, таймаут авторизации
Отправлено: Stronglan от 20 Апреля 2018, 18:46:25
Подскажите где в старых версиях нодени настраивается этот параметр?

Через какое время в секундах учетная запись переводится в состояние «не авторизована». Зависит от настроек системы авторизации. Рекомендуется брать чуть больше двух периодов ре-авторизаций (например, период аккаунтинга). Для стандартной настройки по умолчанию 150 секунд

Нужно увеличить значение по умолчанию


Название: Re: Ядро, таймаут авторизации
Отправлено: Stronglan от 20 Апреля 2018, 20:24:22
Частично отвечу на свой вопрос:

/usr/local/nodeny/kernel/auth.cfg

timeout => 150,

увеличил значение до 300, но вылезла проблема что по завершении сеанса сессия не отображается в логах


Название: Re: Ядро, таймаут авторизации
Отправлено: Efendy от 21 Апреля 2018, 06:08:23
т.е. при 150 она есть в логах, а при 300 нет?)


Название: Re: Ядро, таймаут авторизации
Отправлено: Stronglan от 21 Апреля 2018, 06:50:44
Да,  так и есть, при чем по истечении 300 секунд в карточке абонента сразу освобождается его айпи. В случае со 150 секундами сначала пропадал зеленый ключ авторизации и писалось "IP  будет освобожден через хх секунд".


Название: Re: Ядро, таймаут авторизации
Отправлено: Stronglan от 21 Апреля 2018, 11:12:21
Также если поставить значение timeout больше 300 секунд, например 360 то авторизация все равно слетит после 300 секунд


Название: Re: Ядро, таймаут авторизации
Отправлено: Efendy от 21 Апреля 2018, 22:21:09
радиус используется? процедура radstop в конфиге радиуса раскомментирована?


Название: Re: Ядро, таймаут авторизации
Отправлено: Stronglan от 22 Апреля 2018, 09:02:26
Нет, радиус не используется. В версии биллинга где параметр timeout задается в веб интерфейсе такая же ситуация...


Название: Re: Ядро, таймаут авторизации
Отправлено: Efendy от 23 Апреля 2018, 06:39:05
Попробуй остановить минут на 10 этот модуль чтобы проверить он или не он удаляет авторизации


Название: Re: Ядро, таймаут авторизации
Отправлено: Stronglan от 23 Апреля 2018, 07:46:25
Остановил модуль, айпи и и зеленый ключ авторизации продолжают висеть продолжительное время, т.е. далеко за пределами 150 и 300 секунд, значит все таки этот модуль убивает авторизацию.


Название: Re: Ядро, таймаут авторизации
Отправлено: Efendy от 23 Апреля 2018, 09:52:03
Тогда запусти его без ключа -d, но с ключом -v, прерви через несколько минут и прикрепи в форум вывод на экран как файл


Название: Re: Ядро, таймаут авторизации
Отправлено: Stronglan от 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 секунд - по истечении времени ключ авторизации исчезает вместе с выданным айпи. В логах не сохраняется инфа об авторизации

Файлы с выводом на экран прилагаю по каждому заданному параметру переменной


Название: Re: Ядро, таймаут авторизации
Отправлено: Efendy от 23 Апреля 2018, 15:07:34
Это самое лучшее описание проблемы за все время. В общем, проблема в том, что ip освобождается раньше времени окончания авторизации по таймауту. release +150 секунд (или release +300, точно не помню) я некоторое время назад исправил и сделал час (3600 секунд) - так повысится надежность системы и в иных случаях. Тебе нужно из bill.sql взять функцию get_ip и процедуру set_auth, затем пересоздать их (удалить старую и создать новую) - ты ж используешь какую-то из последних ревизий биллинга? В этой функции должно встречаться 3600


Название: Re: Ядро, таймаут авторизации
Отправлено: Stronglan от 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;


Название: Re: Ядро, таймаут авторизации
Отправлено: Efendy от 23 Апреля 2018, 21:34:50
пусть висит час, так и задумано. Просто думай об этом как будто ip зарезервирован для данного абона на час. А для абонов оно даже лучше - чем реже смена ip, тем больше инет сервисов с привязкой к ip будет работать без переавторизации


Название: Re: Ядро, таймаут авторизации
Отправлено: Stronglan от 23 Апреля 2018, 21:45:15
Понял, спасибо огромное за помощь.


Название: Re: Ядро, таймаут авторизации
Отправлено: Stronglan от 25 Апреля 2018, 08:49:54
У меня снова ступор. Все описанное выше было опробовано на тестовом сервере, на "боевом" же все равно авторизация слетает спустя 150 секунд, что видимо обнуляет ее. В данный момент отключил модуль auth отключен Radius и авторизация все равно слетает по истечении 150 сек.

Процедура и функция пересозданы. Если дамп базы с боевого сервера разворачиваю на тестовой машине то все ок. Потому сорри за глупый вопрос, но что еще теоретически может сбрасывать авторизацию?


Название: Re: Ядро, таймаут авторизации
Отправлено: AmiGoSS от 14 Июля 2019, 19:06:07
Вопрос следующий. Абон прошел авторизацию получал ип, мак адрес зафиксировался в билинге. Прошло какое-то время-час или 2 дня -не важно. В учетке "мак неизвестен" и требуется заново авторизация. В лога авторизации в кабинете абонента  запись о последней отсутствует. Как можно найти где бок.Вылазит в разное время и у разных абонов.


Название: Re: Ядро, таймаут авторизации
Отправлено: Maks от 02 Ноября 2021, 11:37:51
Я подниму тему

Тоже столкнулся что IP освобождается сильно быстро.
У нас авторизация через радиус.

Проверил сейчас в биллинге set_auth вообще нет.  Вопрос нужно ли ее создавать ?


Название: Re: Ядро, таймаут авторизации
Отправлено: Efendy от 02 Ноября 2021, 12:34:23
Нужно