Доброго времени суток.И так использую биллинговую систему 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
все работает. Но это если всем пользователям делать одну скорость, а если по другому то не работает.Заранее благодарен тем кто откликнется.
с такими вопросами значительно лучше отправиться на http://abills.net.ua/forum/
есть отдельная ветка по абиллсу под линем
>И так использую биллинговую систему 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.
примеры и патчи могу выслать по запросу.
>с такими вопросами значительно лучше отправиться на 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 за содержательный ответ.
>
>Хм, очень странно, учесть тот факт, что устанавливал совсем не давно и
>все, что установил не требует апгрейда. На более ранней ОС все
>работало. (может есть какой то флажок в настройках который пользволяет\непозволяет
>запись в 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 за содержательный ответ.
>но лучше давай мыло, потому как есть еще ip-up и radloginreddog99@inbox.ru жду письма. Любой кофиг пошлю. ;)