Я пытаюсь использовать rlm_python для аутентификации клиента с моей серверной частью.
Проблема в том, что, похоже, я не мог использовать разные модули для разных виртуальных серверов, и это приводит к тому, что моя угроза аутентификации поддерживает все запросы аутентификации в качестве виртуального сервера по умолчанию.
Итак, вопрос: Есть ли способ передать переменную модулю, чтобы сообщить текущий адрес порта виртуального сервера?
Например что-то вроде этого:
update control {
Auth-Type := `/usr/bin/python /etc/test.py '%{User-Name}' '%{User-Password}' '#{virtual-server}'`
}
Вы можете использовать% {Packet-Dst-Port}, который будет расширяться до порта назначения в полученном пакете UDP.
Чтобы получить к нему доступ в модуле rlm_python, вам нужно сделать что-то вроде:
update request {
Packet-Dst-Port := "%{Packet-Dst-Port}"
}
python
Сначала преобразовать его в настоящий атрибут.