Любая строка, которая передается из предобработки RADIUS-запроса. Т.е. универсальное поле.
При RADIUS Access-Request можно также использовать MAC-адрес, чтобы авторизовывать запросы только с
определенным MAC-адресом. MAC-адрес из Access-Request пакета устанавливается в Обработчике процессора
протокола, в методе preprocessAccessRequest: request.setOption( InetRadiusProcessor.MAC_ADDRESS, macAddress ).
Стандартные обработчики процессора протокола, поставляемые с модулем уже реализуют этот функционал, нужно
только прописать в конфигурации устройства или типа устройства:
Код:
# Вендор атрибута, где хранится MAC-адрес
radius.macAddress.vendor=-1
# Код атрибута, где хранится MAC-адрес
radius.macAddress.type=31
# Префикс атрибута (если есть), где хранится MAC-адрес. Например, для cisco avpair
#radius.macAddress.prefix=client-mac-address=
Или:
Код:
# Вендор атрибута, где хранится MAC-адрес
radius.macAddress.vendor=9
# Код атрибута, где хранится MAC-адрес
radius.macAddress.type=1
# Префикс атрибута (если есть), где хранится MAC-адрес. Например, для cisco avpair
radius.macAddress.prefix=client-mac-address=
Таким образом, при извлечении MAC-адреса из RADIUS-пакета, он будет сравнен с MAC-адресом из
аутентифицированного сервиса при условии, что в этом сервисе заведен MAC-адрес.
Для автоматического привязывания MAC-адреса к сервису в конфигурации модуля/типа сервиса/устройства/типа устройства можно прописать:
Код:
# Нужно ли автоматически проставлять в сервис MAC-адрес, если его еще нет.
# Можно указать в конфигурации модуля, конфигурации устройства, конфигурации типа сервиса.
# 0 - не привязывать, 1 - привязывать, если поле сервиса пустое, 2 - перетирать новым значением, 3 - добавлять
# (в последних двух случаях отказа в авторизации по MAC-адресу не будет)
serv.macAddress.auto=1
Таким образом при первой удачной авторизации MAC-адрес будет привязан к сервису и с другим MAC-адресом
клиент уже не сможет авторизоваться.
Аналогично MAC-адресу можно использовать поле Идентификатор сервиса. Например, в качестве идентификатора
использовать значение атрибута Calling-Station-Id, устанавливая в Обработчике процессора протокола, в методе
preprocessAccessRequest: request.setOption( InetRadiusProcessor.IDENTIFIER, callingStationId ).
Для автоматического привязывания идентификатора к сервису в конфигурации модуля/типа сервиса/устройства/типа устройства можно прописать:
Код:
# Нужно ли автоматически проставлять в сервис идентификатор, если его еще нет.
# Можно указать в конфигурации модуля, конфигурации устройства, конфигурации типа сервиса.
# 0 - не привязывать, 1 - привязывать, если поле сервиса пустое, 2 - перетирать новым значением, 3 - добавлять
# (в последних двух случаях отказа в авторизации по идентификатору не будет)
serv.identifier.auto=1