Debianのインストールが開始されると、iptablesルールをロードするために特定のサービスに依存します。
iptables-restore my_rules.v4
ip6tables-restore my_rules.v6
そして別のスクリプトを実行してみてください
ただし、インターフェイスを有効にし、基本ルールが適用されるファームウェアルールを適用するには少し時間がかかり、システムが一部のリスクにさらされる可能性があることを認識しています。
iptables-perpersistサービスを有効にしましたが、ネットワーク部分が起動する前にロードされるかどうかはわかりません。
ネットワークがオンラインになって使用可能になる前にスクリプトをロードする最善の方法は何ですか?
インターフェイスにフリーアップがあるという話は聞いてみましたが、インターフェイスが多すぎて何を最初に入れるべきかわからず、すべてのインターフェイスにプリアップを使用するとスクリプトが一度ではなく、あまりにも多く実行される現象が発生します。 。
答え1
Debian 12では、デフォルトはiptables
新しいサブシステムnftables
のラッパーです。このiptables-persistent
パッケージはaliasと呼ばれるサービスを生成するパッケージに依存しますnetfilter-persistent
。netfilter-persistent.service
iptables.service
ip6tables.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はローディングデバイスに依存しているため、ネットワーキングをファイアウォールデバイスに依存させる必要があります。他の初期化システムを使用している場合はお問い合わせください。