首页 > 解决方案 > FreeRadius 未启动

问题描述

我的 FreeRadius 服务器已经南下。不确定发生了什么(甚至发生了什么变化),但它现在不会在引导时或从 CLI 作为服务启动。数据库是 MariaDB。Journalctl -xe 显示:

May 11 00:13:37 znt-ntm-002v freeradius[26433]: FreeRADIUS Version 3.0.19
May 11 00:13:37 znt-ntm-002v freeradius[26433]: Copyright (C) 1999-2019 The FreeRADIUS server project and contributors
May 11 00:13:37 znt-ntm-002v freeradius[26433]: There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
May 11 00:13:37 znt-ntm-002v freeradius[26433]: PARTICULAR PURPOSE
May 11 00:13:37 znt-ntm-002v freeradius[26433]: You may redistribute copies of FreeRADIUS under the terms of the
May 11 00:13:37 znt-ntm-002v freeradius[26433]: GNU General Public License
May 11 00:13:37 znt-ntm-002v freeradius[26433]: For more information about these matters, see the file named COPYRIGHT
May 11 00:13:37 znt-ntm-002v freeradius[26433]: Starting - reading configuration files ...
May 11 00:13:37 znt-ntm-002v freeradius[26433]: Debugger not attached
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked
May 11 00:13:37 znt-ntm-002v freeradius[26433]: Creating attribute SQL-Group
May 11 00:13:37 znt-ntm-002v freeradius[26433]: Creating attribute Unix-Group
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql_mysql: libmysql version: 8.0.20
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql): Attempting to connect to database "radius"
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql): Initialising connection pool
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql): Processing generate_sql_clients
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql) in generate_sql_clients: query is SELECT id, nasname, shortname, type, secret, server FROM nas
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql): 0 of 0 connections in use.  You  may need to increase "spare"
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql): Opening additional connection (0), 1 of 1 pending slots used
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql_mysql: Starting connect to MySQL server
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql): Reserved connection (0)
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql): Released connection (0)
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_mschap (mschap): using internal authentication
May 11 00:13:37 znt-ntm-002v freeradius[26433]: tls: Using cached TLS configuration from previous invocation
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked
May 11 00:13:37 znt-ntm-002v freeradius[26433]: Ignoring "ldap" (see raddb/mods-available/README.rst)
May 11 00:13:37 znt-ntm-002v freeradius[26433]: radiusd: #### Skipping IP addresses and Ports ####
May 11 00:13:37 znt-ntm-002v freeradius[26433]: Configuration appears to be OK
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql): Removing connection pool
May 11 00:13:37 znt-ntm-002v freeradius[26433]: rlm_sql (sql): Closing connection (0)
May 11 00:13:37 znt-ntm-002v kernel: freeradius[26433]: segfault at 8 ip 00007f182787423f sp 00007ffeb337bbf0 error 4 in libmysqlclient.so.21.1.20[7f1827812000+e7000]
May 11 00:13:37 znt-ntm-002v kernel: Code: 48 89 e5 41 54 53 48 8d 1d 3e 45 66 00 4c 8d a3 00 40 00 00 0f 1f 80 00 00 00 00 48 8b 3b 48 85 ff 74 12 48 8b 87 c0 00 00 00 <48> 8b 40 08 48 85 c0 74 
May 11 00:13:37 znt-ntm-002v systemd[1]: freeradius.service: Control process exited, code=dumped, status=11/SEGV

运行 freeradius -C -lstdout -xxx 返回一些关于未使用的东西的警告,但表示“配置似乎正常”。当从根目录作为 freeradius -X 或 freeradius -f -lstdout 执行时,Freeradius 确实从 CLI 运行。

关于在哪里寻找让这一切再次发生的任何建议?

标签: ubuntumariadbfreeradius

解决方案


我能够解决这个问题,但它需要重建,我相信 FreeRadius 如何通过 libmysqlclient.so 连接到 MariaDB 存在问题。

我使用以前编写的构建说明重建了一个新服务器。将 sql 连接到启用 mods 的目录并启动 FreeRadius 后,抛出相同的错误。我查看了所有内容并使用 MySQL 进行了重建,没有错误。然后我复制了原始的 FreeRadius 目录,并且 - 再次启动后 - 没有错误。

我知道 MariaDB 和 MySQL 应该是兼容的,但似乎更新破坏了这种兼容性(至少对我来说是这样)。


推荐阅读