Перейти до

Рекомендованные сообщения

Опубліковано:

Подскажите кто знает, я так понял, что модули хранятся в /usr/lib/stg

Потом мне надо в старгейзер.конф в секции модуль прописать модуль radius. И после этого будут отдаваться команды из биллинга на radius клиенты?

Опубліковано:

Чтобы было понятно, Радиус нужен для передачи информации для НАС не только МАС IP и скорость, а еще и BURST. При чем не хочется каждый раз после обновления редактироваться конфигурационные файлы управления НАС.

Опубліковано:

Подскажите кто знает, я так понял, что модули хранятся в /usr/lib/stg

Потом мне надо в старгейзер.конф в секции модуль прописать модуль radius. И после этого будут отдаваться команды из биллинга на radius клиенты?

Если коротко — нет.
Опубліковано:

1. stg не отдает команд. Концепция RADIUS состоит в предоставлении AAA, а не в управлении клиентским оборудованием.

2. Модуль mod_radius в stg не работает сам по себе - он работает в связке с rlm_stg для freeradius. Начиная с версии 2.408 он сломан (спасибо автору FreeRADIUS Алану ДеКоку).

3. Есть его рабочая замена в ветке stg-2.409-radius. Но она существенно отличается от старого mod_radius и rlm_stg.

Опубліковано:

 

 

stg не отдает команд. Концепция RADIUS состоит в предоставлении AAA, а не в управлении клиентским оборудованием.

Клиент авторизовался, потом ему сменили настройки (тариф например) или МАС, а открытая сессия не завершается. Разве не должно дропать сессию и пересоздать новую с актуальными параметрами? 

Опубліковано:

 

stg не отдает команд. Концепция RADIUS состоит в предоставлении AAA, а не в управлении клиентским оборудованием.

Клиент авторизовался, потом ему сменили настройки (тариф например) или МАС, а открытая сессия не завершается. Разве не должно дропать сессию и пересоздать новую с актуальными параметрами? 

 

Радиус только аутентифицирует, авторизует и проводит аккаунтинг. Он не дропает сессии. Он вообще пассивное звено - только отвечает на запросы радиус-клиентов.

Если радиус-клиент шлет регулярные interim-update запросы на радиус-сервер - можно попытаться дропнуть сессию ответом на interim-update. Но нет никакой гарантии что радиус-клиент в этом случае будет делать реконнет. interim-update служит для передачи статистической информации и вполне может игнорироваться.

Опубліковано:

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

Добро пожаловать в мир радиуса. Посмотрите "небыло разрыва" на ютубе, можт поймете, откуда эта тема, с таймаутами сессий.
Опубліковано:

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

Именно. Если, конечно, хак с interim-update не прокатил.

Опубліковано:

 

 

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

 

Таким образом не хотелось бы делать. Потому и решил узнать есть ли какой-то механизм реализации без тамаута сессий. Видимо, самый оптимальный вариант использоваться встроенный механизм управления Микротами. Просто есть некие неудобства, связанные со статическими записями, а также ограничениями в количестве передаваемых "атрибутов" 

Опубліковано:

 

 

можно попытаться дропнуть сессию ответом на interim-update.

 

А можно коротко, как можно попытаться это сделать? Я так понимаю, что не просто установкой интервала на Микроте в профайле Хотспот 

Опубліковано:

 

можно попытаться дропнуть сессию ответом на interim-update.

 

А можно коротко, как можно попытаться это сделать? Я так понимаю, что не просто установкой интервала на Микроте в профайле Хотспот 

 

Вдумчивым программированием.

Опубліковано: (відредаговано)

С этим пока понятно, а как быть с пустой строкой сервис? У кого-то было что-то похожее?

 

При чем, на некоторых уже существующий сетях меняю на "use radius" yes и сервис написано название услуги, а на некоторых - пусто. В чем дело может быть? И не тех сетях, где строка пустая, в таблицу БД заносить данные о атрибутах, но на самом НАСе выдает ошибку, такие чувства, что макрос не считывает

