Кажется, что документации не хватает о том, как использовать модуль python в FreeRADIUS.
Я хочу использовать python для интерпретации MAC-адреса (в% {Calling-Station-ID}) и возврата IP-адреса.
В моем sites-enabled/default
У меня есть:
accounting {
...
python
update request {
Framed-IP-Address := "%{python:/path/python-script -m %{Calling-Station-ID}}"
}
Это возвращает:
WARNING: Unknown module "python" in string expansion "%"
Как правильно создать модуль Python для FreeRADIUS?
РЕДАКТИРОВАТЬ:
Я узнал, что умею:
Framed-IP-Address := `/usr/bin/python /path/python-script -m "%{Calling-Station-Id}"`
Это возвращает следующее:
+- entering group accounting {...}
expand: "%{Calling-Station-Id}" -> "XX-XX-XX-XX-XX-XX"
Exec-Program output: None
Exec-Program-Wait: plaintext: None
Exec-Program: returned: 0
ERROR: Failed parsing value "None" for attribute Framed-IP-Address: Failed to find IP address for None
++[reply] returns fail
Правильный способ - без кавычек:
Framed-IP-Address := `/usr/bin/python /path/python-script -m %{Calling-Station-Id}`
В моих примерах выше я цитировал %{Calling-Station-Id}
.