似乎缺少文档有关如何使用 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}
。