radtest 是什么
radtest 是 FreeRADIUS 自带的命令行测试工具,用来从一台机器向 RADIUS 服务器发起认证请求,然后打印结果是 Access-Accept、Access-Reject 还是没有任何响应。它的价值在于把「终端连不上」这个复杂问题拆掉一层:先证明服务器、共享密钥、账号这三件事是否正常,再去查无线侧与后端目录。排障时先跑一次 radtest,往往能省掉大量猜测。
基本信息
| 所属软件 | FreeRADIUS(多数发行版的 freeradius-utils 包中) |
|---|---|
| 适用平台 | Linux / Unix 命令行 |
| 协议端口 | 默认认证 UDP 1812 |
| 输出结果 | Access-Accept 通过 / Access-Reject 拒绝 / 无响应 |
| 使用前提 | 知道服务器地址、共享密钥与一个测试账号 |
基本用法
基本用法
# 语法:radtest 用户名 口令 服务器 端口 共享密钥
radtest test01 'Passw0rd!' 127.0.0.1 0 testing123
# 指定 NAS 地址(部分服务器会校验 NAS-IP-Address)
radtest -n 10.10.0.1 test01 'Passw0rd!' 10.10.0.20 0 testing123
# 大量重复测试时用循环观察稳定性
for i in $(seq 1 20); do radtest test01 'Passw0rd!' 10.10.0.20 0 testing123; done结果判读
| 返回 | 含义 | 下一步 |
|---|---|---|
| Access-Accept | 认证通过,账号与密钥正常 | 问题在无线侧或授权属性下发 |
| Access-Reject | 凭据、策略或证书被拒 | 查服务器日志的拒绝原因 |
| 无响应(等待超时) | 网络不通或共享密钥不匹配 | 查 UDP 1812 连通与两侧密钥 |
| 认证通过但属性异常 | 返回的授权属性与预期不同 | 核对策略匹配与属性下发 |
无响应优先怀疑两件事:UDP 1812 是否被策略拦截,以及共享密钥在两侧是否完全一致(含大小写与结尾空格)。
生产环境用专门的测试账号验证,避免使用真实员工账号触发失败锁定策略或被审计系统标记为异常。
radtest 只覆盖身份认证这一段:它能证明账号、密钥与服务器正常,但无法验证无线关联、VLAN 下发与地址获取,定位时要按层次往下走。