儘早透過 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 規則清單。

相關內容