> 网络管理 > iptables-restore

iptables-restore: 恢复 iptables 规则

iptables-restore 命令用于将之前使用 `iptables-save` 命令保存的 iptables (IPv4) 或 ip6tables (IPv6) 规则恢复到系统中。这允许您在重启后保持防火墙规则,或轻松应用备份的规则。

概述

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` 恢复。这两个命令是独立运行的。


相同类别命令