Ubuntu22.04通过systemd实现iptables持久化

创建并编辑service文件,如iptables.service和iptables6.service,以在系统启动时自动应用iptables和IPv6防火墙规则。通过systemctl命令启用和启动服务,确保规则生效,并使用iptables-save持久化规则。错误的规则可能导致网络问题,需谨慎操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 创建一个 service 文件:
    运行以下命令来创建一个新的 service 文件(例如 iptables.service):

    sudo nano /etc/systemd/system/iptables.service
    
  2. 编辑 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 文件类似,请确保替换文件路径。

  3. 保存和关闭文件:
    按下 Ctrl + X 键以退出编辑模式,然后按下 Y 键并按下 Enter 键保存并关闭文件。

  4. 启用和启动服务:
    运行以下命令来启用和启动服务:

    sudo systemctl enable iptables.service
    sudo systemctl start iptables.service
    

    如果您还创建了 IPv6 规则的 service 文件,请运行以下命令以相应地启用和启动它:

    sudo systemctl enable iptables6.service
    sudo systemctl start iptables6.service
    
  5. 验证服务是否正在运行:
    运行以下命令来检查服务的状态:

    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 来使规则生效

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值