我正在寻找一种网络AAA(身份验证,授权,计费)协议,用于管理从一个帐户访问的并发网络资源。比如,一个帐户由两个用户同时登录,如何在两个用户之间分配帐户的会话超时?
答案 0 :(得分:1)
我假设您不是在寻找电信公司使用的特定AAA功能,而是在类固醇上使用RADIUS。也许最简单的方法是将类似FreeRADIUS的东西放在类固醇上。
我假设您的特定NAS设备(Wifi集线器,数据包网关等)支持以下RADIUS记录。
当你开始会话时,让FreeRADIUS运行某种开始进入数据库的脚本或日志。这是每个用户的时钟开始。即使用户登录三次,您也会收到启动消息。当他们注销每个会话时,您将获得会话停止。至少,只需运行数据库并计算增量并将会计规则应用于该用户。如果该用户在并发会话中使用10分钟,20分钟和30分钟,您将获得显示10分钟,20分钟和30分钟的停止记录。
这样可行,但它还远远不够。首先,如果会话很长,那么在他们终止之前你不会知道这些会话的时间。那可能是几天后。这是会计记录,特别是临时会计记录的来源。如果您的NAS支持它,您可以告诉它为会话生成临时会计记录,例如每30分钟。因此,如果会话持续30分钟或更短时间,您将获得开始和停止记录。如果会话持续45分钟,你会得到:
0时的开始记录 30时的临时会计更新 时间45的停止记录
这不是你关心的AAA - 任何RADIUS服务器都可能完成这项工作 - FreeRADIUS,OpenRADIUS,Microsoft RADIUS服务器。这是你的NAS设备。如果它无法发送记录,则无法处理它们。