Авторизация проводится при помощи программы abills/libexec/rlm_perl.pl которой RADIUS передаёт параметры авторизации пользователя.
Авторизация проводится при помощи программы abills/libexec/racct.pl которой RADIUS передаёт параметры текущей сесии.
Система разрешает использовать внешние скрипты в процессе аккаунтинга. Это немного притормаживает работу но разрешает делать дополнительные манипуляции с текущей сессией.
Для использования этой возможности поместите файл Ваших действий в каталог abills/libexec/ext_acct/ (Если он не существует создайте его). Размещение этого каталога определяется в опции конфигурации $conf{extern_acct_dir}. На файл должны быть установлены 755 права в противном случае система будет игнорировать его.
Внешней программе передаются следующие параметры командной строки:
1. ACT_STATUS_TYPE | Тип акаунтинг пакета 1 - Start 2 - Stop 3 - Alive |
---|---|
2. NAS_IP_ADDRESS | IP адресе сервера доступа |
3. NAS_PORT | Порт сервера доступа |
4. NAS_TYPE | Тип сервера доступа. Берётся из биллинга |
5. USER_NAME | Имя пользователя |
Программа внешнего акаунтинга может также передавать параметры биллингу через стандартный ввод вывод. Параметры выданные программой интерпритируются как радиус пары для системы.
Пример программы:
#!/bin/sh ACT_STATUS_TYPE=$1; NAS_IP_ADDRESS=$2; NAS_PORT=$3; NAS_TYPE=$4; USER_NAME=$5; FRAMED_IP_ADDRESS=$6; if [ w${USER_NAME} = wtest ]; then echo "CONNECT_INFO='test params'"; fi;
Программа возвращает радиус параметры CONNECT_INFO для пользователя test