我有一个 freeradius 设置,用于为无线网络上的用户提供身份验证。
接入点都是 Mikrotik 硬件,用户全天候连接。
我们一直在使用带有 mysql 和 freeradius 2 的 Daloradius。老板想要使用会计信息,虽然这一切都设置好了并且似乎可以正常工作,但我发现并非所有的会计信息都存在。
由于我们的用户每次连接的时间可能超过 24 小时,因此我们将此信息保存在这里,它会每天重置一些属性,以便会计数据包正常工作。
于是他开始浏览这个链接: http://wiki.mikrotik.com/wiki/RouterOs_MySql_Freeradius#Configuring_RouterOs_for_Radius_.26_PPP.2A_AAA
并特别关注以下部分。
由于我们的用户可能一次连接超过 24 小时,因此我们将此信息保存在此处,它将每天重置一些属性,以便会计数据包正常工作
always fail {
rcode = fail
}
always reject {
rcode = reject
}
always ok {
rcode = ok
simulcount = 0
mpp = no
}
但是,该链接引用了 freeradius 1,而我在 freeradius 2 的 radius.conf 文件中找不到它。它起什么作用,这可能是我缺少数据的原因吗?
编辑:我发现了一个问题。我们有一个备份 freeradius 服务器,它也在接收计费数据包。虽然它们正在复制,但这只是主/从配置。如果从服务器收到计费数据包,它不会将它们复制回主服务器。
虽然我怀疑这也许能解决问题,但老板并不相信这个模块。我需要在 mikrotik AP 或 freeradius 2 中为全天候连接的客户端配置什么特殊功能吗?
答案1
我查看了您提供的 URL,发现这是一种有趣的做法。在依赖该示例之前,我会认真考虑这个例子可能已经过时了。
在我们的 FreeRadius 实现中,我们通过在 Radius 数据库中设置超时来解决会计更新问题。我们通过设置Attribute
“会话超时” op
"="和Value
“86400”在radgroupreply
表格中。
这样做的效果是每 24 小时让用户“超时”。大多数 PPPoE 客户端(包括 ADSL 和 MikroTik 路由器)都经过编程,可以立即重新连接。这通常是 MikroTik 客户端路由器上的一个瞬间操作,理论上不会造成太大的破坏。但我的测试表明,它实际上可能会破坏某些 TCP/IP 操作,例如下载。
interim
但是,如果您的更新失败或方法中断,我们使用的方法似乎非常可靠并且是一种很好的故障转移方法disconnect
。