Настройка 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». В случае установки агента на новый сервер достаточно выполнить следующее:
Обновить список пакетов, убедившись в отсутствии ошибок соединения с репозиторием компании Латера (
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.
Настройка АСР
Описание схемы учёта
Для определения наборов RADIUS–атрибутов и их значений, а также указания используемых при авторизации услуг доступа используется RADIUS–служба. А для задания параметров аутентификации, учёта сеансов работы абонента путём хранения CDR–записей, настройки параметров обработки CDR–записей, тарификации потоковых услуг передачи данных на основании поступающей через RADIUS–Accounting информации используется абонентская сетевая служба.
Компоненты абонентской сетевой службы выступают в роли абонентского оборудования, на котором оказываются услуги. А подписка абонента на эту службу через абонентское оборудование используется для хранения данных аутентификации абонента: логина и пароля. Связь между RADIUS–службой и абонентской службой настраивается для каждого из MPD–серверов, обслуживающих абонентов, с указанием его IP–адреса.
Настройка RADIUS–службы
Ку.
Настройка абонентской службы
Ку.
Создание абонентского оборудования
Ку.
Тестирование схемы авторизации
Ку.
Тестирование авторизации с помощью radtest
Ку.
Тестирование аккаунтинга с помощью radclient
Ку.