致力于启动并运行 FreeRADIUS,但在添加到 systemd 时遇到问题。
通过 radiusd -X 独立运行符合预期,所有自定义配置均完好无损。使用 freetds 模块连接到 MS SQL 后端...
在编译期间,我将其设置为使用“--with-systemd”,但它并没有自动添加服务条目或创建我可以找到的*.service 文件。
我尝试使用在线找到的一个方法,但没有成功。这导致超时错误。
[Unit]
Description=FreeRADIUS high performance RADIUS server.
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/var/run/radiusd/radiusd.pid
ExecStartPre=-/bin/chown -R freerad:freerad /var/run/radiusd
ExecStartPre=/usr/local/sbin/radiusd -C
ExecStart=/usr/local/sbin/radiusd -d /usr/local/etc/raddb
ExecReload=/usr/local/sbin/radiusd -C
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
是否有人成功将 FreeRADIUS (3.0) 的编译版本添加到 systemd?如果是,您能提供一些如何使其工作的指导吗?
谢谢。
答案1
- 配置选项“with-systemd”添加了对 systemd 看门狗的支持,但不包括 systemd 单元文件。如果您不确定需要什么,请不要启用此选项。
- 尝试诊断发生了什么。从开始
systemctl status freeradius
。它显示了什么? - 这是 freeradius 包中的标准 systemd 单元文件。将其复制到
/etc/systemd/system/freeradius.service
并更改路径。它将成为起点。
# /lib/systemd/system/freeradius.service
[Unit]
Description=FreeRADIUS multi-protocol policy server
After=network.target
Documentation=man:radiusd(8) man:radiusd.conf(5) http://wiki.freeradius.org/ http://networkradius.com/doc/
[Service]
Type=forking
PIDFile=/run/freeradius/freeradius.pid
EnvironmentFile=-/etc/default/freeradius
ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout
ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target