freeradius+mpd+биллинг

Обсуждаем OS FreeBSD и сервисы на ней.

freeradius+mpd+биллинг

Сообщение Mechanic » 13 апр 2010, 20:01

Подскажите по радиус серверу :
Прикручиваю связку freeradius+mpd+ биллинга utm4.
Обработку данных между сервером radius и mpd обрабатываю через sql модуль (есть пример). Саму авторизацию настроил, клиент авторизируется и ему выдается ип из биллинга, но теперь хочется , чтобы согласно тарифа ему выдавались параметры mpd-limit , а также , чтобы ип выдавался из пула адресов.

Можно ли вводить в модульные скрипты (sql.conf) какие-либо переменные или все сущ. переменные жестко прописаны в структуре радиуса ?
к примеру в процессе авторизации взять параментр тарифа:
Код: Выделить всё
authorize_check_query = "SELECT users.id, users.login, 'Password', users.password, ':=', tariff FROM users WHERE users.login = '%{SQL-User-Name}' AND users.block = '0'" 
authorize_reply_query = "SELECT users.id, users.login, 'Framed-IP-Address', users.ip, ':=', tariff FROM users WHERE users.login = '%{SQL-User-Name}' AND users.block = '0'"

а затем обработать его в группе: вместо users номер траифа
Код: Выделить всё
authorize_group_check_query = "SELECT frad_groupcheck.id,frad_groupcheck.GroupName,frad_groupcheck.Attribute,frad_groupcheck.Value,frad_groupcheck.op FROM frad_groupcheck,frad_usergroup WHERE frad_groupcheck.GroupName = 'users' ORDER BY frad_groupcheck.id" 
authorize_group_reply_query = "SELECT frad_groupreply.id,frad_groupreply.GroupName,frad_groupreply.Attribute,frad_groupreply.Value,frad_groupreply.op FROM frad_groupreply,frad_usergroup WHERE frad_groupreply.GroupName = 'users' ORDER BY frad_groupreply.id"


но как туда этот параметр передать ?
или проще весь процесс авторизации и аккаунтинга написать через модуль perl ?
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: freeradius+mpd+биллинг

Сообщение root » 14 апр 2010, 19:47

если честно я не совсем понял вопроса
ты можешь править в sql.conf любой запрос, именно поэтому они там и описаны, что бы их мона было поправить
у меня например вот так:
Код: Выделить всё
        authorize_check_query = "SELECT id,name,'User-Password',password,'==' FROM users WHERE name = '%{SQL-User-Name}' ORDER BY id"
        authorize_reply_query = "SELECT id,name,'Framed-IP-Address',ip_addr,'=' FROM users WHERE name = '%{SQL-User-Name}' ORDER BY id"
        authorize_group_reply_query = "SELECT id,'pppoe',Attribute,Value,op  FROM ppp_reply"
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: freeradius+mpd+биллинг

Сообщение Mechanic » 14 апр 2010, 21:56

исправить запрос -это понятно, но как обработать дополнительно параметры запроса ?
к примеру при 1м запросе я вызываю доп параметр tariff, а как его значение передать дальше в другие запросы ?
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: freeradius+mpd+биллинг

Сообщение root » 16 апр 2010, 19:03

теперь я кажется понял вопрос
ты хочешь какое то поле из результатов одного из запросов использовать в другом запросе

UPD
полистал мальца, что то нету ничего подобного, уже не уверен реально ли это вообще, нуна видимо "курить" доку глубже
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: freeradius+mpd+биллинг

Сообщение Андрей » 21 апр 2010, 12:57

Боюсь бред написать, т.к. не до конца понял вопрос.
У самого стоит MPD5 + UTM5 + FreeRADIUS. Если чуть доходчивее распишите вопрос - может смогу чем помочь.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область


Вернуться в FreeBSD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27