概要
iptables-restoreは、テキストファイルに保存されたiptablesルールを読み込み、カーネルのネットワークフィルタリングテーブルに適用します。これは、システム再起動後もファイアウォール設定を維持したり、特定の時点のファイアウォール構成を復元したりするために不可欠なツールです。
主な機能
- 保存されたiptablesルールをカーネルにロード
- IPv4およびIPv6ルールを両方サポート (ip6tables-restoreは別)
- ファイアウォールルールの永続的な適用に不可欠なツール
- バックアップおよび復旧時に活用
主なオプション
iptables-restoreコマンドは、ルールの復元時の動作を制御するいくつかの便利なオプションを提供します。
復元制御
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`iptables-restore` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
iptables-restoreコマンドの一般的な使用例です。
保存されたIPv4ルールの復元
sudo iptables-restore < /etc/iptables/rules.v4
以前に`iptables-save`で保存されたIPv4ルールファイルをシステムにロードします。
保存されたIPv6ルールの復元
sudo ip6tables-restore < /etc/iptables/rules.v6
以前に`ip6tables-save`で保存されたIPv6ルールファイルをシステムにロードします。
ルール復元前のテスト
sudo iptables-restore --test < /etc/iptables/rules.v4
ルールを実際に適用する前に、構文エラーがないか確認します。
既存ルールを維持して新しいルールを追加
sudo iptables-restore --noflush < /etc/iptables/new_rules.v4
現在アクティブなルールを削除せずに、ファイル内のルールを追加します。(注意が必要)
インストール
iptables-restoreは通常`iptables`パッケージの一部として提供されます。ほとんどのLinuxディストリビューションにデフォルトでインストールされていますが、最小インストール環境では手動でインストールする必要がある場合があります。
Debian/Ubuntu
sudo apt update
sudo apt install iptables
APTパッケージマネージャーを使用してiptablesをインストールします。
CentOS/RHEL/Fedora
sudo yum install iptables
# または
sudo dnf install iptables
YUMまたはDNFパッケージマネージャーを使用してiptablesをインストールします。
ヒントと注意点
iptables-restoreを使用する際に注意すべき点と役立つヒントです。
永続的な適用
`iptables-restore`はルールをカーネルにロードしますが、システム再起動時に失われます。ルールを永続的に適用するには、`netfilter-persistent`または`iptables-persistent`のようなサービスを使用するか、ブートスクリプトに`iptables-restore`コマンドを追加する必要があります。
- Debian/Ubuntu: `sudo apt install iptables-persistent` をインストール後 `sudo netfilter-persistent save`
- CentOS/RHEL: `sudo systemctl enable iptables && sudo systemctl start iptables` (iptablesサービスを有効化して開始)
バックアップの重要性
ルールを復元する前に、常に`iptables-save`を使用して現在のルールをバックアップすることをお勧めします。誤ったルールの復元はネットワーク接続を断つ可能性があります。
- 現在のIPv4ルールをバックアップ: `sudo iptables-save > /root/iptables_backup_$(date +%Y%m%d_%H%M%S).v4`
テストモードの活用
`--test`オプションを使用して、ルールファイルの構文エラーを事前に確認する習慣をつけましょう。これは、実際の適用による問題を防止するのに大いに役立ちます。
IPv4とIPv6の区別
IPv4ルールは`iptables-restore`で、IPv6ルールは`ip6tables-restore`で復元する必要があります。両方のコマンドは別々に動作します。