Roman Pogosyan Posted February 29, 2012 at 02:02 PM Author Posted February 29, 2012 at 02:02 PM я не скорблю я активно его использую .... и мне он нравится п.с. не смог корректно совместить с последней версией .. так что использую предпоследний старгайзер
cynepnaxa Posted February 29, 2012 at 04:53 PM Posted February 29, 2012 at 04:53 PM Есть два подхода к взаимодействию Stargazer и RADIUS-серверов. Один, самый простой, - это когда RADIUS-сервер черпает информацию для авторизации из БД Stargazer'а. При этом с самим Stargazer'ом он не взаимодействует. Второй вариант подходит только для FreeRADIUS. FreeRADIUS имеет систему плагинов которые можно использовать в процессе авторизации, аутентификации и аккаунтинга. Взаимодействие при этом происходит на уровне плагинов: rlm_stg со стороны FreeRADIUS и mod_radius со стороны Stargazer. В этом случае информация для FreeRADIUS поступает непосредственно из Stargazer'а, но этот метод пока очень нестабилен. Можно еще реализовать взаимодействие на уровне скриптов с использованием консольного конфигуратора (sgconf/sgconf_xml) или XML RPC - третий вариант. Документации по второму и третьему варианту толком нет (та что есть - относится к FreeRADIUS 1.x, но он больше не поддерживается). Какой из вариантов требуется? Будем обсуждать более подробно. Может вместе и rlm_stg допилим до вменяемого состояния... Вроде проясняется. Первый вариант - это про него nightfly писал http://wiki.ubilling.net.ua/doku.php?id=gnuradius. Там смотрю можно даже условия задавать, при которых не авторизовывать абонентов. В общем наверно даже такой вариант подойдёт. Мне собственно и надо только чтобы радиус да/нет говорил в зависимости от определенных параметров абонента старгейзера и всё. Второй вариант - собственно то, что в этой теме обсуждается. Что-то имхо сложно в сравнении с первым вариантом. Помимо радиуса и стг ещё два плагина компилить и настраивать. А чем он лучше первого? Третий вариант - не понял. А был ведь вроде как ещё один вариант - некий плагин для старгейзера, который сам функции радиуса выполнял. Оно живо?
Roman Pogosyan Posted February 29, 2012 at 05:44 PM Author Posted February 29, 2012 at 05:44 PM нет оно не живо
cynepnaxa Posted March 3, 2012 at 08:12 AM Posted March 3, 2012 at 08:12 AM Если у меня фрирадиус уже нормально работает и старгейзер тоже, то насколько я понял, из этой инструкции http://wiki.ubilling.net.ua/doku.php?id=gnuradius мне надо поменять под фрирадиус только блок 2. Настройка # vim /usr/local/etc/raddb/sqlserver вставляем настройки нашей базы interface mysql server localhost port 3306 login root password newpassword keepopen yes idle_timeout 14400 doauth yes auth_db stg auth_query SELECT encrypt(`password`) FROM users WHERE login='%u' check_attr_query SELECT attr,value FROM radattr WHERE login='%u' reply_attr_query SELECT attr,value FROM radattr WHERE login='%u' doacct no Залез в конфиги фрирадиуса и с ходу не понял, как фрирадиус для этого настроить. Может быть с этим уже кто-то разбирался?
nightfly Posted March 3, 2012 at 09:18 AM Posted March 3, 2012 at 09:18 AM То что мануал о gnuradius, вас не смущает?
cynepnaxa Posted March 3, 2012 at 04:05 PM Posted March 3, 2012 at 04:05 PM То что мануал о gnuradius, вас не смущает? Я знаю что про другой радиус. Я просто вижу, что всё остальное в мануле - как запустить, как авторизацию настроить и пр. У меня это работает во фрирадиусе. Мне надо только sql-запросы прописать, то бишь настроить альтернативу этому блоку во фрирадиусе. Вы ведь это имели ввиду под Фрирадиус аналогично привинчивается мускульным бекендом. ?Кстати я вот это не понял: Аттрибуты можно пресовать view-ами либо скажем хранить в custom profile fields. Особо этим вопросом пока не заморачивался. Может это и есть ключ к настройки мускула для фрирадиуса? Поясните плз.
nightfly Posted March 3, 2012 at 04:12 PM Posted March 3, 2012 at 04:12 PM Может это и есть ключ к настройки мускула для фрирадиуса? Поясните плз. про views в mysql или про то что пользователям можно назначать рандомные характеристики при помощи модуля "типы доп. полей профиля"?
cynepnaxa Posted March 4, 2012 at 01:19 AM Posted March 4, 2012 at 01:19 AM Может это и есть ключ к настройки мускула для фрирадиуса? Поясните плз. про views в mysql или про то что пользователям можно назначать рандомные характеристики при помощи модуля "типы доп. полей профиля"? Есть ли уже готовые проверенные настройки для фрирадиуса, чтобы абонентов в базах убиллинга искать?
madf Posted March 4, 2012 at 09:46 AM Posted March 4, 2012 at 09:46 AM У FreeRADIUS хорошая документация есть. Информацию по работе с SQL можно найти тут: http://wiki.freeradius.org/SQL-HOWTO и тут: http://wiki.freeradius.org/Rlm_sql
cynepnaxa Posted March 4, 2012 at 01:24 PM Posted March 4, 2012 at 01:24 PM У FreeRADIUS хорошая документация есть. Информацию по работе с SQL можно найти тут: http://wiki.freeradius.org/SQL-HOWTO и тут: http://wiki.freeradius.org/Rlm_sql Спасибо за ссылки! По поводу качества документации имхо как минимум не хватает структуризации. Я знаю фрирадиус не очень хорошо и сам бы на эти ссылки с главной страницы вики не вышел.
dummy Posted March 4, 2012 at 03:56 PM Posted March 4, 2012 at 03:56 PM Есть два подхода к взаимодействию Stargazer и RADIUS-серверов. Один, самый простой, - это когда RADIUS-сервер черпает информацию для авторизации из БД Stargazer'а. При этом с самим Stargazer'ом он не взаимодействует. зачем тогда вообще нужен stargazer ? Второй вариант подходит только для FreeRADIUS. FreeRADIUS имеет систему плагинов которые можно использовать в процессе авторизации, аутентификации и аккаунтинга. Взаимодействие при этом происходит на уровне плагинов: rlm_stg со стороны FreeRADIUS и mod_radius со стороны Stargazer. В этом случае информация для FreeRADIUS поступает непосредственно из Stargazer'а, но этот метод пока очень нестабилен. мне кажется, єто как раз то что нужно Можно еще реализовать взаимодействие на уровне скриптов с использованием консольного конфигуратора (sgconf/sgconf_xml) или XML RPC - третий вариант. Документации по второму и третьему варианту толком нет (та что есть - относится к FreeRADIUS 1.x, но он больше не поддерживается). Какой из вариантов требуется? Будем обсуждать более подробно. Может вместе и rlm_stg допилим до вменяемого состояния... опять танци с бубном (
nightfly Posted March 4, 2012 at 03:59 PM Posted March 4, 2012 at 03:59 PM зачем тогда вообще нужен stargazer ? Внезапно - аккаунтинг, авторизация, аутентификация, управление удаленными НАС-ами при помощи rscriptd... опять танци с бубном Подняли одну сеточку на гнурадиусе - работают уже больше годика успешно. Танцевания не замечено. Планирование архитектуры доступа одна из типичных задач администрирования. И да - админить вместо администратора старгейзер не будет. Глупо этого ожидать.
dummy Posted March 4, 2012 at 04:07 PM Posted March 4, 2012 at 04:07 PM я думаю, что предложение уважаемого madf-а (Может вместе и rlm_stg допилим до вменяемого состояния...) самое лучшее
nightfly Posted March 4, 2012 at 04:10 PM Posted March 4, 2012 at 04:10 PM Предложение ничего так конечно, но все равно вариант с встроенным радиус сервером (mod_radius в исполнении алферова или макса?) был просто эпичным.
madf Posted March 4, 2012 at 05:38 PM Posted March 4, 2012 at 05:38 PM С точки зрения Unix-way самый эпичный вариант - третий.
cynepnaxa Posted March 5, 2012 at 04:16 PM Posted March 5, 2012 at 04:16 PM зачем тогда вообще нужен stargazer ? Внезапно - аккаунтинг, авторизация, аутентификация, управление удаленными НАС-ами при помощи rscriptd... Тоже возникала такая крамольная мысль. Радиус позиционируется как ААА-сервер, т.е. "аккаунтинг, авторизация, аутентификация" вроде должны быть. А если мне сетевые заморочки не нужны? То бишь получается простейший биллинг можно и на радиусе собрать? Интересно, есть ли готовые вебовские личные кабинеты пользователей под дефолтные таблицы фрирадиуса?
Roman Pogosyan Posted March 5, 2012 at 05:06 PM Author Posted March 5, 2012 at 05:06 PM dialup-admin freeradius
cynepnaxa Posted March 5, 2012 at 05:16 PM Posted March 5, 2012 at 05:16 PM dialup-admin freeradius Это же вроде админский интерфейс. Пользовательский - это где баланс можно посмотреть, тариф. Кстати да, баланс, тариф - это уже вроде как совсем не про радиус. Или я ошибаюсь?
madf Posted March 5, 2012 at 06:25 PM Posted March 5, 2012 at 06:25 PM dialup-admin freeradius Это же вроде админский интерфейс. Пользовательский - это где баланс можно посмотреть, тариф. Кстати да, баланс, тариф - это уже вроде как совсем не про радиус. Или я ошибаюсь? Баланс можно хранить в БД и снимать по крону. Тарифы - зависит от того как предоставлять услуги. Если нужно считать, скажем, трафик - то по interim-update. А если не нужно - достаточно крона. Сомневаюсь что есть готовые web-интерфейсы абонентов. Но реализовать такое очень легко.
cynepnaxa Posted March 7, 2012 at 04:35 PM Posted March 7, 2012 at 04:35 PM Всем огромное спасибо за советы и руководство! Почитал маны и конфиги по фрирадиусу, вроде разобрался немного. В общем, для моих целей надо было сделать как в документе http://wiki.freeradius.org/SQL-HOWTO, любезно предоставленном madf. И согласно совету nightfly сослаться на базу убиллинга во фрирадиусе. Для этого: 1) в /etc/freeradius/sql.conf прописать явки/пароли убиллинга: login = "root" password = "1" authcheck_table = "users" radius_db = "stg" 2) в /etc/freeeradius/sql/mysql/dialup.conf поменять sql: authorize_check_query = "SELECT 1, login, 'Cleartext-Password', Password, ':=' FROM users WHERE login = '%{SQL-User-Name}'" и закоментарить # authorize_reply_query = "SELECT id, username, attribute, value, op # FROM ${authreply_table} # WHERE username = '%{SQL-User-Name}' # ORDER BY id" и # group_membership_query = "SELECT groupname # FROM ${usergroup_table} # WHERE username = '%{SQL-User-Name}' # ORDER BY priority" Собственно мне пока надо только чтобы пользователь/пароль в базе убиллинга проверялся через радиус. Может быть потом ещё проверка баланса понадобится. А вообще почитав доку понял, что во фрирадиусе такое большое количество наворотов, что берут сомнения, а может быть мне из этого что-то ещё надо...
nightfly Posted March 7, 2012 at 05:48 PM Posted March 7, 2012 at 05:48 PM Может быть потом ещё проверка баланса понадобится. подозреваю что будет она в этом случае выглядеть как authorize_check_query = "SELECT 1, login, 'Cleartext-Password', Password, ':=' FROM users WHERE login = '%{SQL-User-Name}' AND `Cash`>=`Credit`"
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now