Iptables是Linux操作系统中的一个命令行防火墙实用程序,它使用策略链来允许或阻止流量。
但是,默认情况下,iptables规则不会在服务器重新启动后继续存在。当您重新启动Linux系统时,它们会被重置。那么,我该如何坚持iptables规则呢?
iptables将规则存储在系统内存中。换句话说,它不会将这些规则作为文件永久保存到磁盘上。
幸运的是,有一种毫不费力的方法可以将这些iptables规则持久地保存到磁盘上,我现在将向您展示。
如何永久保存iptables防火墙规则
您需要安装
iptables持久
包,它将在重新启动时自动恢复iptables。
sudo apt安装iptables持久化
在安装过程中,系统将要求您保存当前/现有的iptables规则。选择
对
或
不
,取决于您的需求。

如果您已选择
对
,它将创建并保存现有的iptables规则到
/etc/itables/rules.v4
和
/etc/itables/rules.v6
分别针对IPv4和IPv6。
无论何时更改iptables的规则,都应使用
iptables保存
命令使更改在重新启动后保持不变。
对于IPv4 iptables(最广泛使用的场景):
sudo iptables save-f/etc/iptables/rules.v4
对于IPv6 iptables:
sudo iptables save-f/etc/iptables/rules.v6
请注意,每次对系统上的iptables进行更改时,都需要运行上述命令。这是因为它将当前活动的iptables规则复制到指定的文件中。
这些规则还可以恢复到上次保存时的状态,方法是:
sudo netfilter持久重载
您可以使用cat命令显示保存的文件:
sudo猫/etc/iptables/rules.v4

此外,要删除持久的iptables规则,可以打开相应的
/etc/itables/rules.v*
文件,并手动删除包含所有不需要的规则的行。
结论
Linux系统管理员使用iptables来设置、维护和检查Linux中的防火墙规则。在本指南中,您已经学会了如何使iptables防火墙规则在Debian或Ubuntu系统上持久存在。
需要注意的是,如果您的系统上运行了ufw或firewalld命令,那么
iptables持久
会与他们发生冲突,应该避免。
要了解更多关于iptables命令的信息,可以参考其手册页或查看此处和此处。