在 FreeRadius 中配置 rlm_rest 模块用于记账

在 FreeRadius 中配置 rlm_rest 模块用于记账

我从自由半径 2自由半径 3并将一些集成点从更改sqlrest模块。

事实上我有两个会计点:accounting_start_queryaccounting_start_query,它们是对程序的调用。

现在,我需要accounting在 rlm_rest 模块中配置 FreeRadius。

代码没有提到启动/停止操作。我应该同时实现这两个操作吗?

有人能帮我吗 ?

答案1

rlm_rest被设计为 AVP 的传输,它实际上并不以相同的方式实现会话管理逻辑rlm_sql

rlm_sql遇到尚未开始的临时情况时,它会自动为该会话创建一个记录。

所有rlm_rest这些逻辑都取决于您调用的其余 API。所有rlm_rest要做的就是序列化 FreeRADIUS 收到的属性,Access-request并将它们发送到 API 端点。

是否对开始/中间/停止数据包使用不同的端点取决于您。如果您愿意,可以使用%{Acct-Status-Type}URL 字符串中的扩展来获取数据包的类型。

从高层次来看,RADIUS 计费实际上并不能完美地映射到 RESTfull 设计。您不知道是否需要PUTPOST请求,因为您不知道是要创建对象还是更新现有对象。

最强大的设计是使用单个端点作为%{Acct-Unique-Session-ID}对象标识符,交替接受PUTPOST方法,并执行 REST 等效的“upserts”,忽略Event-Timestamp比上次接收的更旧的请求Event-Timestamp

相关内容