在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创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}