Golthana 3 Опубліковано: 2016-09-13 08:05:13 Автор Share Опубліковано: 2016-09-13 08:05:13 Подскажите кто знает, я так понял, что модули хранятся в /usr/lib/stg Потом мне надо в старгейзер.конф в секции модуль прописать модуль radius. И после этого будут отдаваться команды из биллинга на radius клиенты? Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-13 09:36:25 Автор Share Опубліковано: 2016-09-13 09:36:25 Чтобы было понятно, Радиус нужен для передачи информации для НАС не только МАС IP и скорость, а еще и BURST. При чем не хочется каждый раз после обновления редактироваться конфигурационные файлы управления НАС. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2016-09-14 05:30:37 Share Опубліковано: 2016-09-14 05:30:37 Подскажите кто знает, я так понял, что модули хранятся в /usr/lib/stg Потом мне надо в старгейзер.конф в секции модуль прописать модуль radius. И после этого будут отдаваться команды из биллинга на radius клиенты? Если коротко — нет. Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-14 05:56:07 Автор Share Опубліковано: 2016-09-14 05:56:07 Если коротко — нет. То есть биллинг не дает команду радиус серверу команду "ресет"? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2016-09-14 07:15:28 Share Опубліковано: 2016-09-14 07:15:28 1. stg не отдает команд. Концепция RADIUS состоит в предоставлении AAA, а не в управлении клиентским оборудованием. 2. Модуль mod_radius в stg не работает сам по себе - он работает в связке с rlm_stg для freeradius. Начиная с версии 2.408 он сломан (спасибо автору FreeRADIUS Алану ДеКоку). 3. Есть его рабочая замена в ветке stg-2.409-radius. Но она существенно отличается от старого mod_radius и rlm_stg. Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-14 07:19:46 Автор Share Опубліковано: 2016-09-14 07:19:46 stg не отдает команд. Концепция RADIUS состоит в предоставлении AAA, а не в управлении клиентским оборудованием. Клиент авторизовался, потом ему сменили настройки (тариф например) или МАС, а открытая сессия не завершается. Разве не должно дропать сессию и пересоздать новую с актуальными параметрами? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2016-09-14 09:26:12 Share Опубліковано: 2016-09-14 09:26:12 stg не отдает команд. Концепция RADIUS состоит в предоставлении AAA, а не в управлении клиентским оборудованием. Клиент авторизовался, потом ему сменили настройки (тариф например) или МАС, а открытая сессия не завершается. Разве не должно дропать сессию и пересоздать новую с актуальными параметрами? Радиус только аутентифицирует, авторизует и проводит аккаунтинг. Он не дропает сессии. Он вообще пассивное звено - только отвечает на запросы радиус-клиентов. Если радиус-клиент шлет регулярные interim-update запросы на радиус-сервер - можно попытаться дропнуть сессию ответом на interim-update. Но нет никакой гарантии что радиус-клиент в этом случае будет делать реконнет. interim-update служит для передачи статистической информации и вполне может игнорироваться. Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-14 09:29:52 Автор Share Опубліковано: 2016-09-14 09:29:52 Получается: абонент прошел авторизацию, потом у него кончились деньги, но он будет работать. Правильно? Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2016-09-14 09:52:20 Share Опубліковано: 2016-09-14 09:52:20 Получается: абонент прошел авторизацию, потом у него кончились деньги, но он будет работать. Правильно?Добро пожаловать в мир радиуса. Посмотрите "небыло разрыва" на ютубе, можт поймете, откуда эта тема, с таймаутами сессий. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2016-09-14 10:00:42 Share Опубліковано: 2016-09-14 10:00:42 Получается: абонент прошел авторизацию, потом у него кончились деньги, но он будет работать. Правильно? Именно. Если, конечно, хак с interim-update не прокатил. Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-14 10:02:24 Автор Share Опубліковано: 2016-09-14 10:02:24 Добро пожаловать в мир радиуса. Посмотрите "небыло разрыва" на ютубе, можт поймете, откуда эта тема, с таймаутами сессий. Таким образом не хотелось бы делать. Потому и решил узнать есть ли какой-то механизм реализации без тамаута сессий. Видимо, самый оптимальный вариант использоваться встроенный механизм управления Микротами. Просто есть некие неудобства, связанные со статическими записями, а также ограничениями в количестве передаваемых "атрибутов" Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-14 10:26:33 Автор Share Опубліковано: 2016-09-14 10:26:33 можно попытаться дропнуть сессию ответом на interim-update. А можно коротко, как можно попытаться это сделать? Я так понимаю, что не просто установкой интервала на Микроте в профайле Хотспот Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2016-09-14 12:06:27 Share Опубліковано: 2016-09-14 12:06:27 можно попытаться дропнуть сессию ответом на interim-update. А можно коротко, как можно попытаться это сделать? Я так понимаю, что не просто установкой интервала на Микроте в профайле Хотспот Вдумчивым программированием. Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-16 14:26:07 Автор Share Опубліковано: 2016-09-16 14:26:07 (відредаговано) С этим пока понятно, а как быть с пустой строкой сервис? У кого-то было что-то похожее? При чем, на некоторых уже существующий сетях меняю на "use radius" yes и сервис написано название услуги, а на некоторых - пусто. В чем дело может быть? И не тех сетях, где строка пустая, в таблицу БД заносить данные о атрибутах, но на самом НАСе выдает ошибку, такие чувства, что макрос не считывает Відредаговано 2016-09-16 14:45:40 Golthana Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-17 11:18:30 Автор Share Опубліковано: 2016-09-17 11:18:30 Проблема с сервисом решена. Обязательное требования для работы Freeradius чтобы ID сети соответствовало ID названия услуги, иначе макросы не работают. Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-17 19:55:54 Автор Share Опубліковано: 2016-09-17 19:55:54 (відредаговано) Теперь просто маросы не работают. В частности {nethosts[mac]}. А если в строку значение вставляю мас пользователя, то авторизация проходит Извиняюсь, макрос работает, проблема в том, что на Микроте МАС в верхнем регистре, а в Ubilling - в нижнем, потом авторизация не проходит. Это можно как-то исправить? Как можно во freeradius перевести передаваемый Cleartext-Password в верхний регистр? Відредаговано 2016-09-17 20:44:03 Golthana Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-17 20:54:57 Автор Share Опубліковано: 2016-09-17 20:54:57 Не эта ли строке преобразовывает МАС в нужный регистр? mac-addr = .......? Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-18 06:47:37 Автор Share Опубліковано: 2016-09-18 06:47:37 Скорее всего, вопрос разработчикам. Где описаны макросы? Нужно, например, в запрос к БД касательно МАСа добавить параметр ucase, чтобы МАС выдавался в верхнем регистре. Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-18 13:00:53 Автор Share Опубліковано: 2016-09-18 13:00:53 (відредаговано) С макросами тоже разобрался. А при смене тех параметров, при которых вызывается ресет. Все они вызывают один модуль reset? Коротко говоря нужно вместе с ресетом выполнить еще один скрипт, который будет сбрасывать сессию на NAS для применения актуальных параметров. Відредаговано 2016-09-18 21:08:53 Golthana Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-19 08:50:22 Автор Share Опубліковано: 2016-09-19 08:50:22 (відредаговано) Вообщем удалось сделать так: на удаленный 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. Все скрипты и изменения я готов предоставить для проверки со стороны разработчиков Відредаговано 2016-09-19 09:16:54 Golthana Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-19 10:14:57 Автор Share Опубліковано: 2016-09-19 10:14:57 .../billing/api/api.stargazer там есть функция resetuser. Я так понимаю, это то место, где мне надо дописать. Вопрос остался только с обновлением, а точнее включением всего этого в релиз Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-20 18:32:12 Автор Share Опубліковано: 2016-09-20 18:32:12 Все готово и работает. Если, все же, есть вероятность внесение в оф. релиз, то дайте знать. Я напишу какие изменения я внес. Всем спасибо за помощь. Также, если тема будет кому-то актуальна, тоже дайте знать. А то писать много, если никому не надо... ну сами понимаете. Ссылка на сообщение Поделиться на других сайтах
Golthana 3 Опубліковано: 2016-09-22 17:31:30 Автор Share Опубліковано: 2016-09-22 17:31:30 Вопрос с обновлениями снят, так как все изменения перенес в скрипты OnConnect OnDisconnect. Если я правильно понял, то они не попадают под автообновления. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас