Ubuntu 16.04升级18.04后FreeRADIUS无法启动问题求助
Ubuntu 18.04升级后FreeRADIUS启动报错修复方案
问题成因
Ubuntu跨大版本升级时,FreeRADIUS包的维护脚本会默认将用户修改过的配置目录做备份处理,原有的mods-enabled(存放启用模块软链接的目录)会被移除或重命名,导致radiusd读取核心配置时找不到对应的目录。
修复步骤
- 先确认目录缺失情况,执行以下命令查看3.0配置目录下的文件列表:
确认存在ls /etc/freeradius/3.0/mods-available目录后,手动创建缺失的mods-enabled目录:sudo mkdir /etc/freeradius/3.0/mods-enabled - 迁移原有自定义配置(如果有备份):
升级过程中原有配置通常会被备份为.dpkg-old后缀文件,或存放在/var/backups/目录下的freeradius压缩包中,执行以下命令查找备份:
找到原有ls /etc/freeradius/3.0/*.dpkg-old ls /var/backups | grep freeradiusmods-enabled目录备份后直接替换新建的空目录即可,无需重新配置模块。 - 无备份时恢复基础配置:
如果找不到备份,先将运行必需的核心模块软链接到mods-enabled目录:
如果你之前对接了MySQL存储,额外链接sql模块:sudo ln -s /etc/freeradius/3.0/mods-available/{always,attr_filter,chap,detail,digest,eap,exec,expiration,logintime,mschap,pap,passwd,preprocess,radutmp,realm,unix} /etc/freeradius/3.0/mods-enabled/
注意:链接完成后需要检查sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/sql模块配置中的MySQL连接地址、账号、密码、库名是否和你原有RadiusDesk的配置一致,避免出现数据库连接报错 - 修复目录权限,确保FreeRADIUS运行用户有权读取配置:
sudo chown -R freerad:freerad /etc/freeradius/3.0/ - 验证配置合法性,执行以下测试命令:
如果返回sudo radiusd -XCConfiguration appears to be OK则配置无误,启动服务即可:sudo systemctl start freeradius
内容的提问来源于stack exchange,提问作者Глеб Щеголев
相关产品推荐
相关产品推荐

