iptables 规则持久化的方法因不同的 Linux 发行版而异。以下是一些常见的方法:
使用 iptables-persistent 工具(适用于 Debian/Ubuntu):
在 Debian 和 Ubuntu 系统中,可以使用 iptables-persistent 工具来保存和恢复 iptables 规则。首先,安装 iptables-persistent:
sudo apt-get update
sudo apt-get install iptables-persistent
在安装过程中,它会询问你是否要保存当前的 iptables 规则。选择“是”,它将自动保存规则到 /etc/iptables/rules.v4(IPv4)和 /etc/iptables/rules.v6(IPv6)文件中。
如果你已经安装了 iptables-persistent,可以使用以下命令手动保存规则:
sudo netfilter-persistent save
sudo netfilter-persistent reload
使用 service 命令(适用于 CentOS/RHEL/Fedora):
在 CentOS、RHEL 和 Fedora 系统中,可以使用 service 命令来保存和恢复 iptables 规则。首先,确保已经安装了 iptables-services 软件包:
sudo yum install iptables-services
然后,使用以下命令保存规则:
sudo service iptables save
这会将规则保存到 /etc/sysconfig/iptables 文件中。要恢复规则,只需运行:
sudo service iptables restart
手动保存规则:
如果你不使用上述方法,可以手动将 iptables 规则保存到一个文件中,然后在系统启动时手动应用这些规则。使用以下命令将规则保存到文件中:
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
要在启动时应用这些规则,可以将以下命令添加到 /etc/rc.local 文件中(适用于大多数 Linux 发行版):
sudo iptables-restore < /etc/iptables/rules.v4
sudo ip6tables-restore < /etc/iptables/rules.v6
确保 /etc/rc.local 文件具有可执行权限:
sudo chmod +x /etc/rc.local
请注意,不同的 Linux 发行版可能使用不同的文件路径和工具来保存 iptables 规则。因此,请根据你的发行版选择合适的方法。