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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »


Настройка RADIUS–части

Схема взаимодействия

Зелёным цветом на данной диаграмме обозначена передача на обработку запроса, а синим — ответа на запрос. Во время отсутствия связи между агентом HARD и ядром Гидры, обработка запросов выполняется в автономном режиме на основании данных, содержащихся в кэше MongoDB.

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

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

    Внимание!

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

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

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

  2. На сервере должен быть подключён репозиторий компании Латера (deb.latera.ru). Данный репозиторий подключается сотрудниками компании Латера в рамках технической поддержки.

Установка и настройка FreeRADIUS

Установка

Общее руководство по установке сервера FreeRADIUS доступно в виде отдельной статьи «Установка и настройка сервера FreeRADIUS». В случае установки FreeRADIUS на новый сервер достаточно выполнить следующее:

  1. Обновить список пакетов, убедившись в отсутствии ошибок соединения с репозиторием компании Латера (deb.latera.ru):

    user@server:~$ sudo aptitude update
  2. Установить сервер FreeRADIUS из пакета freeradius и утилиты для работы с ним из пакета freeradius-utils:

    user@server:~$ sudo aptitude install freeradius freeradius-utils

Настройка

Для настройки сервера FreeRADIUS, установленного из репозитория компании Латера достаточно указать параметры подключения к агенту HARD и код сетевой RADIUS–службы в Гидре.

  1. Откройте в текстовом редакторе файл /etc/freeradius/hard.pm:

    user@server:~$ sudo nano /etc/freeradius/hard.pm
  2. В районе строки №45 файла проверьте и, при необходимости, скорректируйте параметры подключения к агенту HARD:

    Файл /etc/freeradius/hard.pm
    my @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, предварительно включив их в конфигурации агента.

  3. Ниже, в районе строки №52 того же файла проверьте код сетевой RADIUS–службы в Гидре, которая будет соответствовать данному RADIUS–серверу:

    Файл /etc/freeradius/hard.pm
    # Код сетевой службы RADIUS в АСР
    use constant HYDRA_AAA_SERV     => "RADIUS-VPN";
    

    Если служба RADIUS-VPN ещё не используется в Гидре, можно оставить её. В противном случае, замените код по умолчанию RADIUS-VPN на, например, RADIUS-MPD.

  4. Сохраните файл и закройте текстовый редактор.

Установка и настройка агента HARD

Установка

Общее руководство по установке агента HARD доступно в виде отдельной статьи «Установка агента HARD». В случае установки агента на новый сервер достаточно выполнить следующее:

  1. Обновить список пакетов, убедившись в отсутствии ошибок соединения с репозиторием компании Латера (deb.latera.ru):

    user@server:~$ sudo aptitude update
  2. Установить агент HARD из пакета hard:

    user@server:~$ sudo aptitude install hard=<hard_version>

    <hard_version> — версия агента HARD, совместимая с установленной у вас версией ядра Гидры. Актуальную информацию о совместимости версий вы можете получить, обратившись в техническую поддержку компании Латера.

Настройка

Общие принципы настройки агента HARD описаны в разделе «Настройка агента HARD». Для настройки взаимодействия с MPD необходимо выполнить следующие действия:

  1. Отредактируйте файл конфигурации /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.
  2. Отредактируйте файл конфигурации /etc/hydra/hard/plugins/base.yml, приведя его содержимое в соответствие с примером. Если директории plugins в /etc/hydra/hard не существует, создайте её.

    Файл /etc/hydra/hard/plugins/base.yml
    plugins:
      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–службы

  1. В приложении «Офис оператора связи» откройте реестр сетевых служб (меню «Справочники», пункт «Сетевые службы») и в поле «Тип» укажите «RADIUS-сервер»:
  2. В результатах поиска будут представлены все существующие на данный момент RADIUS–службы. Если среди них есть служба с кодом RADIUS-VPN и она не используется для взаимодействия с другим вашим оборудованием, используйте для дальнейших настроек её. Если же служба с кодом RADIUS-VPN уже используется, создайте новую службу, нажав в реестре сетевых служб на кнопку «Добавить» и указав в качестве типа службы «RADIUS-сервер», а в качестве кода, например, «RADIUS-MPD ».

    Код используемой RADIUS–службы должен совпадать с кодом, указанным ранее в файле /etc/freeradius/hard.pm

  3. На форме редактирования выбранной RADIUS–службы, в разделе «Access Reply» задайте пары RADIUS–атрибутов и их значений, которые будут отправлены в RADIUS–пакете Access–Accept при успешной авторизации. Рекомендуемый набор атрибутов и значений представлен в виде таблицы:

    АтрибутОператорЗначениеОписание
    1Framed-IP-Address:=$TERM_IP_ADDRIP–адрес, который будет назначен абоненту.
    Подстановка $TERM_IP_ADDR возвращает IP–адрес, привязанный к абонентскому оборудованию в Гидре.
    2Session-Timeout:=86400Максимальная продолжительность сессии абонента, указываемая в секундах.
    3Acct-Interim-Interval:=1200Интервал отправки пакетов Interim–Update, указываемый в секундах.
    4Simultaneous-Use:=1Максимальное разрешённое количество одновременных сессий.
    5mpd-limit:=out#1=all rate-limit $SPEED_LIMIT["GOOD":"40213701","UNIT":"UNIT_BitSec"]

    Ограничение скорости входящего трафика для абонента.

    Подстановка $SPEED_LIMIT возвращает ограничение скорости, указанное в приказе по ценам для услуги с заданным идентификатором:

    • 40213701 — стандартный идентификатор для услуги «Интернет-трафик вх.»
    • UNIT_BitSec — код единицы измерения «бит/с» из базового справочника «Единицы измерения скорости передачи данных»

     

    6mpd-limit+=in#1=all rate-limit $SPEED_LIMIT["GOOD":"40213501","UNIT":"UNIT_BitSec"]

    Ограничение скорости входящего трафика для абонента.

    Подстановка $SPEED_LIMIT возвращает ограничение скорости, указанное в приказе по ценам для услуги с заданным идентификатором:

    • 40213501 — стандартный идентификатор для услуги «Интернет-трафик исх.»
    • UNIT_BitSec — код единицы измерения «бит/с» из базового справочника «Единицы измерения скорости передачи данных»

    При необходимости вы можете изменить предложенные в таблице значения атрибутов, или добавить дополнительные атрибуты, которые должны быть переданы в случае успешной авторизации.

Настройка абонентской службы

Ку.

Создание абонентского оборудования

Ку.

Тестирование схемы авторизации

Тестирование авторизации с помощью radtest

Ку.

Тестирование аккаунтинга с помощью radclient

Ку.

  • No labels