Биллинговая система Nodeny
25 Ноября 2024, 20:13:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2 3 ... 6
  Печать  
Автор Тема: CoA проверка работы  (Прочитано 29944 раз)
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« : 23 Февраля 2018, 13:39:10 »

Здравствуйте установил запустил, есть вопросы по модулю.

1) Я так понимаю в радиусе надо активировать coa ? что бы он слушал порт который в конфиге ?

2) как мне увидеть работу модуля, что он делает и какие ошибки сыпятся. запускаю perl noserver.pl -vv -g=coa.cfg.pm

и тишина не видно что бы он что-то отправлял. или пытался.

Помогите пожалуйста.

 
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #1 : 23 Февраля 2018, 14:04:54 »

конфиг правильный?
Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #2 : 23 Февраля 2018, 14:12:47 »

Ну я оставил конфиг по дефолту хоть посмотреть шлет не шлет.

Изменил только тут

$radclient = '/usr/local/bin/radclient -x';
$host = '127.0.0.1:3799';
$secret = 'hardpass5'; - установил хардпасс ( включил COA в фрирадиусе 2 )

/usr/local/bin/radclient - тут путь рабочий.

Я просто даже не вижу что бы он пытался выполнить команды к радиусу. логов не чего нет, тишина как в танке.



Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #3 : 23 Февраля 2018, 15:03:23 »

Все разобрался всем спасибо. Зарботал
« Последнее редактирование: 23 Февраля 2018, 15:33:03 от warzoni » Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #4 : 24 Февраля 2018, 18:21:10 »

ну и нам расскажи, что было
Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #5 : 25 Февраля 2018, 14:13:37 »

Там в скрипте perl debug не пахал - пока на форуме посмотрел запуск с отладкой скрипта, потом пакет дебиана установил, потом все запустилось.

Есть одна неприятность COA - и не знаю как её решить, если клиент подключается - параметры ставят шейпера все ок, но если он отключится и сразу подключится то шейпер отключается и клиент качает сколько угодно, COA  не проверяет стоит шейпер не стоит, отослал запрос и ждет покуда абонент не отсоединится, и ключик не погаснет.

« Последнее редактирование: 25 Февраля 2018, 15:07:56 от warzoni » Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #6 : 25 Февраля 2018, 15:47:04 »

Заметил еще не приятную вещь.

COA Отправляет дисконект - когда абонент авторизован и баланс в норме, при этом отправка дисконекта закономерна по времени, Сначала шейпер отправляет - потом через время дисконект, и так постоянно.


При посылке диссконекта лог пишит такую штуку.

25.02.2018 17:13:56 Освобожден ip=192.168.3.6 uid=1 start=1519567883 last=1519567883

- Я не пойму статистический пул зачем его освобождать.
« Последнее редактирование: 25 Февраля 2018, 16:24:43 от warzoni » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #7 : 25 Февраля 2018, 17:47:53 »

Ты уверен, что биллинг считает клиента авторизованным? Напомню концепцию NoDeny по данному вопросу. Клиент считается авторизованным некоторое время после его активности. Обычно этой активностью является подключение и аккаунтинг. Если нет определенного времени аккаунтина - клиент считается неавторизованным. Это легко увидеть в админке - пропадает ключик рядом с учетной записью.

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

В случае пппое у нас есть классная штука - аккаунтинг - пппое сервер время от времени присылает инфо по трафику, а биллинг как раз считает это признаком активности клиента (не трафик, а сам пакет аккаунтинга). В случае dhcp  не все сервера поддерживают аккаунтинг. Поэтому есть модуль эмуляции аккаунтинга - модуль dhcp в папке kernel.
Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #8 : 25 Февраля 2018, 17:54:55 »

Ну хорошо, допустим.

nas - видит биллинг так как авторизация проходит по радиусу и получаем данные ip nas и прочею лабудень.

Что дальше он делает ? радиус передал параметры на nas , и как он потом проверяет ? - я запускал в радиусе дебаг и вот когда COA шлет дисконет в радиусе тишина, он даже не пытается что то делать.

как мне проверить активность в  билинг. Надо найти затык.

Цитировать
В случае пппое у нас есть классная штука - аккаунтинг - пппое сервер время от времени присылает инфо по трафику, а биллинг как раз считает это признаком активности клиента

Возможно в этом проблема, щас проверю.

Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #9 : 25 Февраля 2018, 18:16:55 »

Вроде разобрался, переменная acct-interim-interval - вроде  пошло.

Но выше вопрос остается открытым, я беру  отключаюсь, потом подключаюсь, и шейпер не выставляется заново. COA не видит изменений... Так как я понимаю, он думает что я авторизован и не надо не чего делать.
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #10 : 25 Февраля 2018, 21:00:30 »

нужно использовать accounting stop
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #11 : 25 Февраля 2018, 21:08:01 »

 coa не знает о том в каком состоянии клиент был до данного момента. Да и не нужно ему. Любая вещь, которая хранит состояние, требует синхронизации иначе при малейшем рассинхроне все посыпется. Если нужно что-то выключить и не знаешь что именно: выключай все и игнорь ошибки. Если тебе надо что-то включить и ты не знаешь включено оно или нет - выключи с игнором ошибки и включи. Иначе, повторюсь, нужна синхронизация - делать запросы на оборудование и смотреть его состояние
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #12 : 25 Февраля 2018, 21:56:55 »

Если использовать процедуру accounting stop, то при отключении абонента сессия будет сразу завершаться на биллинге, не надо ждать таймаута
Как вариант еще записывать в параметры авторизации ид сессии от браса, если меняется ид, модуль СоА будет заново высылать радиус-атрибуты
Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #13 : 25 Февраля 2018, 23:46:24 »

Да я понял , что COA на этом этапе закончил свою работу, и в итоге контроль мы не получим. а без него все печально выгладит особенно когда речь идет не об 1к пациэнтов.

Давайте тогда вернемся к баранам. И помогите соорудить проверку. Поверте очень сложно разберется думаю, что это должно было работать )))

Цитировать
параметры авторизации ид сессии от браса, если меняется ид, модуль СоА будет заново высылать радиус-атрибуты

Отличная идея и как мы сможем сказать биллингу что бы он запускал COA при смене ID (я так понимаю речь о Acct-Session-Id ?) - это было бы великолепно ! повторно отправлять скорость клиента если изменилась сессия его в ответе от NAS/,  при этом биллинг не разрывал связь !
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #14 : 26 Февраля 2018, 00:19:01 »

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

Что касается "изменилась сессия" - здесь происходит переподключение, следовательно именно в этот момент нам вообще СОА не нужен, можно атрибуты скорости отдать модулем "радиус-атрибуты" прямо в ответе radreply
Записан
Страниц: [1] 2 3 ... 6
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!