Для аутентификации, авторизации и учета статистики потребленных абонентами услуг (аккаунтинга) применяется RADIUS-сервер. Он служит посредником между АСР и различным операторским оборудованием, которое с АСР взаимодействует, начиная от VPN–концентраторов и заканчивая IP-PBX и софтсвичами. В качестве RADIUS-сервера используется свободно распространяемый FreeRADIUS.
Предварительные требования
На сервере должен быть установлен интерпретатор perl версии 5.10 и старше.
Внимание!
Убедитесь, что интерпретатор perl, имеющийся в системе, скомпилирован с поддержкой многопоточности:
user@server:~$ perl -V | grep USE_ITHREADS USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
В противном случае при большой интенсивности запросов возникнут проблемы с производительностью RADIUS-сервера.
- На сервере должен быть подключён репозиторий компании Латера (
deb.hydra-billing.com). Данный репозиторий подключается сотрудниками компании Латера в рамках технической поддержки.
Установка FreeRADIUS
Установка пакета производится из репозитория компании Латера (deb.hydra-billing.com). Данный репозиторий подключается сотрудниками компании Латера в рамках технической поддержки. Отличие от штатного пакета freeradius в том, что он собран со всеми необходимыми для работы модулями. Рекомедуется также установить пакет freeradius-utils, содержащий программы-клиенты и утилиты для работы с сервером.
user@server:~$ sudo aptitude update && \
sudo aptitude install freeradius freeradius-utils
Настройка параметров подключения к агенту HARD
Параметры подключения необходимо указать в файле /etc/freeradius/hard.pm следующим образом:
... # Параметры для связи с HARD my @HARD_API_URLS = ( # Пул API URL для запросов "http://<hard_ip_addr>:<hard_port1>/<plugin_name>/<plugin_object>", "http://<hard_ip_addr>:<hard_port2>/<plugin_name>/<plugin_object>", "http://<hard_ip_addr>:<hard_port3>/<plugin_name>/<plugin_object>", ); use constant HARD_AUTH_USER => "<hard_login>"; # Логин use constant HARD_AUTH_PASSWORD => "<hard_password>"; # Пароль ...
<hard_ip_addr>— IP-адрес, на котором агент HARD принимает запросы;<hard_port1>,— номера портов (количество зависит от настроек агента), на которых агент HARD принимает запросы;<hard_port2>,<hard_port3><plugin_name>— название используемого плагина агента HARD;<plugin_object>— название объекта указанного плагина, которому будут передаваться запросы;<hard_login>— логин для подключения к агенту HARD;<hard_pasword>— пароль для подключения к агенту HARD.
Пример:
... # Параметры для связи с HARD my @HARD_API_URLS = ( # Пул API URL для запросов "http://127.0.0.1:11080/base/main", ); use constant HARD_AUTH_USER => "hydra"; # Логин use constant HARD_AUTH_PASSWORD => "q123"; # Пароль ...
Настройка используемой RADIUS-службы
В файле /etc/freeradius/hard.pm также необходимо указать сетевую RADIUS-службу, которая будет использоваться с данным сервером:
# Код сетевой службы RADIUS в АСР use constant HYDRA_AAA_SERV => "<radius_serivce_code>";
<radius_serivce_code>— код сетевой RADIUS-службы.
Пример:
# Код сетевой службы RADIUS в АСР use constant HYDRA_AAA_SERV => "RADIUS-VPN";
Запуск
При установке пакета freeradius сервер автоматически запускается с конфигурацией по умолчанию, которая размещается в директории /etc/freeradius. Также при установке включается автоматический запуск сервера FreeRADIUS при загрузке системы. Управлять состоянием сервера вручную можно с помощью инициализационного скрипта /etc/init.d/freeradius:
user@server:~$ sudo /etc/init.d/freeradius <command>
Вместо <command> следует использовать одну из команд:
start— запуск сервера,stop— остановка сервера ,restart— проверка конфигурации и перезапуск сервера,reload— проверка конфигурации и отправка серверу сигнала о необходимости перезагрузки конфигурации,configtest— проверка конфигурации,debug— запуск в режиме отладки (наиболее подходящий для настройки сервера режим работы).