我正在尝试加载Debian Squeeze随附的词典。不幸的是,radius-client库在包含以下文件的某些文件上失败:

rc_read_dictionary: unknown Vendor-Id encrypt=1 on line 7 of dictionary /usr/share/freeradius/dictionary.compat


该行是

ATTRIBUTE       Password                                2       string  encrypt=1


Freeradius是从软件包中安装的,因此我认为这应该可以正常工作...这可能是什么问题?

最佳答案

答案较晚,但仍然可以帮助其他人,我被一个相关问题所困扰。

由于尝试使用为FreeRADIUS服务器设计的字典文件,您遇到了该错误。客户端库“ freeradius-client”与该格式不是100%兼容。具体来说,在您的情况下,它无法处理属性的encrypt=1属性。

关于未知的Vendor-Id的抱怨的原因是FreeRADIUS服务器与freeradius-client库之间的另一种不兼容。 FreeRADIUS服务器需要具有供应商特定属性(VSA)的字典文件,如下所示:

VENDOR        Cisco           9
BEGIN-VENDOR  Cisco
ATTRIBUTE     Cisco-AVPair    1  string
ATTRIBUTE     Cisco-NAS-Port  2  string
...
END-VENDOR    Cisco


但是,freeradius-client库只能解析以下格式的VSA:

VENDOR        Cisco           9
ATTRIBUTE     Cisco-AVPair    1  string  vendor=Cisco
ATTRIBUTE     Cisco-NAS-Port  2  string  vendor=Cisco


对于FreeRADIUS服务器v2.1.x和freeradius-client v1.1.6来说,以上情况是正确的。

10-07 18:41