Страница 1 из 1

freeradius+mpd+биллинг

СообщениеДобавлено: 13 апр 2010, 20:01
Mechanic
Подскажите по радиус серверу :
Прикручиваю связку 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 ?

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

СообщениеДобавлено: 14 апр 2010, 19:47
root
если честно я не совсем понял вопроса
ты можешь править в 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"

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

СообщениеДобавлено: 14 апр 2010, 21:56
Mechanic
исправить запрос -это понятно, но как обработать дополнительно параметры запроса ?
к примеру при 1м запросе я вызываю доп параметр tariff, а как его значение передать дальше в другие запросы ?

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

СообщениеДобавлено: 16 апр 2010, 19:03
root
теперь я кажется понял вопрос
ты хочешь какое то поле из результатов одного из запросов использовать в другом запросе

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

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

СообщениеДобавлено: 21 апр 2010, 12:57
Андрей
Боюсь бред написать, т.к. не до конца понял вопрос.
У самого стоит MPD5 + UTM5 + FreeRADIUS. Если чуть доходчивее распишите вопрос - может смогу чем помочь.