我使用的freeradius版本是2.2.8。
我需要回复项的新属性。因此,在“ / etc / freeradius / dictionary”上添加了两个ATTRIBUTE。
ATTRIBUTE Private-Access-Level 3100 string
ATTRIBUTE Private-Access-Switch 3100 string
然后,编辑/ etc / freeradius / users进行测试。
test Cleartext-Password := "test"
Service-Type = Framed-User,
Private-Access-Level = "userlevel1",
Framed-IP-Address = 1.1.1.1,
Private-Access-Switch = "testRouter",
Framed-Routing = Broadcast-Listen
但是,通过Wireshark捕获的回复数据包中未包含Private-xxx属性。
我不想使用VSA。可以建议一下吗?请
答案 0 :(得分:0)
属性名称映射到必须适合RADIUS数据包的数字。该属性只有一个字节可用,因此“在线”上的数字只能是0-255。由于存在这一严重限制,因此将属性26用作“供应商特定”属性(VSA),以允许扩展空间。
因此您需要使用VSA或1-255范围内的属性。但是,标准范围内的属性在RFC和IETF中严格定义。在RFC2865:192-240中保留了一个较小范围供实验使用,可以在专用系统中使用。 VSA属性由拥有相关私营企业编号的组织定义。
本质上,属性号3100太高,因此将永远无法编码为数据包并通过网络发送。 FreeRADIUS dictionary
文件中的文档说明了这一点-它只能用于内部目的。
但是,一般来说,您不能只是“弥补”属性。 NAS将具有它知道并且希望在RADIUS答复中看到的已定义属性,并且将忽略所有其他属性。因此,您需要阅读NAS文档以找出可以发送哪些属性,并仅发送那些属性。
顺便说一句,您还定义了两个具有相同编号的属性。您需要为不同的属性使用不同的数字。