🧭 说明
ip6tables-restore命令用于从文件批量恢复IPv6防火墙规则,通常与ip6tables-save命令配合使用,能高效地应用复杂的规则集而无需逐条输入。
下面这个表格汇总了它的核心选项。
| 选项 | 简写 | 功能说明 |
|---|---|---|
--counters | -c | 恢复规则时,同时恢复数据包和字节计数器的值。 |
--noflush | -n | 不清空当前表中已有的规则,将文件中的规则追加到现有规则后。默认行为是清空所有现有规则。 |
--test | -t | 测试模式。仅解析规则文件检查语法是否正确,而不会实际应用任何规则。 |
--verbose | -v | 显示规则处理过程中的详细调试信息。 |
--wait | -w [秒数] | 指定等待xtables锁的最大秒数,防止多进程同时修改规则导致冲突。 |
--table | -T | 仅适用于ip6tables-restore。指定仅恢复某个特定表(如filter,nat)的规则,忽略文件中其他表的规则。 |
💡 常用操作示例
掌握了核心选项后,可以通过一些典型场景来了解其具体用法。操作时通常需要sudo权限。
基本恢复规则:最常见的用法是将保存的规则文件(如
/etc/iptables/rules.v6)重新载入,这会替换所有现有规则。sudoip6tables-restore</etc/iptables/rules.v6测试规则文件语法:在正式应用前,先检查规则文件是否有语法错误,这是一个好习惯。
sudoip6tables-restore -t -v</etc/iptables/rules.v6保留现有规则:如果不想清除当前已设置的规则,而是想将新规则附加在后面,可以使用
-n选项。请确保规则之间没有冲突。sudoip6tables-restore -n</etc/iptables/rules.v6恢复计数器值:如果规则文件是使用
ip6tables-save -c命令保存的(包含了计数器信息),恢复时可以带上-c选项以还原统计信息。sudoip6tables-restore -c</etc/iptables/rules.v6
⚠️ 重要注意事项
- 权限要求:执行
ip6tables-restore命令通常需要 root 权限,记得使用sudo。 - 规则覆盖:默认情况下,该命令会清空指定表的原有规则后再导入新规则。除非使用
-n选项,操作前建议备份当前规则。 - 规则文件格式:规则文件通常由
ip6tables-save命令生成,包含了完整的规则集、自定义链和策略配置。文件以*table_name(如*filter)开头,以COMMIT结尾。 - 持久化:使用
ip6tables-restore应用的规则仅在当前内核中生效。要使其在系统重启后依然有效,需要将恢复命令添加到开机脚本(如/etc/rc.local或相应的 systemd 服务)中。