URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 80820
[ Назад ]

Исходное сообщение
"radius ATTRIBUTE"

Отправлено reddog , 20-Июн-08 06:34 
Доброго времени суток.

И так использую биллинговую систему Abills.
Работает вроде все нормально, за исключением Атрибутов.

проблема кроется в том, что файлы /var/run/radattr.pppN (pppN - интерфейсы) пустые.
В логе pptp:
...
RADATTR plugin wrote 0 line(s) to file /var/run/radattr.ppp1
...
/etc/ppp/options.pptp
plugin radius.so
plugin radattr.so
logfile /var/log/pptpd.log
proxyarp
debug
#require-mschap-v2
#+chap
#+pap
ms-dns xxx.xxx.xxx.xxx


/etc/freeradius/radiusd.conf
интересует секция Authorize
...
authorize {
preprocess
pre_auth
suffix
files
}

В словарях:
/etc/freeradius/dictonary
ATTRIBUTE PPPD-Download-Speed-Limit 230 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit 231 integer
/etc/radiusclient/dictonary
ATTRIBUTE PPPD-Download-Speed-Limit 230 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit 231 integer

по мимо этого добавлял эти строки в:
/etc/radiusclient/dictonary.merit


root@nas:~# radtest 123 123 localhost 1 radsecret 1 XXX.XXX.XXX.XXX
Sending Access-Request of id 183 to 127.0.0.1 port 1812
        User-Name = "123"
        User-Password = "123"
        NAS-IP-Address = XXX.XXX.XXX.XXX
        NAS-Port = 1
        Framed-Protocol = PPP
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=183, length=20

И все... больше не чего не происходит.

root@nas:~# radlogin
($Id: radlogin.c,v 1.3 1997/12/29 23:07:25 lf Exp $)
-----------------------------------------------------
Linux 2.6.24-16-server (nas) (port 2)
-----------------------------------------------------

login: 123
Password:
RADIUS: Authentication OK
Starting.
RADIUS_USER_NAME = 123

Аутентификация проходит нормально. Без всяких ошибок.
Инициализация плагинов radattr.so и radius.so тоже проходит нормально.
Сейчас грешу на плагин radattr.so может с ним, что не так.

Все это необходимо для ограничения скорости. Скриптик шейпера прикручен к /etc/ppp/ip-up
Задавая строго переменные:
DOWNSPEED
UPSPEED
FILTER
все работает. Но это если всем пользователям делать одну скорость, а если по другому то не работает.

Заранее благодарен тем кто откликнется.


Содержание

Сообщения в этом обсуждении
"radius ATTRIBUTE"
Отправлено mr_gfd , 20-Июн-08 11:25 
с такими вопросами значительно лучше отправиться на http://abills.net.ua/forum/
есть отдельная ветка по абиллсу под линем

"radius ATTRIBUTE"
Отправлено Z0termaNN , 20-Июн-08 12:38 
>И так использую биллинговую систему Abills.

даже не представляю что это такое

>[оверквотинг удален]
>
>Все это необходимо для ограничения скорости. Скриптик шейпера прикручен к /etc/ppp/ip-up
>Задавая строго переменные:
>DOWNSPEED
>UPSPEED
>FILTER
>все работает. Но это если всем пользователям делать одну скорость, а если
>по другому то не работает.
>
>Заранее благодарен тем кто откликнется.

в деталях не помню, но смысл таков - radattr.so обрабатывает достаточно небольшое количество атрибутов. для обработки всего остального его нужно патчить. В данном
случае ничего особенно сложного нет - в radius_setparams (radius.c) нужно анализировать
соответствующий атрибут и выставлять переменную окружения, для последующей обработки
в /etc/ppp/ip-[up|down]
кроме того, следует представлять, что radlogin к rad*.so не имеет никакого отношения.
наксколько я помню radlogin выставляет все значения атрибутов в переменные окружения
RADIUS_*, которые потом возможно обрабатывать скриптом login.radius.
примеры и патчи могу выслать по запросу.



"radius ATTRIBUTE"
Отправлено reddog , 20-Июн-08 13:13 
>с такими вопросами значительно лучше отправиться на http://abills.net.ua/forum/
>есть отдельная ветка по абиллсу под линем

Спасибо конечно, но если бы я не облазил весь форум я бы не писал сюда не чего. :]
Даже *.pl править начала из /usr/abills/libexec/ (грешным делам думать начал)

>в деталях не помню, но смысл таков - radattr.so обрабатывает достаточно небольшое
>количество атрибутов. для обработки всего остального его нужно патчить. В данном

Хм, очень странно, учесть тот факт, что устанавливал совсем не давно и все, что установил не требует апгрейда. На более ранней ОС все работало. (может есть какой то флажок в настройках  который пользволяет\непозволяет запись в radattr.pppN ? Хотя странно не встречал такого :] )

>случае ничего особенно сложного нет - в radius_setparams (radius.c) нужно анализировать
>соответствующий атрибут и выставлять переменную окружения, для последующей обработки
>в /etc/ppp/ip-[up|down]

Если нет не чего тяжелого, то вопрос такой как это сделать? Или ссылочку на примеры.

Вот, что еще хотел показать...
При заполнении переменных, я делал так:
DOWNSPEED=`/usr/sbin/awk '\PPPD-Download-Speed-Limit\{print $2}' /var/run/radattr.$1`
Где $2 (/dev/pts/N - номер интерфейса), а $1 (pppN - интефейс).
echo $DOWNSPEED
Просто пустая строка.
Аналогично делал с $UPSPEED и $FILTER

Благодарен Z0termaNN за содержательный ответ.


"radius ATTRIBUTE"
Отправлено Z0termaNN , 20-Июн-08 13:45 
>
>Хм, очень странно, учесть тот факт, что устанавливал совсем не давно и
>все, что установил не требует апгрейда. На более ранней ОС все
>работало. (может есть какой то флажок в настройках  который пользволяет\непозволяет
>запись в radattr.pppN ? Хотя странно не встречал такого :] )
>

ну не помню я действительно, ну оттрассировать-то можно !
>
>>случае ничего особенно сложного нет - в radius_setparams (radius.c) нужно анализировать
>>соответствующий атрибут и выставлять переменную окружения, для последующей обработки
>>в /etc/ppp/ip-[up|down]
>
>Если нет не чего тяжелого, то вопрос такой как это сделать? Или
>ссылочку на примеры.

ну например
http://ppp.samba.org/cgi-bin/ppp-bugs/incoming?id=1466;user=...

но лучше давай мыло, потому как есть еще ip-up и radlogin

>[оверквотинг удален]
>
>Вот, что еще хотел показать...
>При заполнении переменных, я делал так:
>DOWNSPEED=`/usr/sbin/awk '\PPPD-Download-Speed-Limit\{print $2}' /var/run/radattr.$1`
>Где $2 (/dev/pts/N - номер интерфейса), а $1 (pppN - интефейс).
>echo $DOWNSPEED
>Просто пустая строка.
>Аналогично делал с $UPSPEED и $FILTER
>
>Благодарен Z0termaNN за содержательный ответ.


"radius ATTRIBUTE"
Отправлено reddog , 20-Июн-08 13:51 
>но лучше давай мыло, потому как есть еще ip-up и radlogin

reddog99@inbox.ru жду письма. Любой кофиг пошлю. ;)