Для аутентификации, авторизации и учета статистики потребленных абонентами услуг (аккаунтинга) применяется RADIUS-сервер. Он служит посредником между АСР и различным операторским оборудованием, которое с АСР взаимодействует, начиная от VPN–концентраторов и заканчивая IP-PBX и софтсвичами. В качестве RADIUS-сервера используется свободно распространяемый FreeRADIUS.

Предварительные требования

  1. На сервере должен быть установлен интерпретатор perl версии 5.10 и старше.

    Убедитесь, что интерпретатор perl, имеющийся в системе, скомпилирован с поддержкой многопоточности:

    user@server:~$ perl -V | grep USE_ITHREADS
    USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
    

    В противном случае при большой интенсивности запросов возникнут проблемы с производительностью RADIUS-сервера.

  2. На сервере должен быть подключён репозиторий компании Латера (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
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 в АСР
use constant HYDRA_AAA_SERV     => "RADIUS-VPN";

Запуск

При установке пакета freeradius сервер автоматически запускается с конфигурацией по умолчанию, которая размещается в директории /etc/freeradius. Также при установке включается автоматический запуск сервера FreeRADIUS при загрузке системы. Управлять состоянием сервера вручную можно с помощью инициализационного скрипта /etc/init.d/freeradius:

user@server:~$ sudo /etc/init.d/freeradius <command>

Вместо <command> следует использовать одну из команд: