尽早通过 systemd 配置防火墙

尽早通过 systemd 配置防火墙

我有一个 systemd 服务执行配置防火墙的 shell 脚本。该系统是运行 Debian 8 的嵌入式系统。

我应该如何配置该服务,以便让它在系统启动时尽早执行脚本,但又要晚到足以让 iptables 正常工作?

现在的服务文件(它可以工作,但我不知道它是否是最佳的):

[Unit]
Description=Firewall configuration script
After=sysinit.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/firewall.sh

[Install]
WantedBy=basic.target

剧本:

#!/bin/bash
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

答案1

尝试复制乌夫沃启动行为与它几乎相同:

ufw.service:

[Unit]
Before=network.target

您还可以考虑从您自己的 iptables 脚本迁移到 ufw 规则列表。

相关内容