我配置 systemd 的技能水平更像是一个新手,需要帮助,因为我现在遇到了障碍并且陷入困境。
我在 Raspberry Pi 克隆板上安装了fail2ban 和 ufw。我发现的问题是,fail2ban 的数据库中现在有超过 1000 个 IP 地址被阻止。 ufw 也以非活动状态启动。如果我过早发出“sudo ufw enable”,那么所有网络连接都会丢失,我必须使用主板的电源按钮来关闭主板上的 Ubuntu Linux 操作系统。
我认为发生的情况是,当 ufw 启动时,fail2ban 正在填充 iptables 和 ip6tables,fail2ban 已经有 iptables 正在运行,并且 ufw 的规则变得混乱。
有谁知道如何使用systemd阻止fail2ban.service启动直到ufw.service启动?
答案1
您可以在 systemd 的块中使用Before=
和来表达排序。After=
[Unit]
如果您自己编写这些单元文件,只需将它们放在那里即可。如果不是,您可以运行sudo systemctl edit fail2ban.service
,然后在编辑器中输入:
[Unit]
After=ufw.service
systemctl edit
是一个快捷方式,用于创建一个新文件 ,/etc/systemd/system/fail2ban.service.d/override.conf
其中包含您输入的内容并重新加载 systemd ;您也可以手动执行这些步骤。
Requires=ufw.service
如果您想防止fail2ban在没有ufw的情况下启动(并且如果ufw停止则自动停止),您可能还需要一个,
之前和之后记录在systemd.unit
联机帮助页