概述
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: 启用并启动 `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` 恢复。这两个命令是独立运行的。