在 Ubuntu 系统中,iptables 规则在重启后不会自动保存。要使 iptables 规则持久化,您需要安装 iptables-persistent
软件包。以下是安装和配置 iptables-persistent 的步骤:
sudo apt update
iptables-persistent
软件包:sudo apt install iptables-persistent
在安装过程中,系统会提示您是否要保存当前的 iptables 规则。选择 “Yes”,以便在重启后保留这些规则。
(可选)如果您还需要保存 IPv6 规则,请确保在安装过程中选择了 “Yes” 以保存 IPv6 规则。
安装完成后,您可以使用以下命令查看当前的 iptables 规则:
sudo iptables -L
iptables-save
和 iptables-restore
命令。例如,要将当前规则保存到文件中,可以执行:sudo iptables-save > /etc/iptables/rules.v4
对于 IPv6 规则,使用:
sudo ip6tables-save > /etc/iptables/rules.v6
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
iptables-restore.service
:sudo systemctl enable iptables-restore.service
sudo systemctl start iptables-restore.service
现在,您的 iptables 规则将在每次启动时自动应用,从而实现持久化。