Page tree
Skip to end of metadata
Go to start of metadata

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

  • <hard_port1>, <hard_port2>, <hard_port3> — номера портов (количество зависит от настроек агента), на которых агент HARD принимает запросы;

  • <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 — запуск в режиме отладки (наиболее подходящий для настройки сервера режим работы).
  • No labels