warzoni
NoDeny
Пользователь
Карма: 1
Offline
Сообщений: 83
|
|
« : 23 Февраля 2018, 13:39:10 » |
|
Здравствуйте установил запустил, есть вопросы по модулю.
1) Я так понимаю в радиусе надо активировать coa ? что бы он слушал порт который в конфиге ?
2) как мне увидеть работу модуля, что он делает и какие ошибки сыпятся. запускаю perl noserver.pl -vv -g=coa.cfg.pm
и тишина не видно что бы он что-то отправлял. или пытался.
Помогите пожалуйста.
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #1 : 23 Февраля 2018, 14:04:54 » |
|
конфиг правильный?
|
|
|
Записан
|
|
|
|
warzoni
NoDeny
Пользователь
Карма: 1
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
Сообщений: 83
|
|
« Ответ #3 : 23 Февраля 2018, 15:03:23 » |
|
Все разобрался всем спасибо. Зарботал
|
|
« Последнее редактирование: 23 Февраля 2018, 15:33:03 от warzoni »
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #4 : 24 Февраля 2018, 18:21:10 » |
|
ну и нам расскажи, что было
|
|
|
Записан
|
|
|
|
warzoni
NoDeny
Пользователь
Карма: 1
Offline
Сообщений: 83
|
|
« Ответ #5 : 25 Февраля 2018, 14:13:37 » |
|
Там в скрипте perl debug не пахал - пока на форуме посмотрел запуск с отладкой скрипта, потом пакет дебиана установил, потом все запустилось.
Есть одна неприятность COA - и не знаю как её решить, если клиент подключается - параметры ставят шейпера все ок, но если он отключится и сразу подключится то шейпер отключается и клиент качает сколько угодно, COA не проверяет стоит шейпер не стоит, отослал запрос и ждет покуда абонент не отсоединится, и ключик не погаснет.
|
|
« Последнее редактирование: 25 Февраля 2018, 15:07:56 от warzoni »
|
Записан
|
|
|
|
warzoni
NoDeny
Пользователь
Карма: 1
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
|
|
« Ответ #7 : 25 Февраля 2018, 17:47:53 » |
|
Ты уверен, что биллинг считает клиента авторизованным? Напомню концепцию NoDeny по данному вопросу. Клиент считается авторизованным некоторое время после его активности. Обычно этой активностью является подключение и аккаунтинг. Если нет определенного времени аккаунтина - клиент считается неавторизованным. Это легко увидеть в админке - пропадает ключик рядом с учетной записью.
Почему не считать клиента авторизованным с момента подключения до момента когда он отключится? Очень просто. Нет стопроцентной гарантии получения сигнала отключения. Например, в случае дхцп клиент вырубит комп и мы будем считать, что он авторизован вечно, если он не пошлет пакет освобождения адреса. Или в случае пппое если будет разрыв связи пппое-сервера с биллингом, то биллинг не получит сигнал отключения и будет считать, что отключенный абонент все еще авторизован.
В случае пппое у нас есть классная штука - аккаунтинг - пппое сервер время от времени присылает инфо по трафику, а биллинг как раз считает это признаком активности клиента (не трафик, а сам пакет аккаунтинга). В случае dhcp не все сервера поддерживают аккаунтинг. Поэтому есть модуль эмуляции аккаунтинга - модуль dhcp в папке kernel.
|
|
|
Записан
|
|
|
|
warzoni
NoDeny
Пользователь
Карма: 1
Offline
Сообщений: 83
|
|
« Ответ #8 : 25 Февраля 2018, 17:54:55 » |
|
Ну хорошо, допустим. nas - видит биллинг так как авторизация проходит по радиусу и получаем данные ip nas и прочею лабудень. Что дальше он делает ? радиус передал параметры на nas , и как он потом проверяет ? - я запускал в радиусе дебаг и вот когда COA шлет дисконет в радиусе тишина, он даже не пытается что то делать. как мне проверить активность в билинг. Надо найти затык. В случае пппое у нас есть классная штука - аккаунтинг - пппое сервер время от времени присылает инфо по трафику, а биллинг как раз считает это признаком активности клиента Возможно в этом проблема, щас проверю.
|
|
|
Записан
|
|
|
|
warzoni
NoDeny
Пользователь
Карма: 1
Offline
Сообщений: 83
|
|
« Ответ #9 : 25 Февраля 2018, 18:16:55 » |
|
Вроде разобрался, переменная acct-interim-interval - вроде пошло.
Но выше вопрос остается открытым, я беру отключаюсь, потом подключаюсь, и шейпер не выставляется заново. COA не видит изменений... Так как я понимаю, он думает что я авторизован и не надо не чего делать.
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #10 : 25 Февраля 2018, 21:00:30 » |
|
нужно использовать accounting stop
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #11 : 25 Февраля 2018, 21:08:01 » |
|
coa не знает о том в каком состоянии клиент был до данного момента. Да и не нужно ему. Любая вещь, которая хранит состояние, требует синхронизации иначе при малейшем рассинхроне все посыпется. Если нужно что-то выключить и не знаешь что именно: выключай все и игнорь ошибки. Если тебе надо что-то включить и ты не знаешь включено оно или нет - выключи с игнором ошибки и включи. Иначе, повторюсь, нужна синхронизация - делать запросы на оборудование и смотреть его состояние
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #12 : 25 Февраля 2018, 21:56:55 » |
|
Если использовать процедуру accounting stop, то при отключении абонента сессия будет сразу завершаться на биллинге, не надо ждать таймаута Как вариант еще записывать в параметры авторизации ид сессии от браса, если меняется ид, модуль СоА будет заново высылать радиус-атрибуты
|
|
|
Записан
|
|
|
|
warzoni
NoDeny
Пользователь
Карма: 1
Offline
Сообщений: 83
|
|
« Ответ #13 : 25 Февраля 2018, 23:46:24 » |
|
Да я понял , что COA на этом этапе закончил свою работу, и в итоге контроль мы не получим. а без него все печально выгладит особенно когда речь идет не об 1к пациэнтов. Давайте тогда вернемся к баранам. И помогите соорудить проверку. Поверте очень сложно разберется думаю, что это должно было работать ))) параметры авторизации ид сессии от браса, если меняется ид, модуль СоА будет заново высылать радиус-атрибуты Отличная идея и как мы сможем сказать биллингу что бы он запускал COA при смене ID (я так понимаю речь о Acct-Session-Id ?) - это было бы великолепно ! повторно отправлять скорость клиента если изменилась сессия его в ответе от NAS/, при этом биллинг не разрывал связь !
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #14 : 26 Февраля 2018, 00:19:01 » |
|
Еще раз. Нельзя с закрытыми глазами играть в шахматы, если есть вероятность, что кто-то проходя мимо уберет одну из фигур. Позиция поменяется кординально. Этим мой биллинг и отличается от других, в которых ловят непонятные глюки "ну их мало ну и хуй с ними". Если мы хотим получить прочное решение - мы должны либо постоянно синхронизироваться, например, как это делает модуль микротика - он постоянно опрашивает микротик и вносит коррективы. Либо делать действие в режиме "мне ничего не известно, я просто удалю возможные комбинации и установлю то, что мне надо".
Что касается "изменилась сессия" - здесь происходит переподключение, следовательно именно в этот момент нам вообще СОА не нужен, можно атрибуты скорости отдать модулем "радиус-атрибуты" прямо в ответе radreply
|
|
|
Записан
|
|
|
|
|