温馨提示×

Linux iptables规则如何持久化保存

小樊
43
2025-12-12 01:03:38
栏目: 智能运维

在Linux系统中,iptables规则的持久化保存可以通过多种方法实现。以下是一些常见的方法:

方法一:使用iptables-saveiptables-restore

  1. 保存当前iptables规则

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

    对于IPv6规则:

    sudo ip6tables-save > /etc/iptables/rules.v6
    
  2. 创建一个启动脚本: 在/etc/network/if-pre-up.d/目录下创建一个脚本文件,例如iptables

    sudo nano /etc/network/if-pre-up.d/iptables
    

    添加以下内容:

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

    赋予脚本执行权限:

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

方法二:使用iptables-persistent

  1. 安装iptables-persistent

    sudo apt-get update
    sudo apt-get install iptables-persistent
    

    在安装过程中,系统会提示你是否保存当前的iptables规则,选择“是”。

  2. 手动保存规则: 如果已经安装了iptables-persistent,可以通过以下命令手动保存规则:

    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    

方法三:使用firewalld

如果你的系统使用firewalld作为防火墙管理工具,可以通过以下步骤实现规则的持久化:

  1. 安装firewalld

    sudo apt-get update
    sudo apt-get install firewalld
    
  2. 启用并启动firewalld

    sudo systemctl enable firewalld
    sudo systemctl start firewalld
    
  3. 配置防火墙规则: 使用firewall-cmd命令添加或修改规则,例如:

    sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
    sudo firewall-cmd --reload
    

方法四:使用nftables

如果你的系统支持nftables,可以通过以下步骤实现规则的持久化:

  1. 安装nftables

    sudo apt-get update
    sudo apt-get install nftables
    
  2. 启用并启动nftables

    sudo systemctl enable nftables
    sudo systemctl start nftables
    
  3. 配置防火墙规则: 使用nft命令添加或修改规则,例如:

    sudo nft add rule inet filter input tcp dport 80 accept
    sudo nft list ruleset
    

通过以上方法之一,你可以确保iptables规则在系统重启后仍然有效。选择哪种方法取决于你的具体需求和系统环境。

0