我倾向于使用 freeradius radiusclient 库,但它与之前为该radiusclient-ng库开发的代码基本相同,但dictionary文件格式相同,并且不支持BEGIN-VENDOR...END-VENDOR语法,因此您必须使用稍微不同的格式。
供应商特定属性的一般格式在 RFC 中规定为:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Vendor-Id
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Vendor-Id (cont) | Vendor type | Vendor length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Attribute-Specific...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
这意味着它仅支持来自0-的供应商类型255。大数字 ( > 255) 的使用旨在供内部服务器使用,并且不能作为属性 ID 号使用的可接受值(即7777,7778对于预期的供应商类型来说太大了)。
您已经使用以下行定义了您的供应商:
VENDOR EC 20000
现在您需要使用以下格式指定 VSA:
ATTRIBUTE abc1 7 string vendor=EC
ATTRIBUTE abc2 8 string vendor=EC
Vendor type这分别用 a of7和指定它们8。
如果您引用了正确的字典文件,那么属性就可以使用并且可以传入:
./radiusclient -f /etc/radiusclient-ng/radiusclient.conf User-Name=aaa abc1=aaaaaa abc2=bbbbb