Для аутентификации, авторизации и учета статистики потребленных абонентами услуг (аккаунтинга) применяется 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
— запуск в режиме отладки (наиболее подходящий для настройки сервера режим работы).