FreeRadius:无法从Disconnect请求中删除不需要的属性



我正在努力从rest模块发生故障后发出的断开连接消息中删除一些不需要的属性。

更具体地说,在会计模式中,当我收到会计请求时,我要么返回会计响应或DisconnectRequest,具体取决于REST交互中返回的HTTP状态。这两种情况都能正常工作,唯一的问题是断开连接消息还包含这些困扰NAS的属性(它们导致NAS返回NAK(:

NAS-Port
Teardown-Indicator (as 3GPP VSA)

请求中不存在这些属性。如果是,我可以很容易地删除它们,这也会影响生成的断开连接。但显然,这些属性是在我无法控制的某个时刻添加的。">更新断开连接{…}";没有效果,因为我想它只与收到的消息相关(从文档中不清楚(。

我知道discenct属于不同的连接,所以它不能通过篡改"回复"或freeradius提供给我的任何变量来关联和处理。尽管如此,我还是迫切需要以某种方式解决这个问题,因为我无法控制NAS本身。

配置详细信息:

mod休息:

accounting {
uri = "http://x.x.x.x:yyyy/..."
method = 'post'
body = 'json'
tls = ${..tls}
}

站点默认值:

accounting {
rest
# this has no effect (same if placed inside rest {...}):
update disconnect {
NAS-Port !* ANY
Teardown-Indicator !* ANY
}
}

radius-X写这些:

(0) rest: Sending HTTP POST to "http://x.x.x.x:yyyy/..."
(0) rest: Encoding attribute "User-Name"
(0) rest: Encoding attribute "Framed-IP-Address"
(0) rest: Encoding attribute "Acct-Status-Type"
(0) rest: Encoding attribute "Acct-Session-Id"
(0) rest: Processing response header
(0) rest:   Status : 503 (Service Unavailable)
(0) rest: ERROR: Server returned no data
rlm_rest (rest): Released connection (0)
Need 5 more connections to reach 10 spares
rlm_rest (rest): Opening additional connection (5), 1 of 27 pending slots used
rlm_rest (rest): Skipping pre-connect, connect_uri not specified
(0)     [rest] = fail
(0)   } # accounting = fail
(0) WARNING: Unknown destination 127.0.0.1:3799 for CoA request.
(0) Not sending reply to client.
(0) Finished request

REST工作正常,在这种特殊情况下,503是意料之中的事。我看不出有什么问题(错误和警告并不令人惊讶(

我想知道是否有办法说服freeradius不要添加这些顽皮的属性,或者给我机会删除它们?

最终我澄清了断开连接的工作方式。Freeradius本身并没有添加任何属性;所有这些都是可配置的。在我的案例中,断开连接是由另一个"魔法"元素产生的,我无法访问它,也忽略了它的存在。所有的"更新"或"过滤器"配置都应该正常工作,但在我的情况下,我还需要设置原始coa和home_server位,但我没有设置。如果我尝试它,我会发布一个更新来解释它是如何完成的。

最新更新