Пересылка RADIUS-запросов
Иногда есть необходимость пересылать RADIUS Access/Accounting пакеты на сторонний сервер, например, на устройство СОРМ, для корректной его работы. Для дублирования полученных RADIUS-запросов на сторонний сервер в конфигурации устройства или типа устройства-NAS'а следует указать (также можно указать в конфигурации корневого устройства):
# хост, на который будут ретранслироваться пакеты-запросы, единственный обязательный параметр для включения функционала
radius.forward.host=<host>
# хост, на который будут ретранслироваться пакеты-ответы
radius.answer.forward.host=<host>
# порт, на который будут ретранслироваться пакеты-запросы, по умолчанию равен 1813
radius.forward.port=<port>
# порт, на который будут ретранслироваться пакеты-ответы
radius.answer.forward.port=<port>
# RADIUS-секрет, которым будет подписан пакет, по умолчанию берётся секрет NASа
radius.forward.secret=<secret>
# префикс к значению атрибута User-Name из accounting-пакета, если не указан - префикс не добавляется
radius.forward.user.name.prefix=<prefix>
# суффикс к значению атрибута User-Name из accounting-пакета, если не указан - суффикс не добавляется
radius.forward.user.name.suffix=<suffix>
# шаблон значения атрибута User-Name. Возможные значения:
# 1) $contractTitle - User-Name будет заменен на номер договора
# 2) $contractId - User-Name будет заменен на id договора из таблицы contract
# Для корректной работы данного механизма должен быть указан параметр radius.forward.after.process=1, т.к. номер договора будет известен только после обработки
#radius.forward.user.name.pattern=$contractTitle
# Размер очереди radius-пакетов для пересылки. По умолчанию равно 500. В случае переполнения данной очереди пакет будет проигнорирован.
#radius.forward.maxQueueSize=500
Данные параметры (если необходимы) нужно указывать в конфигурации модуля:
# если указано, отправка происходит после предобработки (по умолчанию - перед предобработкой)
#radius.forward.after.preprocess=0
# если указано, отправка происходит после обработки
#radius.forward.after.process=0
# если указано, то будут отправляться access-запросы после их обработки приложением.
#radius.forward.access.request=0
Где:
<host> - хост, на который будут ретранслироваться пакеты, единственный обязательный параметр для включения функционала;
<port> - порт, на который будут ретранслироваться пакеты, по умолчанию равен 1813;
<secret> - RADIUS-секрет, которым будет подписан пакет, по умолчанию берётся секрет NASа;
<prefix> - префикс к значению атрибута User-Name из аккаунтинг пакета, если не указан - префикс не добавляется;
<suffix> - суффикс к значению атрибута User-Name из аккаунтинг пакет, если не указан - суффикс не добавляется.
Суффикс и префикс могут быть полезны при необходимости ретранслирования пакетов с нескольких InetAccounting с пересекающимися логинами на единый сервер.
Например:
radius.forward.host=bitel.ru
radius.forward.port=
4444
radius.forward.secret=
4343
radius.forward.user.name.prefix=test_
radius.forward.user.name.suffix=_forv
Пример с подстановкой номера договора в атрибут User-Name, в конфигурации модуля:
radius.forward.after.process=
1
В конфигурации типа устройства-NAS'а:
radius.forward.host=bitel.ru
radius.forward.port=
4444
radius.forward.secret=
4343
radius.forward.user.name.prefix=test_
radius.forward.user.name.suffix=_forv
radius.forward.user.name.pattern=
$contractTitle