Настройка RADIUS–части
Схема взаимодействия
Зелёным цветом на данной диаграмме обозначена передача на обработку запроса, а синим — ответа на запрос. Во время отсутствия связи между агентом HARD и ядром Гидры, обработка запросов выполняется в автономном режиме на основании данных, содержащихся в кэше MongoDB.
Предварительные требования
На сервере должен быть установлен интерпретатор perl версии 5.10 и старше.
Внимание!
Убедитесь, что интерпретатор perl, имеющийся в системе, скомпилирован с поддержкой многопоточности:
user@server:~$ perl -V | grep USE_ITHREADS USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
В противном случае при большой интенсивности запросов возникнут проблемы с производительностью RADIUS–сервера.
- На сервере должен быть подключён репозиторий компании Латера (
deb.latera.ru
). Данный репозиторий подключается сотрудниками компании Латера в рамках технической поддержки.
Установка и настройка FreeRADIUS
Установка
Общее руководство по установке сервера FreeRADIUS доступно в виде отдельной статьи «Установка и настройка сервера FreeRADIUS». В случае установки FreeRADIUS на новый сервер достаточно выполнить следующее:
Обновить список пакетов, убедившись в отсутствии ошибок соединения с репозиторием компании Латера (
deb.latera.ru
):user@server:~$ sudo aptitude update
Установить сервер FreeRADIUS из пакета
freeradius
и утилиты для работы с ним из пакетаfreeradius-utils
:user@server:~$ sudo aptitude install freeradius freeradius-utils
Настройка
Для настройки сервера FreeRADIUS, установленного из репозитория компании Латера достаточно указать параметры подключения к агенту HARD и код сетевой RADIUS–службы в Гидре.
Откройте в текстовом редакторе файл
/etc/freeradius/hard.pm
:user@server:~$ sudo nano /etc/freeradius/hard.pm
В районе строки №45 файла проверьте и, при необходимости, скорректируйте параметры подключения к агенту HARD:
Файл /etc/freeradius/hard.pmmy @HARD_API_URLS = ( # Пул API URL для запросов "http://localhost:11080/base/mpd", ); use constant HARD_AUTH_USER => "hydra"; # Логин use constant HARD_AUTH_PASSWORD => "q123"; # Пароль
Рекомендуем изменить пароль по умолчанию
q123
на более сложный. Логин и пул API URL для запросов и можно оставить стандартные. При большом количестве обслуживаемых абонентов в этот пул можно добавить дополнительные экземпляры агента HARD, предварительно включив их в конфигурации агента.Ниже, в районе строки №52 того же файла проверьте код сетевой RADIUS–службы в Гидре, которая будет соответствовать данному RADIUS–серверу:
Файл /etc/freeradius/hard.pm# Код сетевой службы RADIUS в АСР use constant HYDRA_AAA_SERV => "RADIUS-VPN";
Если служба RADIUS-VPN ещё не используется в Гидре, можно оставить её. В противном случае, замените в код по умолчанию RADIUS-VPN на, например, RADIUS-MPD.
- Сохраните файл и закройте текстовый редактор.
Установка и настройка агента HARD
Установка
Общее руководство по установке агента HARD доступно в виде отдельной статьи «Установка агента HARDУстановка и настройка сервера FreeRADIUS». В случае установки агента на новый сервер достаточно выполнить следующее:
Обновить список пакетов, убедившись в отсутствии ошибок соединения с репозиторием компании Латера (
deb.latera.ru
):user@server:~$ sudo aptitude update
Установить агент HARD из пакета
hard
:user@server:~$ sudo aptitude install hard=<hard_version>
<hard_version>
— версия агента HARD, совместимая с установленной у вас версией ядра Гидры. Актуальную информацию о совместимости версий вы можете получить, обратившись в техническую поддержку компании Латера.
Настройка
Общие принципы настройки агента HARD описаны в разделе «Настройка агента HARD». Для настройки взаимодействия с MPD необходимо выполнить следующие действия:
Отредактируйте файл конфигурации
/etc/hydra/hard/default.yml
, приведя его содержимое в соответствие с примером.Файл /etc/hydra/hard/default.yml# Список активных плагинов enabled_plugins: [base/mpd] log: common: # Уровень лог-сообщений level: <hard_log_level> connection_pools: # Настройки подключения к Oracle database: main: # Название name: <db_name> # Пароль пользователя password: <AIS_RADIUS_password> filters: agent.basic_auth: main: login: <hard_login> password: <hard_password>
Замените использованные в примере подстановки желаемыми значениями:
<hard_log_level>
— уровень логирования агента HARD: для тестирования рекомендуем использоватьdebug
, а для промышленной эксплуатации —info
.<db_name>
— наименование базы данных ядра Гидры, с которой будет работать агент. Наименование базы данных в приложении «Офис оператора связи» указано рядом с именем текущего пользователя:<AIS_RADIUS_password>
— пароль пользователя AIS_RADIUS базы данных<db_name>
.<hard_login>
— логин для авторизации модуляhard.pm
сервера FreeRADIUS, ранее указанный в файле/etc/freeradius/hard.pm
, в параметреHARD_AUTH_USER
.<hard_password>
— пароль для авторизации модуляhard.pm
сервера FreeRADIUS, ранее указанный в файле/etc/freeradius/hard.pm
, в параметреHARD_AUTH_PASSWORD
.
Отредактируйте файл конфигурации
/etc/hydra/hard/plugins/base.yml
, приведя его содержимое в соответствие с примером. Если директорииplugins
в директории/etc/hydra/hard
не существует, создайте её.Файл /etc/hydra/hard/plugins/base.ymlplugins: base: mpd: # Параметры авторизации auth: # Схема авторизации method: login user: # Атрибут, содержащий данные авторизации name: User-Name # Параметры сохранения CDR cdr: # Атрибут, сохраняемый в комментарий CDR comment_attr: Tunnel-Client-Endpoint # Атрибут, сохраняемый в качестве адреса абонента в CDR user_station_address_attr: Framed-IP-Address
Согласно настройкам, приведённым в данном примере, подбор абонента будет выполняться по логину, содержащемуся в атрибуте User-Name. При желании, можно изменить наименования атрибутов, значения которых будут записываться в поля «Комментарий» и «Адрес инициатора» CDR. Можно вовсе отключить заполнение этих полей, убрав из конфигурации 11–16.