我倾向于使用 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