ubuntu

Ubuntu iptables如何持久化规则

小樊
68
2025-03-22 07:49:50
栏目: 智能运维

在 Ubuntu 系统中,iptables 规则在重启后不会自动保存。要使 iptables 规则持久化,您需要安装 iptables-persistent 软件包。以下是安装和配置 iptables-persistent 的步骤:

  1. 首先,更新您的系统软件包列表:
sudo apt update
  1. 安装 iptables-persistent 软件包:
sudo apt install iptables-persistent

在安装过程中,系统会提示您是否要保存当前的 iptables 规则。选择 “Yes”,以便在重启后保留这些规则。

  1. (可选)如果您还需要保存 IPv6 规则,请确保在安装过程中选择了 “Yes” 以保存 IPv6 规则。

  2. 安装完成后,您可以使用以下命令查看当前的 iptables 规则:

sudo iptables -L
  1. 如果您需要手动保存或恢复 iptables 规则,可以使用 iptables-saveiptables-restore 命令。例如,要将当前规则保存到文件中,可以执行:
sudo iptables-save > /etc/iptables/rules.v4

对于 IPv6 规则,使用:

sudo ip6tables-save > /etc/iptables/rules.v6
  1. 要在启动时自动应用保存的规则,可以使用 iptables-restore 命令。您可以创建一个 systemd 服务来实现这一点。首先,创建一个名为 iptables-restore.service 的文件:
sudo nano /etc/systemd/system/iptables-restore.service

将以下内容粘贴到文件中,然后保存并关闭文件:

[Unit]
Description=Restore IPTables rules
Before=network.target

[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore < /etc/iptables/rules.v4
ExecStart=/sbin/ip6tables-restore < /etc/iptables/rules.v6

[Install]
WantedBy=multi-user.target
  1. 通过以下命令启用并启动 iptables-restore.service
sudo systemctl enable iptables-restore.service
sudo systemctl start iptables-restore.service

现在,您的 iptables 规则将在每次启动时自动应用,从而实现持久化。

0
看了该问题的人还看了