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