似乎有文档缺乏如何在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创build一个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
正确的方法是不引号:
Framed-IP-Address := `/usr/bin/python /path/python-script -m %{Calling-Station-Id}`
在上面的例子中,我引用了%{Calling-Station-Id} 。