Logo

EcoRouter

EcoNAT

EcoQOE

EcoBypass

English

  • Release Notes
  • Аутентификация, авторизация и аккаунтинг EcoRouter Documentation / BRAS / Аутентификация, авторизация и аккаунтинг

    Локальная аутентификация

    IPoE-абонент считается локально аутентифицированным, если IP-адрес абонента соответствует статическому или динамическому правилу в последовательности subscriber-map, в которой отсутствует команда set aaa c указанием имени группы удаленных AAA RADIUS-серверов.

    Для PPPoE абонентов возможность локальной аутентификации отсутствует, однако можно полностью отключить аутентификацию абонентов в PPPoE профайле с помощью команды no authentication. В этом случае любая попытка абонентского PPP подключения будет считаться успешной.   

    Локальная авторизация

    Под авторизацией подразумевается конфигурация для абонентов определенных сервисов (с какой скоростью осуществляется передача данных для абонента в разных направлениях). Существует возможность использования локально сконфигурированного сервиса, а также полученного через удаленный RADIUS-сервер. Приведенные ниже сведения относятся как к абонентам IPoE, так и PPPoE.

    Для настройки скорости доступа для профиля (IPoE/PPPoE) необходимо создать subscriber-service. Созданный subscriber-service может быть привязан к PPPoE-профилю или к картам абонентов IPoE вручную или получен с RADIUS-сервера:

    ecorouter(config)#subscriber-service ?
      SUBSCRIBER_SERVICE  Subscriber service name

    Для subscriber-service следует назначить subscriber-policy.

    ecorouter(config-sub-service)#set ?
      policy  Set policy
    ecorouter(config-sub-service)#set policy ?
      SUBSCRIBER_POLICY_NAME  Subscriber policy name
      <cr>

    В subscriber-policy указывается скорость абонента для upstream- и downstream-пакетов в kbps и применяется filter-map policy (также для upstream и downstream):

    ecorouter(config)#subscriber-policy <NAME>
    ecorouter(config-sub-policy)#bandwidth ?
      in   Upstream packets
      out  Downstream packets
    ecorouter(config-sub-policy)#bandwidth in
      kbps  Bandwidth value in kbps
    ecorouter(config-sub-policy)#bandwidth in kbps ?
      <64-10000000>  Kbits per second
    ecorouter(config-sub-policy)#set filter-map ?
      in   Upstream packets
      out  Downstream packets
    ecorouter(config-sub-policy)#set filter-map in ?
      FILTER_MAP_POLICY_IPV4  Filter map name
    ecorouter(config-sub-policy)#set filter-map in

    В filter-map policy указывается параметр, по которому к абонентам будут применяться настройки.

    ecorouter(config)#filter-map policy ipv4 ?
      FILTER_MAP_POLICY_IPV4  Filter map name
    ecorouter(config)#filter-map policy ipv4 <NAME>  ?
      <0-65535>  Sequence number
      <cr>
    ecorouter(config)#filter-map policy ipv4 <NAME> 10

    Например:

    filter-map policy ipv4 <NAME> 10
     match any any any
     set accept

    После настройки subscriber-service можно вручную задать его применение в PPPoE-профиле и карте абонентов IPoE:

    ecorouter(config-pppoe)#set subscriber-service ?
      SUBSCRIBER_SERVICE  Specify subscriber service name

    Ниже приведен пример полной настройки для PPPoE.

    1. Настройка filter-map policy.

    ecorouter(config)#filter-map policy ipv4 50kk 10
    ecorouter(config-filter-map-policy-ipv4)#match any any any
    ecorouter(config-filter-map-policy-ipv4)#set accept

    2. Настройка subscriber-policy.

    ecorouter(config)#subscriber-policy 50kk
    ecorouter(config-sub-policy)#bandwidth in kbps 500032
    ecorouter(config-sub-policy)#bandwidth out kbps 500032
    ecorouter(config-sub-policy)#set filter-map in 50kk
    ecorouter(config-sub-policy)#set filter-map out 50kk

    3. Настройка subscriber-service.

    ecorouter(config)#subscriber-service 50kk
    ecorouter(config-sub-service)#set policy 50kk

    4.1 Задание subscriber-service.

    Применение subscriber-service вручную к ppppoe-profile:

    ecorouter(config)#pppoe-profile 0
    ecorouter(config-pppoe)#set subscriber-service 50kk

    4.2 В случае применения сервиса с RADIUS-сервера на нем необходимо задать атрибут.

    5. После установки соединения состояние сервиса можно посмотреть командой show subscribers <interface bmi> <ip addr>.

    5.1 В случае задания subscriber-service вручную после названия сервиса будет добавлено "(L)", что означает "local".

    ecorouter#show subscribers bmi.0 192.168.10.2
    ...
    service: 50kk(L)
    ...

    5.2 В случае получения subscriber-service от RADIUS-сервера после названия сервиса будет добавлено "(R)", что означает "remote aaa".

    ecorouter#show subscribers bmi.0 192.168.10.2
    ...
    service: 50kk(R)

    Локальная авторизация для IPoE-абонентов конфигурируется аналогичным образом, установкой нужного subscriber-service  в последовательности subscriber-map. По умолчанию авторизация через RADIUS имеет наибольший приоритет, ключевое слово strict в команде set subscriber-service <NAME> позволяет сделать локальную авторизацию приоритетной.

    Отсутствие сервиса в карте абонента

    Если в одной из последовательностей карты абонента отсутствует правило set, то в этой последовательности все абоненты, попавшие под правило match (отсутствие правила match соответствует всем IP-адресам), попадают под неявное правило DROP. Весь трафик от этих абонентов блокируется, а сервис считается недействительным. Время жизни для таких сессий устанавливается 5 мин, то есть, сессия будет удалена автоматически  из глобальной таблицы абонентов через 5 мин.

    Группы RADIUS-серверов

    Для удаленной авторизации/аутентификации и аккаунтинга на EcoRouter поддерживается использование групп RADIUS-серверов. Данная функциональность используется для настройки RADIUS для BRAS (авторизация и аккаунтинг должны производиться на различных RADIUS-серверах).

    В текущей реализации допускается создание до 16 различных групп, каждая из которых может содержать до 16 RADIUS-серверов. При этом один и тот же сервер может принадлежать к нескольким группам одновременно.

    Для создания группы RADIUS-серверов используется команда конфигурационного режима radius-group <RADIUS_GROUP>, где <RADIUS_GROUP> - имя создаваемой группы RADIUS-серверов. Если группа с указанным именем уже существует, а также после ее создания в результате выполнения команды будет автоматически произведен переход в контекстный режим конфигурации этой группы, префикс приглашения изменится на (config-radius-group).

    Для удаления группы RADIUS-серверов используется команда конфигурационного режима no radius-group <RADIUS_GROUP>, где <RADIUS_GROUP> - имя удаляемой группы RADIUS-серверов.

    В контекстном режиме конфигурации группы RADIUS-серверов (config-radius-group) можно отредактировать или удалить описание группы, настроить режим ее работы, изменить параметры выбранного RADIUS-сервера или удалить выбранный RADIUS-сервер из группы. Данные команды и параметры описаны в таблице ниже.

    Команда/параметрОписание
    description <TEXT>
    Задание описания группы RADIUS-серверов. <TEXT> - строка описания
    no description
    Удаление описания группы RADIUS-серверов
    mode <MODE>

    Настройка режима работы группы RADIUS-серверов. Допустимые значения режима работы группы RADIUS-серверов - <MODE>:

    • active-standby - для всех запросов используется RADIUS-сервер с наибольшим приоритетом в группе (минимальное значение параметра priority). Этот сервер является активным (active), остальные при этом находятся в режиме ожидания (standby). Если RADIUS-сервер с наибольшим приоритетом перестает отвечать на запросы, то запросы начинают поступать на следующий по приоритету сервер. По истечении определенного периода времени производится попытка повторить отправку запросов на наиболее приоритетный сервер. Если такая попытка удачна, то он снова становится активным;
    • round-robin - запросы распределяются между всеми RADIUS-серверами группы. Например, если группа состоит из 3 RADIUS-серверов, пришло 5 запросов от клиентов. 1-ый запрос отправляется на 1-ый сервер, 2-ой - на 2-ой сервер, 3-ий - на 3-ий сервер, 4-ый запрос - снова на 1-ый сервер, 5-ый на 2-ой и т.д.

    Значение по умолчанию - active-standby

    transmission-rate threads <NUMBER> packets <NUMBER>

    Количество одновременно отправляемых запросов на RADIUS-сервер. Задаётся двумя параметрами:

    • threads - максимальное количество одновременных потоков. Диапазон значений: от 1 до 12. Значение по умолчанию: 4.
    • packets - максимальное количество пакетов на поток. Диапазон значений: от 64 до 256. Значение по умолчанию: 256.

    Общее количество запросов - произведение threads x packets

    Настройка таймеров
    request-max-tries <NUMBER>
    Количество запросов, после отсутствия ответа на которые сервер будет считаться недоступным (DEAD). Значение по умолчанию - 3
    request-timeout <INTERVAL>
    Временной интервал между отправкой запросов в секундах. Значение по умолчанию - 3 секунды
    dead-time-interval <MIN> <MAX> 

    Временной интервал в секундах, в течение которого сервер будет находиться в состоянии DEAD. Задаются минимальное <MIN> и максимальное <MAX> значения. По умолчанию <MIN> - 15 секунд, <MAX> - 300 секунд. Допустимые значения <MIN> и <MAX> - от 0 до 65535.

    Принцип использования dead-time-interval

    После отсутствия ответа RADIUS-сервера на <NUMBER> запросов (параметр request-max-tries), ранее отмеченного как ACTIVE, такой сервер помечается как DEAD на период <MIN>, и роутер, посылающий запросы, перенаправляет их на резервный RADIUS-сервер внутри группы. По окончании этого интервала запросы будут вновь посланы на ставший неактивным RADIUS-сервер. Если он ответит, то вновь станет ACTIVE.

    Если RADIUS-сервер не ответит, то останется помеченным как DEAD. Интервал для такого его состояния будет увеличен на <MIN> (то есть после первой неудачной попытки интервал составит <MIN>, после второй - 2*<MIN>, после третьей - 3*<MIN> и т.д.). Так будет продолжаться до того момента, пока интервал назначения отметки DEAD не достигнет значения <MAX>. После этого попытки обращения к такому RADIUS-серверу будут делаться раз в интервал <MAX> до первого успешного перехода RADIUS-сервера в состояние ACTIVE.

    Если <MAX> не кратен <MIN>, то интервал станет равным <MAX> после первого его превышения в результате увеличения на очередной <MIN>

    Настройка формата атрибута Calling-Station-Id
    attribute mac default
    Использовать формат по умолчанию. Имеет вид - XXXX.XXXX.XXXX
    attribute mac ietf
    Использовать формат IETF. Имеет вид - XX-XX-XX-XX-XX-XX
    attribute mac unformatted
    Использовать формат без разделителей. Имеет вид - XXXXXXXXXXXX
    Настройка формата атрибута Nas-Port
    attribute nas-port default

    Использовать комбинацию VLAN: сервисного и клиентского

    attribute nas-port session-id
    Использовать идентификатор сессии
    Настройка формата атрибута username
    attribute username format <>

    Формат атрибута username. Возможные значения:

    • default - по умолчанмию используется username = mac address,
    • любая комбинация из полей: cvlan, interface, ip, mac, svlan.

    Разделитель для этих полей - символ '-'.

    Атрибут модифицируется только для IPoE абонентов

    Настройка подсчета трафика по сессии

    attribute accounting direction port
    Направление трафика относительно порта маршрутизатора
    attribute accounting direction subscriber
    Направление трафика относительно пользователя

    Настройка параметров отдельного сервера в группе

    Для настройки параметров RADIUS-сервера в группе используется следующая команда контекстного конфигурационного режима (config-radius-group):

    server A.B.C.D secret <WORD> [priority <0-65535> | vrf <VRF> | source A.B.C.D | auth-port <1-65535> | acct-port <1-65535> | coa-listen-port <1-65535>]

    IP-адрес и секретный ключ - обязательные параметры. Остальные параметры не являются обязательными и могут быть заданы в любом порядке. Если при вызове команды указан IP-адрес существующего RADIUS-сервера, то будут изменены его параметры. Иначе будет создан RADIUS-сервер с указанным IP-адресом.

    Параметры команды описаны в таблице ниже.

    ПараметрОписание
    server A.B.C.D
    IP-адрес RADIUS-сервера
    secret <WORD>
    Значение атрибута secret (по умолчанию не задан)
    priority <0-65535>
    Приоритет RADIUS-сервера (актуально для режима active/standby). Чем меньше значение, тем выше приоритет
    vrf <VRF>
    Имя VRF, в котором задан IP-адрес RADIUS-сервера (значение по умолчанию - VRF текущего виртуального маршрутизатора)
    source A.B.C.D
    IP-адрес, который будет указан в качестве адреса источника в пакете запроса (по умолчанию - адрес интерфейса, с которого уходит запрос)
    auth-port <1-65535>
    Порт для запросов аутентификации (значение по умолчанию 1812)
    acct-port <1-65535>
    Порт для запросов аккаунтинга (значение по умолчанию 1813)
    coa-listen-port <1-65535>
    Порт, на основе которого на BRAS будет открыт сокет для обработки coa и disconnect запросов.

    Для удаления RADIUS-сервера из группы используется команда контекстного конфигурационного режима (config-radius-group) no server A.B.C.D [vrf <VRF>].

    Пример:

    ecorouter(config)#radius-group test
    ecorouter(config-radius-group)#server 3.3.3.2 secret 12121212
    ecorouter(config-radius-group)#server 3.3.3.4 secret dsfsfsf
    ecorouter(config-radius-group)#mode active-standby
    ecorouter(config-radius-group)#description ABRACADABRA
    ?corouter(config-radius-group)#
    RADIUS group commands:
    dead-time-interval  Specify a RADIUS servers dead time interval
    description Redirect URL description
    exit Exit from the current mode to the previous mode
    help Description of the interactive help system
    mode Specify a RADIUS group mode
    no Negate a command or set its defaults
    request-max-tries Specify a RADIUS servers max number of tries to
    retransmit a request
    request-timeout     Specify a RADIUS servers response waiting time
    server Specify a RADIUS server
    show Show running system information
    ecorouter(config-radius-group)#server 3.3.3.3 vrf test source 12121212    

    Соответствующий фрагмент конфигурации будет иметь следующий вид:

    !
    radius-group test
    description ABRACADABRA
    mode active-standby
    dead-time-interval 15 300
    request-max-tries 3
    request-timeout 3
    server 3.3.3.2 secret 12121212 priority 10
    server 3.3.3.4 secret dsfsfsf priority 20
    server 3.3.3.3 secret fsfd priority 30 vrf test source 12121212
    !