最近,我注意到 UFW 处于非活动状态,直到我手动激活它。
我已运行ufw enable
多次,检查其ufw.service
是否处于活动状态,但它仍然无法在启动时启动。
输出systemctl list-unit-files | grep -i ufw
ufw.service enabled enabled
输出systemctl status ufw
Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
Active: active (exited) since Sat 2022-09-24 12:15:01 +03; 1min 26s ago
Docs: man:ufw(8)
Process: 388 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS)
Main PID: 388 (code=exited, status=0/SUCCESS)
Sep 24 12:15:01 alienus-server systemd[1]: Finished Uncomplicated firewall.
Warning: journal has been rotated since unit was started, output may be incomplete.
我尝试重新启用ufw.service
但没有效果:
Removed /etc/systemd/system/multi-user.target.wants/ufw.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ufw.service → /lib/systemd/system/ufw.service.
附加信息:在清除并重新安装 UFW 后,复制旧配置并手动重新配置,它仍然无法按预期工作。尽管它在启动时处于活动状态,但几个小时后它又被停用了。因此,为了保持它的活动状态,我添加了一个 cronjob 以每 30 分钟重新激活它一次。
我还能在哪里检查它无法自动启动的原因?是什么Warning: journal has been rotated since unit was started, output may be incomplete.
?
答案1
答案2
作为缓解措施,直到我可以收集有关此问题的更多信息,我创建了一个 systemd 服务来手动启用 ufw。
ufw2.服务:
[Unit]
Description=Uncomplicated firewall 2
Documentation=man:ufw(8)
After=ufw.service
[Service]
ExecStart=/etc/ufw/ufw.sh
[Install]
WantedBy=multi-user.target
ufw.sh
#!/bin/bash
sleep 10
ufw enable
(10 秒钟的睡眠是为了确保主 ufw 服务已经启动并稳定)
补充:我注意到,当服务器开放几个小时后,ufw 就被停用了。因此,作为第二个缓解措施,我添加了一个 cron 作业,每 30 分钟运行一次。
*/30 * * * * systemctl restart ufw2