freeradius-server能否读取数据库某个值,告诉客户端

发布于 2022-09-09 23:36:38 字数 297 浏览 10 评论 7

刚学习freeradius,遇到一个问题,一直弄不明白。
问题是这样的:
假如我要在服务端读取数据库,判断某个特定的用户已经超过使用时间(或者是没钱了),这个时候告诉客户端(NAS),客户端控制断开连接,
不让用户接入网络。
不知道这样的功能需求能否做到,就是服务端主动发消息告诉NAS。看来看去的,好像都是NAX请求,然后服务器回复,没有服务器主动发消息给NAS的。
希望得到帮助,非常感谢!我的邮箱iamhycljc@163.com,希望可以一起交流!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

倥絔 2022-09-12 07:00:44

不对吧。计费结束请求肯定是用户断开后发的。但是计费的报文是很频繁的发送的。

你假设个情况:如果用户因某种原因掉线了。而NAS还不知道。或者是NAS和AAA的通讯中断了,哪么AAA岂不是要永久的计费了呢?

—━☆沉默づ 2022-09-12 07:00:29

NAS发送计费报文是很频繁的,大约每秒都发送。

要在服务端读取数据库,判断某个特定的用户已经超过使用时 ...
ssffzz1 发表于 2010-12-01 16:14

    我仔细看了一下协议,不是你说的那样的,是NAS发送计费请求,服务器确定以后,得NAS自己计时的,等用户断开连接后,才向服务器发送计费结束消息,服务器只要知道开始与结束时间,根据计费唯一的标识,就可以知道时长,这样进行计费的,而不是你说的,几乎是每时每刻进行计费。那样,服务器哪里能承受得了。

月野兔 2022-09-12 06:45:42

NAS发送计费报文是很频繁的,大约每秒都发送。

要在服务端读取数据库,判断某个特定的用户已经超过使用时间(或者是没钱了),这个时候告诉客户端(NAS),客户端控制断开连接

你的这个需求可以满足啊。

你想如果你NAS不发送计费报文,我如何知道这个用户是否在线呢??? 我不知道他在线也就无法判断他的在线时间,也就无法计费了。

我见过的计费都是这么控制的。只是我不太确定那个计费拒绝报文是公共的还是私有的。我感觉应该是公共的标准。

滥情稳全场 2022-09-12 06:09:36

记得AAA,在收到计费报文的时候可以发送一个拒绝的报文给NAS的,这样NAS就把那个用户踢下去了。

有点忘记 ...
ssffzz1 发表于 2010-12-01 12:11

那也是在请求计费的时候才能做到,可是现在是需要在接入以后,或者是通话中进行控制的,是实时的,而不是只在计费开始的时候判断。
举个例子,当你打电话的时候,电话接通以后,发现你的话费已经用完了,这个时候,你在服务器得主动挂断电话,如果你在连接的时候判断,那就不符合了。

你如我软肋 2022-09-12 05:58:12

记得AAA,在收到计费报文的时候可以发送一个拒绝的报文给NAS的,这样NAS就把那个用户踢下去了。

有点忘记了,你再读一下AAA的协议规范。

虚拟世界 2022-09-11 21:05:20

真的是没人研究这个东西的,郁闷!!!!

昵称有卵用 2022-09-11 11:36:17

对了,在论坛里找了一下,有人提出类似的问题,他想要实现的是通过限制一个日期,超过日期就过期了,在认证用户名密码的时候处理,超过日期后,就认证失败了。
可是我想要的是实时的,就是在使用过程中已经超出费用了,想马上终止上网或者是呼叫等。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文