Попробуйте найти время, потом будет на 200% некогда
Дано Ubuntu 10.04.3, ABillS 0.52b настроенный по мануалу из данной темы.
Нужно rlm_perl.
Источники:
1.
http://abills.net.ua/wiki/doku.php/abills:docs:rlm_perl:ru2.
http://local.com.ua/forum/topic/23623-freeradius-2-и-rlm-perl-на-linux/
3.
http://www.google.comИдем в /etc/freeradius/
Копируем файл radiusd.conf в radiusd.conf.bak на всякий:
cd /etc/freeradius/
sudo cp radiusd.conf radiusd.conf.bak
Открываем radiusd.conf и редактируем.
sudo nano radiusd.conf
Добавляем в секцию
«modules» perl {
module = /usr/abills/libexec/rlm_perl.pl
func_authorize = authorize
func_accounting = accounting
func_authenticate = authenticate
func_preacct = preacct
func_checksimul = checksimul
func_xlat = xlat
}
Теперь идем в /etc/freeradius/sites-available
Копируем default в default.bak:
cd /etc/freeradius/sites-available/
sudo cp default default.bak
Правим default:
sudo nano default
В секции
«authorize» добавить
обязательно после опции preprocess perl
и закомментировать
#files
#abills_preauth
#abills_auth
#unix
В секции
«authenticate»perl
и закомментировать ненужные типы аутентификации, поскольку используем mschap
# Auth-Type PAP {
# pap
# }
# Auth-Type CHAP {
# chap
# }
# unix
В секции
«preacct» закомментировать
#files
#abills_acc
В секции
«accounting»perl
и закоментировать
#unix
В секции
«post-auth»post-auth {
Post-Auth-Type REJECT {
perl
}
}
и закомментируем
#abills_postauth
Определяем версию библиотеки
libperl нужную для работы rlm_perl, иначе получим матюки от freeradius
farton@gate:~$ ls -l /usr/lib/ | grep libperl
lrwxrwxrwx 1 root root 17 2011-06-01 17:17 libperl.so.5.10 -> libperl.so.5.10.1
-rw-r--r-- 1 root root 1487368 2011-04-22 23:05 libperl.so.5.10.1
В моем случае версия libperl.so.5.10.1, у вас может отличаться, соответственно и значение LD_PRELOAD тоже.
Теперь запускаем радиус в отладочном режиме:
sudo LD_PRELOAD=/usr/lib/libperl.so.5.10.1 freeradius -X
Если вывод от радиуса такой как ниже, то все ок
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on proxy address * port 1814
Ready to process requests.
Останавливаем радиус.
Правим /etc/init.d/freeradius
cd /etc/init.d/
sudo nano freeradius
Добавляем в скрипт LD_PRELOAD=/usr/lib/
libperl.so.5.10.1Было:
case "$1" in
start)
log_daemon_msg "Starting $DESCR" "$PROG"
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $PROGRAM || ret=$?
Стало:
case "$1" in
start)
log_daemon_msg "Starting $DESCR" "$PROG"
LD_PRELOAD=/usr/lib/libperl.so.5.10.1 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $PROGRAM || ret=$?
И запускаем демон.
service freeradius start
Вот вроде и все с rlm_perl.
Насчет accel-ppp. Скомпилировать его у меня не получилось, взял deb-пакет версии 1.3.4 от Debian Lenny, все работает, нужно лишь подправить конфиг и выбрать другой тип NAS в настройках abills. Думаю что напишу небольшой howto.