如何使用RADIUS在回复数据包上添加新属性?

时间:2019-07-01 05:56:16

标签: attributes freeradius

我使用的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。可以建议一下吗?请

1 个答案:

答案 0 :(得分:0)

属性名称映射到必须适合RADIUS数据包的数字。该属性只有一个字节可用,因此“在线”上的数字只能是0-255。由于存在这一严重限制,因此将属性26用作“供应商特定”属性(VSA),以允许扩展空间。

因此您需要使用VSA或1-255范围内的属性。但是,标准范围内的属性在RFC和IETF中严格定义。在RFC2865:192-240中保留了一个较小范围供实验使用,可以在专用系统中使用。 VSA属性由拥有相关私营企业编号的组织定义。

本质上,属性号3100太高,因此将永远无法编码为数据包并通过网络发送。 FreeRADIUS dictionary文件中的文档说明了这一点-它只能用于内部目的。

但是,一般来说,您不能只是“弥补”属性。 NAS将具有它知道并且希望在RADIUS答复中看到的已定义属性,并且将忽略所有其他属性。因此,您需要阅读NAS文档以找出可以发送哪些属性,并仅发送那些属性。

顺便说一句,您还定义了两个具有相同编号的属性。您需要为不同的属性使用不同的数字。