ウェブサイト検索

iptables ファイアウォール ルールを Debian/Ubuntu で永続化する方法


システムの再起動後に iptables ファイアウォール ルールが失われないように、再起動間で iptables ファイアウォール ルールを永続的に維持する方法を次に示します。

iptables は、ポリシー チェーンを使用してトラフィックを許可またはブロックする、Linux オペレーティング システムのコマンド ライン ファイアウォール ユーティリティです。

ただし、デフォルトでは、iptables ルールはサーバーを再起動しても存続しません。これらは、Linux システムを再起動するとリセットされます。では、iptables ルールを維持するにはどうすればよいでしょうか?

iptables はルールをシステム メモリに保存します。つまり、これらのルールはファイルとしてディスクに永続的に保存されません。

幸いなことに、これらの iptables ルールをディスクに永続的に保存する簡単な方法があり、それをこれから紹介します。

iptables ファイアウォール ルールを永続的に保存する方法

iptables-persistent パッケージをインストールする必要があります。これにより、再起動時に iptables が自動的に復元されます。

sudo apt install iptables-persistent

インストールプロセス中に、現在/既存の iptables ルールを保存するように求められます。必要に応じて、はい または いいえ を選択します。

Yes を選択した場合、既存の iptables ルールが作成され、/etc/iptables/rules.v4 および /etc/iptables/rules.v6 に保存されます。 はそれぞれ IPv4 と IPv6 の場合です。

iptables のルールを変更する場合は、iptables-save コマンドを使用してルールをファイルに保存し、再起動後も変更を永続化する必要があります。

IPv4 iptables の場合 (最も広く使用されているシナリオ):

sudo iptables-save -f /etc/iptables/rules.v4

IPv6 iptables の場合:

sudo iptables-save -f /etc/iptables/rules.v6

システム上の iptables に変更を加えるたびに、上記のコマンドを実行する必要があることに注意してください。これは、現在アクティブな iptables ルールが指定されたファイルにコピーされるためです。

ルールは、次の方法で最後に保存したときの状態に復元することもできます。

sudo netfilter-persistent reload

cat コマンドを使用して、保存したファイルを表示できます。

sudo cat /etc/iptables/rules.v4

さらに、永続的な iptables ルールを削除するには、対応する /etc/iptables/rules.v* ファイルを開き、不要なルールをすべて含む行を手動で削除します。

結論

Linux システム管理者は、iptables を使用して、Linux のファイアウォール ルールを設定、保守、検査します。このガイドでは、Debian または Ubuntu システム上で iptables ファイアウォール ルールを永続化する方法を学習しました。

システム上で ufw または firewalld コマンドを実行している場合、iptables-persistent はそれらと競合するため、回避する必要があることに注意することが重要です。

iptables コマンドの詳細については、マニュアル ページを参照するか、こことここを確認してください。

関連記事: