温馨提示×

iptables规则如何持久化保存

小樊
97
2025-08-27 05:36:02
栏目: 编程语言

在Linux系统中,iptables规则默认不会在系统重启后自动保存。为了实现iptables规则的持久化保存,你可以使用以下方法:

  1. 使用iptables-save和iptables-restore命令:

将当前的iptables规则保存到一个文件中:

sudo iptables-save > /etc/iptables/rules.v4

创建一个脚本(例如:/etc/network/if-pre-up.d/iptables),并在其中添加以下内容:

#!/bin/sh
/sbin/iptables-restore < /etc/iptables/rules.v4

给予脚本执行权限:

sudo chmod +x /etc/network/if-pre-up.d/iptables

这样,在网络接口启动之前,脚本会自动恢复iptables规则。

  1. 使用netfilter-persistent:

在Debian和Ubuntu系统中,可以使用netfilter-persistent包来实现iptables规则的持久化保存。

首先,安装netfilter-persistent:

sudo apt-get install netfilter-persistent

在安装过程中,它会询问你是否要保存当前的iptables规则。选择“是”以保存规则。

以后,你可以使用以下命令手动保存和加载规则:

sudo netfilter-persistent save
sudo netfilter-persistent reload
  1. 使用firewalld:

firewalld是另一个用于管理Linux系统防火墙的工具,它支持动态管理和持久化保存规则。

首先,安装firewalld:

sudo apt-get install firewalld

启动firewalld服务:

sudo systemctl start firewalld

将iptables规则添加到firewalld:

sudo firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toport=8080

重新加载firewalld以应用更改:

sudo firewall-cmd --reload

以上方法可以帮助你实现iptables规则的持久化保存。你可以根据自己的需求选择合适的方法。

0