-
创建一个 service 文件:
运行以下命令来创建一个新的 service 文件(例如iptables.service
):sudo nano /etc/systemd/system/iptables.service
-
编辑 service 文件:
将以下内容粘贴到打开的文件中,并根据您的需求进行修改:[Unit] Description=IPTables Service After=network.target [Service] ExecStart=/sbin/iptables-restore /path/to/your/iptables-rules RemainAfterExit=yes [Install] WantedBy=default.target
在
ExecStart
行中,将/path/to/your/iptables-rules
替换为存储您的防火墙规则的文件路径。如果您想要同时加载 IPv6 规则,还需要添加另外一个配置文件。运行以下命令创建一个名为
/etc/systemd/system/iptables6.service
的额外 service 文件,并在其中指定相应的 IPv6 防火墙规则文件路径。与上面的iptables.service
文件类似,请确保替换文件路径。 -
保存和关闭文件:
按下Ctrl + X
键以退出编辑模式,然后按下Y
键并按下Enter
键保存并关闭文件。 -
启用和启动服务:
运行以下命令来启用和启动服务:sudo systemctl enable iptables.service sudo systemctl start iptables.service
如果您还创建了 IPv6 规则的 service 文件,请运行以下命令以相应地启用和启动它:
sudo systemctl enable iptables6.service sudo systemctl start iptables6.service
-
验证服务是否正在运行:
运行以下命令来检查服务的状态:sudo systemctl status iptables.service
如果所有设置正确,您的 iptables 命令将在系统启动时自动执行。
请注意,在编辑 iptables
或 iptables6
服务文件之前,请确保已经备份并了解防火墙规则的影响。使用错误或不恰当的防火墙规则可能会导致网络连接问题。
注意:参考上述文档操作完成后,需要执行iptables-save >/path/to/your/iptables-rules 来实现当前的iptables规则持久化
后续新增的iptables规则,在添加或修改完成后,也需要执行iptables-save >/path/to/your/iptables-rules,并且执行完成后需要执行 sudo systemctl restart iptables.service 来使规则生效