RADIUS 计费是什么
RADIUS 把网络接入拆成认证(RFC 2865)与计费(RFC 2866)两条通道,计费通道独立运行:NAS(AC、交换机、认证网关)在会话建立、周期上报与会话结束时向服务器发送 Accounting-Request,服务器回 Accounting-Response 才算记账成功。认证走 UDP 1812、计费走 UDP 1813,共用同一共享密钥但各自独立,所以「能上网却没有记录」通常出在计费链路,而不是账号本身。
基本信息
| 协议端口 | UDP 1813(计费),与认证的 1812 分开 |
|---|---|
| 报文类型 | Start 会话开始 / Interim-Update 周期上报 / Stop 会话结束 |
| 关键字段 | Acct-Session-Id、Acct-Input/Output-Octets、Acct-Session-Time |
| 发起方向 | NAS 单向发起,服务器只做应答与存储 |
| 周期控制 | 由服务器下发的 Acct-Interim-Interval 决定,不是 NAS 本地设定 |
| 常见承载 | 华为/思科/华三 AC、接入交换机、认证网关 |
典型使用场景
- 上网审计:按账号回溯谁在什么时间、从哪个 NAS 端口上网
- 在线终端查询:Interim-Update 提供准实时会话状态,不必等 Stop 报文
- 容量分析:按 SSID、AP、时段统计上下行流量,为扩容与限速定档
- 时长统计:宿舍、酒店、园区按在线时长出账
- 异常发现:单会话流量畸高或会话数异常增长的终端优先复查
- 合规取证:与准入日志互为佐证,支撑安全事件回溯
配置与验证要点
配置与验证要点
# 1) 服务器下发中间计费周期(FreeRADIUS 示例,300 秒上报一次)
Acct-Interim-Interval = 300
# 2) NAS 侧指定计费服务器与共享密钥(命令随厂商版本不同)
radius accounting server 10.10.0.20 shared-key ******
# 3) 核对同一会话是否收齐 Start / Interim / Stop 三种报文
# 4) 按用户名与时间过滤服务器日志或 radacct 表做单次验证计费字段读法
| 字段 | 含义 | 正常/异常表现 |
|---|---|---|
| Acct-Session-Id | 一次会话的唯一编号 | 同一会话各阶段应同号,不同号说明被重复记账 |
| Acct-Session-Time | 会话已持续秒数 | Interim 报文中应递增,长时间不变说明上报中断 |
| Input/Output-Octets | 上行与下行字节数 | 两个方向长期为 0,多为 NAS 未开启流量统计 |
| Acct-Status-Type | 报文阶段标识 | 缺 Stop 的会话会长期挂在在线列表,需超时清理 |
| Terminate-Cause | 会话结束原因 | 大量异常原因指向终端掉线、漫游或认证重放 |
计费基于 UDP,丢包不重传,报文丢失就是永久缺失。审计要求严格的场景要定期核对 NAS 的上报成功率,而不是只看服务器里有没有记录。
排障顺序:先确认 NAS 计费配置与共享密钥 → 抓包看 1813 是否有请求 → 再看服务器是否应答。只有请求已到达却不返回 Accounting-Response,才需要查服务端策略。