Макросы механизмов фильтрации

Механизмы фильтрации поддерживают использование следующих макросов в текстовом поле:

uc
lc
join
substr
macToEUI48
random_from_range
log
replace
BuildFromMatch

В данной статье описаны макросы и приведены примеры их использования.

uc

Данный макрос применяет верхний регистр к значению атрибута.

Пример:

AxelNAC-UserName = $ {uc ($radius_request.Calling-Station-Id)}

Результат:

Calling-Station-Id = "00:10:7f:38:89:9d" -> AxelNAC-UserName =
"00:10:7F:38:89:9D"

lc

Данный макрос применяет нижний регистр к значению атрибута.

Пример:

AxelNAC-UserName = $ {lc ($radius_request.User-Name)}

Результат:

User-Name = "AXELPRO" -> AxelNAC-UserName = "axelpro"

join

Данный макрос объединяет значение атрибута и значение, указанное после разделителя.

Пример:

AxelNAC-UserName = $ {join (":",$radius_request.User-Name, "pro")}

Результат:

User-Name = "axel" -> AxelNAC-UserName = "axel:pro"

substr

Данный макрос присваивает атрибуту определенное количество символов строки.

Пример:

AxelNAC-UserName = $ {substr ($radius_request.User-Name,0, 3)}

Результат:

User-Name = "AxelUser" -> AxelNAC-UserName = "Axel"

macToEUI48

Данный макрос назначает указанному атрибуту значение MAC-адреса в формате EUI48.

Пример:

AxelNAC-UserName = $ {macToEUI48 ($radius_request.Calling-Station-Id)}

Результат:

Calling-Station-Id = "00:10:7f:38:89:9d" -> AxelNAC-UserName = "00—10-7F-38—89-9D"


random_from_range

Данный макрос присваивает указанному атрибуту случайное целое число в диапазоне, указанном после разделителя.

Пример:

Session-Timeout = $ {random_from_range ("10620..12600")}

Результат:

Session-Timeout = 11343

log

Данный макрос записывает значение указанного атрибута в журнал anac.log, дополненное значением, указанным после разделителя.

Пример:

AxelNAC-UserName = $ {log ($radius_request.User-Name." logged")}

Результат:

User-Name = "axeluser" -> "axeluser logged"

replace

Данный макрос заменяет строку или символ в RADIUS-запросе.

Пример:

AxelNAC-UserName = $ {replace ($radius_request.User-Name, "default", "custom")}

Результат:

User-Name = "defaultuser" -> AxelNAC-UserName = "customuser"

BuildFromMatch

Данный макрос находит значение по регулярному выражению и назначает его указанному атрибуту.

Пример:

TLS-Stripped-UserName = $ {BuildFromMatch ($radius_request.TLS-Client-Cert-Common-Name,"^ [^@]+","$0")}

Результат:

TLS-Client-Cert-Common-Name = "user@axel.pro" -> TLS-Stripped-UserName = "user"


ID статьи: 69
Последнее обновление: 11 июл., 2024
Ревизия: 3
База знаний AxelNAC -> Документация -> Система контроля доступа к сети «AxelNAC». Версия 1.0.0 -> AxelNAC. Руководство администратора -> Механизмы фильтрации -> Макросы механизмов фильтрации
https://docs.axel.pro/makrosy-mehanizmov-fil6tracii_69.html