Squid3配置freeradius认证时报basic_radius_auth无RADIUS响应问题求助
问题根因及排查解决步骤
1. 优先检查FreeRADIUS客户端配置(最高概率)
FreeRADIUS的clients.conf是按请求来源IP匹配客户端条目,而非NAS-IP-Address字段:
- 你日志中请求来源IP为
172.17.0.1,需确认clients.conf中存在该IP对应的配置,且secret值与Squid侧/etc/squid/radius_config中填写的密钥完全一致 - 若仅配置了
172.17.0.21的客户端条目,会导致FreeRADIUS返回的响应包加密错误,Squid无法解密识别,自然判定无响应
2. 手动验证basic_radius_auth工具可用性
直接在Squid主机上执行命令测试认证工具本身的对接状态:
echo "me@mine.com password" | /usr/lib/squid/basic_radius_auth -f /etc/squid/radius_config
- 输出
OK:工具对接正常,问题出在Squid服务权限或其他配置 - 输出
ERR:工具对接失败,继续排查以下项
3. 检查UDP端口连通性
RADIUS使用UDP协议传输,需确认两端网络策略:
- FreeRADIUS主机防火墙放通
1812/udp端口的入站请求,允许172.17.0.1访问 - Squid主机防火墙放通
1812/udp端口的出站请求
4. 修复FreeRADIUS空响应问题
你日志中Sent Access-Accept ... length 0属于异常状态,正常响应包长度不可能为0,可通过强制添加响应属性修复:
在FreeRADIUS站点配置的post-auth段添加以下配置,构造正常长度的响应包:
update reply { Reply-Message := "Authentication Success" }
5. 检查Squid radius_config文件格式
确认/etc/squid/radius_config的内容格式符合要求,示例如下:
172.17.0.20 你的RADIUS密钥 1812
不要有多余的空格、换行或注释内容。
内容的提问来源于stack exchange,提问作者Tag
相关产品推荐
相关产品推荐

