起動中およびネットワークインターフェイスがオンラインになる前に、できるだけ早くiptablesまたはnftablesルールをロードしてください。

起動中およびネットワークインターフェイスがオンラインになる前に、できるだけ早くiptablesまたはnftablesルールをロードしてください。

Debianのインストールが開始されると、iptablesルールをロードするために特定のサービスに依存します。

iptables-restore my_rules.v4

ip6tables-restore my_rules.v6

そして別のスクリプトを実行してみてください

ただし、インターフェイスを有効にし、基本ルールが適用されるファームウェアルールを適用するには少し時間がかかり、システムが一部のリスクにさらされる可能性があることを認識しています。

iptables-perpersistサービスを有効にしましたが、ネットワーク部分が起動する前にロードされるかどうかはわかりません。

ネットワークがオンラインになって使用可能になる前にスクリプトをロードする最善の方法は何ですか?

インターフェイスにフリーアップがあるという話は聞いてみましたが、インターフェイスが多すぎて何を最初に入れるべきかわからず、すべてのインターフェイスにプリアップを使用するとスクリプトが一度ではなく、あまりにも多く実行される現象が発生します。 。

答え1

Debian 12では、デフォルトはiptables新しいサブシステムnftablesのラッパーです。このiptables-persistentパッケージはaliasと呼ばれるサービスを生成するパッケージに依存しますnetfilter-persistentnetfilter-persistent.serviceiptables.serviceip6tables.service

次のように定義されますnetfilter-persistent.service

systemctl cat netfilter-persistent.service

# /lib/systemd/system/netfilter-persistent.service
[Unit]
Description=netfilter persistent configuration
DefaultDependencies=no
Wants=network-pre.target systemd-modules-load.service local-fs.target
Before=network-pre.target shutdown.target
After=systemd-modules-load.service local-fs.target
Conflicts=shutdown.target
Documentation=man:netfilter-persistent(8)

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/netfilter-persistent start
ExecStop=/usr/sbin/netfilter-persistent stop

[Install]
WantedBy=multi-user.target

# /usr/lib/systemd/system/netfilter-persistent.service.d/iptables.conf
[Install]
Alias=iptables.service ip6tables.service

DefaultDependencies=no、および .Wants=network-pre.target予想Before=network-pre.targetされる方法のいずれかを使用してネットワークインターフェイスを設定すると仮定すると、ネットワークインターフェイスを設定する前に iptables/nftables ルールが復元されます。

だから答えは、はい、iptables-persistentネットワークインターフェイスを起動する前にロードされます。

iptables / nftablesルールのカスタムサービスを作成するには、同じ方法でそのサービスの依存関係を設定する必要がありますnetfilter-persistent.service

network-pre.targetドキュメントを参照してくださいsystemd.special(7)マニュアルページ(強調):

network-pre.target

この手動ターゲットデバイスは、ネットワークが確立される前に実行しようとしているサービスによって引き出される可能性があります。たとえば、ファイアウォールを設定するには。すべてのネットワーク管理ソフトウェアはこのターゲットに沿って自動的にソートされますが、プルされません。また見てくださいネットワーク接続後のサービスの実行より多くの情報を知りたいです。

答え2

ディストリビューションに応じて、たとえばFedora Linuxはこれを行います。奇妙なことは、ディストリビューションにないことです。セキュリティの脆弱性確かに報告して修正する価値があります。 Systemdはローディングデバイスに依存しているため、ネットワーキングをファイアウォールデバイスに依存させる必要があります。他の初期化システムを使用している場合はお問い合わせください。

関連情報