Відредаговано Golthana
Опубліковано:

Проблема с сервисом решена. Обязательное требования для работы Freeradius чтобы ID сети соответствовало ID названия услуги, иначе макросы не работают.

Опубліковано: (відредаговано)

Теперь просто маросы не работают. В частности {nethosts[mac]}. А если в строку значение вставляю мас пользователя, то авторизация проходит

 

Извиняюсь, макрос работает, проблема в том, что на Микроте МАС в верхнем регистре, а в Ubilling - в нижнем, потом авторизация не проходит. Это можно как-то исправить?

 

Как можно во freeradius перевести передаваемый Cleartext-Password в верхний регистр?

Відредаговано Golthana
Опубліковано:

Скорее всего, вопрос разработчикам. Где описаны макросы? Нужно, например, в запрос к БД касательно МАСа добавить параметр ucase, чтобы МАС выдавался в верхнем регистре.

Опубліковано: (відредаговано)

С макросами тоже разобрался. А при смене тех параметров, при которых вызывается ресет. Все они вызывают один модуль reset?

Коротко говоря нужно вместе с ресетом выполнить еще один скрипт, который будет сбрасывать сессию на NAS для применения актуальных параметров.

Відредаговано Golthana
Опубліковано: (відредаговано)

Вообщем удалось сделать так: на удаленный NAS передаются атрибуты: для авторизации {nethost[mac]}, потом Mikrotik-Address-List передаю состояние пользователя {user[state]} (далее в зависимости от названия листа, перенаправляю на нужную страницу(у кого нет денег - страница о уведомлении о состоянии счета, кто заморожен - уведомление о том, что, вероятнее всего, абонент приостановил услуги и так далее), потом передаю Mikrotik-Rate-Limit, здесь я добавил макрос {speed[burst]}, которых в одной строке передает: "скорость отдачи/скорость приема+бурст лимт(скорость приема+128)+бурст трешолд(скорость приема-128)+бурст тайм 30 сек". 

 

Все это работает нормально, теперь надо, чтобы во всех тех случаях, когда при смене параметров выполняется сброс пользователя, еще и (в случае включенного radius в alter.ini) выполнялся еще один скрипт, который в текстовый файл вносит нужные параметры. Вот пример файла

User-Name=MAC of users
NAS-IP-Address=IP of NAS
Framed-IP-Address=User's ip address
 
И далее должна выполнится команда cat /part-to-txtfile |  radclient -r 1 ip_of_nas:pod_port(default 1700) 'disconnect' 'secret for nas'
 
Сам скрипт я напишу, мне нужна помощь, в частности подсказать куда вписывать или нужно вписывать в каждый модуль, где предусмотрен reset user?
Обратил внимание на $billing->resetuser($login). Где он описан?
 
Кроме того, все те строки, которые я впишу в модули, удалятся вместе в обновлением. Уважаемые разработчики, можно ли данный механизм включить в официальный релиз, с учетом того, что скрипт, который я попытаюсь сделать будет выполнятся только если включен radius в alter.ini, то есть, кому не надо, тому мешать не будет, а кто все же будет использовать radius авторизацию на Mikrotik, тому, может, и пригодится. Заранее спасибо за ответ. 
 
P.S. Все скрипты и изменения я готов предоставить для проверки со стороны разработчиков
Відредаговано Golthana
Опубліковано:

.../billing/api/api.stargazer там есть функция resetuser. Я так понимаю, это то место, где мне надо дописать. Вопрос остался только с обновлением, а точнее включением всего этого в релиз

Опубліковано:

Все готово и работает. Если, все же, есть вероятность внесение в оф. релиз, то дайте знать. Я напишу какие изменения я внес. Всем спасибо за помощь.

Также, если тема будет кому-то актуальна, тоже дайте знать. А то писать много, если никому не надо... ну сами понимаете.

Опубліковано:

Вопрос с обновлениями снят, так как все изменения перенес в скрипты OnConnect OnDisconnect. Если я правильно понял, то они не попадают под автообновления.

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Створити нове...