You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7下FreeRADIUS v3启动失败,配置文件解析错误求助

FreeRADIUS v3在CentOS7启动失败的解决方法

问题分析

从调试命令/usr/sbin/radiusd -X的输出可知,启动失败的核心原因是缺失文件/etc/raddb/mods-config/sql/cui/sqlite/queries.conf——该文件是cui模块依赖的SQLite查询配置文件,因文件不存在导致radiusd解析主配置时出错。

解决方案

根据是否需要使用cui模块(用于Eduroam的Connected User Identifier功能),分两种场景处理:

场景1:不需要cui模块(新手默认场景)

若你不需要Eduroam相关功能,直接禁用cui及关联模块即可:

  • 进入模块启用目录,删除相关软链接:
    cd /etc/raddb/mods-enabled
    rm -f cui eduroam_cui_log
    
  • 重启radiusd服务:
    systemctl start radiusd
    
  • 验证服务状态:
    systemctl status radiusd
    

场景2:必须使用cui模块

若需启用CUI功能,需补全缺失的配置文件:

  1. 安装freeradius-sqlite依赖包(通常包含sqlite相关SQL配置):
    yum install -y freeradius-sqlite
    
  2. 若安装后文件仍缺失,手动创建/etc/raddb/mods-config/sql/cui/sqlite/queries.conf,填入基础SQL查询配置:
    # CUI SQLite查询配置
    insert_cui = "INSERT INTO cui (username, cui, creation_time, expiration_time, last_use) VALUES ('%{User-Name}', '%{CUI}', datetime('now'), datetime('now', '+%{Expiration} seconds'), datetime('now'))"
    update_cui_last_use = "UPDATE cui SET last_use = datetime('now') WHERE username = '%{User-Name}' AND cui = '%{CUI}'"
    select_cui = "SELECT cui, expiration_time FROM cui WHERE username = '%{User-Name}' ORDER BY creation_time DESC LIMIT 1"
    
  3. 设置正确的文件权限,确保radiusd用户可读取:
    chown radiusd:radiusd /etc/raddb/mods-config/sql/cui/sqlite/queries.conf
    chmod 640 /etc/raddb/mods-config/sql/cui/sqlite/queries.conf
    
  4. 重启服务并验证:
    systemctl start radiusd
    /usr/sbin/radiusd -X
    

内容的提问来源于stack exchange,提问作者raiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 13:50:18