概述
iptables-restore 讀取文本文件中保存的 iptables 規則,並將其應用於內核的網絡過濾表。這是確保防火牆設置在系統重新啟動後仍然有效,或恢復特定時間點防火牆配置的關鍵工具。
主要功能
- 將保存的 iptables 規則載入內核
- 支援 IPv4 和 IPv6 規則(ip6tables-restore 單獨處理)
- 防火牆規則持久化的關鍵工具
- 用於備份和還原
主要選項
iptables-restore 命令提供了一些有用的選項來控制規則還原時的行為。
還原控制
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`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:啟用並啟動 iptables 服務 `sudo systemctl enable iptables && sudo systemctl start 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` 還原。這兩個命令是獨立運作的。