在 FreeRADIUS 中使用 python

在 FreeRADIUS 中使用 python

似乎缺少文档有关如何使用 FreeRADIUS 中的 python 模块。

我想使用 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 "%"

为 FreeRADIUS 创建 python 模块的正确方法是什么?

编辑:

我发现我可以这样做:

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

答案1

正确的方法是不加引号:

Framed-IP-Address := `/usr/bin/python /path/python-script -m %{Calling-Station-Id}`

在上面的例子中,我在 周围加上了引号%{Calling-Station-Id}

相关内容