Иногда есть необходимость пересылать RADIUS Access/Accounting пакеты на сторонний сервер, например, на устройство СОРМ, для корректной его работы. Для дублирования полученных RADIUS-запросов на сторонний сервер в В BGBilling есть возможность осуществлять пересылку Radius-пакетов (как запросов, так и ответов) во внешние системы. Это бывает необходимо для реализации зеркалирования radius-трафика на сервера СОРМ. Для каждого типа пакета можно задать отдельные настройки пересылки. В конфигурации устройства или типа устройства -NAS'а следует указать можете указать следующие опции (также их можно указать в конфигурации корневого устройства):
Блок кода | ||
---|---|---|
| ||
# хост#хост, на который будут ретранслироватьсязеркалироваться пакетыaccounting-запросы (start, единственныйstop, обязательныйupdate) параметр#устаревшим длявариантом включенияданной функционалаопции является опция radius.forward.host=<host> # хостradius.forward.accounting.request.host=<host> #порт, на который будут ретранслироватьсязеркалироваться пакетыaccounting-ответы radius.answer.forward.host=<host> # порт, запросы (start, stop, update). По-умолчанию 1813 #устаревшим вариантом данной опции является опция radius.forward.port=<port> radius.forward.accounting.request.port=<port> #исходящий порт, с которого будут зеркалироваться accounting-запросы (start, stop, update). Если опция не задана, то возьмется любой свободный порт в системе radius.forward.accounting.request.source.port=<source_port> #хост, на который будут зеркалироваться accounting-ответы radius.forward.accounting.response.host=<host> #порт, на который будут зеркалироваться accounting-ответы radius.forward.accounting.response.port=<port> #исходящий порт, с которого будут зеркалироваться accounting-ответы. Если опция не задана, то возьмется любой свободный порт в системе radius.forward.accounting.response.source.port=<source_port> #хост, на который будут ретранслироватьсязеркалироваться пакетыaccess-запросы radius.forward.access.request.host=<host> #порт, пона умолчаниюкоторый равенбудут 1813зеркалироваться access-запросы radius.forward.access.request.port=<port> ##исходящий порт, с которого будут зеркалироваться access-запросы. Если опция не задана, то возьмется любой свободный порт в системе radius.forward.access.request.source.port=<source_port> #хост, на который будут ретранслироватьсязеркалироваться пакетыaccess-ответы #устаревшим вариантом данной опции является опция radius.answer.forward.host=<host> radius.forward.access.response.host=<host> #порт, на который будут зеркалироваться access-ответы #устаревшим вариантом данной опции является опция radius.answer.forward.port=<port> radius.forward.access.response.port=<port> #исходящий порт, с которого будут зеркалироваться access-ответы. Если опция не задана, то возьмется любой свободный порт в системе radius.forward.access.response.source.port=<source_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 # 3) $servId - id сервиса модуля Inet. # Для корректной работы данного механизма должен быть указан параметр radius.forward.after.process=1, т.к. номер договора будет известен только после обработки #radius.forward.user.name.pattern=$contractTitle # Размер очереди radius-пакетов для пересылки. По умолчанию равно 500. В случае переполнения данной очереди пакет будет проигнорирован. #radius.forward.maxQueueSize=500 |
Данные параметры (если необходимы) нужно указывать в конфигурации модуля:
...