Назад | Перейти на главную страницу

Использование python в FreeRADIUS

Кажется, что документации не хватает о том, как использовать модуль 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}.