Группы 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-сервер из группы. Данные команды и параметры описаны в таблице ниже.

Таблица — Команды контекстного режима (config-radius-group)#

Команда/параметрОписание
description <TEXT>Задание описания группы RADIUS-серверов. - строка описания
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 × 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

ПараметрОписание
server A.B.C.DIP-адрес RADIUS-сервера
secret <WORD>Значение атрибута secret (по умолчанию не задан)
priority <0-65535>Приоритет RADIUS-сервера (актуально для режима active/standby). Чем меньше значение, тем выше приоритет
vrf <VRF>Имя VRF, в котором задан IP-адрес RADIUS-сервера (значение по умолчанию — VRF текущего виртуального маршрутизатора)
source A.B.C.DIP-адрес, который будет указан в качестве адреса источника в пакете запроса (по умолчанию — адрес интерфейса, с которого уходит запрос)
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
ecorouter(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
!