Есть заметка, сабж, результат личных опытов. По тематике, думаю, отлично подходит для сайта. С выходом mpd 5.4, думаю, актуально. Излагаю:
--------------- Начало --------------------
Некоторые небольшие ISP, а также операторы локальных сетей, по прежнему, используют в качестве NAS сервера на FreeBSD и mpd.
Часто, стоит задача изменить лимиты пользователям, например, при переходе на ночной тарифный план. То, что описано ниже, простой, но, главное, работающий пример изменения скорости подключенного пользователя, для того, что бы быстро «вьежать» в тему и которого так часто не хватает при изучении документации. Только пример, никакой теории!
Для реализации этого необходимо:
На даный момент обновить систему до 7-STABLE, или 8-STABLE. Необходимый код libradius будет в 7.3-RELEASE и 8.1-RELEASE соответственно.
Установленный из портов mpd-5.4.
В mpd.conf в рвздел startup добавляем:
Код: Выделить всё
set radsrv peer XX.XX.XX.ХХ pass
set radsrv open
Код: Выделить всё
log +radius +radius2
Код: Выделить всё
set radsrv open
set radsrv peer XX.XX.XX.SS pass
Код: Выделить всё
set radsrv peer XX.XX.XX.XX pass
set radsrv open
В папку со словарями /usr/local/share/freeradius, добавляем словарь dictionary.mpd и в файле /usr/local/share/freeradius/dictionary строку
Код: Выделить всё
$INCLUDE dictionary.mpd
Код: Выделить всё
echo User-Name = user_name mpd-limit += \"in#1=all shape 262000 4000 pass\", mpd-limit += \"out#1=all shape 262000 4000 pass\"|radclient -d /usr/local/share/freeradius/ -x -f rt NAS_IP:3799 coa pass
По этому же принципу можно и отключить пользователя:
Код: Выделить всё
echo User-Name = victor | radclient -x -f rt NAS_IP:3799 40 pass
Спасибо, Alexander Motin!
---------------- Конец ---------
Естественно, все опробовано и работает.