我正在尝试加载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来说,以上情况是正确的。