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