概述
iptables-restore 从文件或标准输入 (stdin) 读取 iptables 规则并将其应用于内核的 netfilter 表。这在系统重启后维护防火墙配置或将配置迁移到其他系统时非常有用。
主要功能
- 高效恢复已保存的 iptables 规则
- 支持 filter, nat, mangle, raw 等多种 iptables 表
- 简化防火墙配置的备份和恢复过程
主要选项
iptables-restore 命令的主要选项控制规则恢复的方式。
恢复控制
生成的命令:
请尝试组合命令。
描述:
`iptables-restore` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
使用 iptables-restore 命令恢复 iptables 规则的各种场景。
从文件恢复 IPv4 规则
sudo iptables-restore < /etc/iptables/rules.v4
读取已保存的 IPv4 iptables 规则文件并将其应用于系统。
使用测试模式检查规则有效性
sudo iptables-restore -t < /etc/iptables/rules.v4
不实际应用规则,仅检查文件中的语法错误或有效性。
保留现有规则并添加新规则
sudo iptables-restore -n < /etc/iptables/new_rules.v4
不删除当前活动的规则,而是添加文件中的规则。(注意:可能导致规则冲突)
恢复带计数器的规则
sudo iptables-restore -c < /etc/iptables/rules_with_counters.v4
同时恢复已保存规则文件中包含的数据包和字节计数器值。
提示与注意事项
使用 iptables-restore 会直接影响系统的网络安全,因此需要考虑以下事项。
安全的恢复过程
- 在应用规则之前,请务必检查备份文件,确保没有意外的更改。
- 建议在使用 `-t`(测试模式)选项检查有效性后再应用新规则。
- 在远程服务器上操作时,请注意,规则应用失败可能导致网络连接中断。(例如:使用 `at` 命令设置在一段时间后自动恢复到之前的规则)
恢复 IPv6 规则
IPv6 规则应使用 `ip6tables-restore` 命令而不是 `iptables-restore`。
- IPv6 命令: ip6tables-restore
- 示例: sudo ip6tables-restore < /etc/iptables/rules.v6
重启时自动应用
大多数 Linux 发行版都提供了在系统重启时自动恢复 iptables 规则的机制(例如:systemd 服务、netfilter-persistent 包)。请参考您使用的发行版的文档,了解如何永久应用规则。