できるだけ早くsystemd経由でファイアウォールを設定する

できるだけ早くsystemd経由でファイアウォールを設定する

ファイアウォールを設定するシェル スクリプトを実行する systemd サービスがあります。システムは 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 ルール リストに移行することも検討してください。

関連情報