CentOS Stream8配置FreeRADIUS后radtest测试返回Access-Reject求助
解决CentOS Stream8上FreeRADIUS radtest返回Access-Reject的问题
以下是逐步排查和解决的方案:
1. 确认本地测试用户配置
检查/etc/raddb/users文件,确保已添加合法的测试用户条目,示例格式:
testuser Cleartext-Password := "testpass" Service-Type = Framed-User, Framed-Protocol = PPP
同时修正文件权限:
chown radiusd:radiusd /etc/raddb/users chmod 640 /etc/raddb/users
2. 验证配置文件语法合法性
执行命令检查所有配置文件是否存在语法错误:
radiusd -XC
输出无报错信息才说明配置合法,任何语法问题都会导致服务拒绝请求。
3. 查看服务日志定位拒绝原因
实时查看FreeRADIUS运行日志,同时执行radtest命令,从日志中获取具体拒绝细节:
tail -f /var/log/radius/radius.log
日志会明确提示拒绝原因,比如用户不存在、密码不匹配、配置项缺失等。
4. 检查radtest命令参数正确性
确保命令格式和参数完全正确,默认格式为:
radtest <用户名> <密码> 127.0.0.1 0 <共享密钥>
其中共享密钥必须与/etc/raddb/clients.conf中client localhost段的secret一致(默认值为testing123),示例正确命令:
radtest testuser testpass 127.0.0.1 0 testing123
5. 确认客户端配置有效性
打开/etc/raddb/clients.conf,确保存在localhost的合法配置段:
client localhost { ipaddr = 127.0.0.1 secret = testing123 shortname = localhost }
修改配置后重启服务生效:
systemctl restart radiusd
6. 排查SELinux与防火墙限制
- SELinux临时测试:临时关闭SELinux验证是否为权限拦截:
若测试通过,添加永久SELinux规则:setenforce 0semanage port -a -t radius_port_t -p udp 1812 - 防火墙规则配置:开放Radius默认端口:
firewall-cmd --add-port=1812/udp --add-port=1813/udp --permanent firewall-cmd --reload
内容的提问来源于stack exchange,提问作者FuYuan Zhao
相关产品推荐
相关产品推荐

