centos

CentOS iptables规则持久化方法

小樊
88
2025-07-22 15:12:31
栏目: 智能运维

在CentOS系统中,为了确保iptables规则在系统重启后仍然有效,可以采用以下几种方法进行持久化:

使用 iptables-servicesfirewalld

  1. 安装 iptables-servicesfirewalld

    sudo yum install iptables-services firewalld
    
  2. 启动并启用 firewalld 服务

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  3. 使用 firewall-cmd 命令添加防火墙规则

    sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
    
  4. 重新加载防火墙配置

    sudo firewall-cmd --reload
    
  5. 禁用并停止 iptables 服务(可选):

    sudo systemctl stop iptables
    sudo systemctl disable iptables
    

通过以上步骤,firewalld 服务管理的iptables规则将会持久化,系统重启后规则仍然有效。

手动保存和恢复iptables规则

  1. 保存当前的iptables规则到文件

    sudo iptables-save > /etc/sysconfig/iptables
    
  2. 创建一个脚本文件,例如 /etc/rc.d/rc.local,并在其中添加以下内容

    #!/bin/sh
    /sbin/iptables-restore < /etc/sysconfig/iptables
    exit 0
    
  3. 赋予脚本执行权限

    sudo chmod +x /etc/rc.d/rc.local
    
  4. 确保 /etc/rc.d/rc.local 在系统启动时执行(通常默认启用)。

使用 iptables-persistent

  1. 安装 iptables-persistent

    sudo yum install iptables-persistent
    
  2. 保存当前的iptables规则

    sudo service iptables save
    
  3. 查看保存的规则文件: 默认情况下,规则会被保存到 /etc/sysconfig/iptables 文件中。

  4. 重启系统后,规则会自动加载

使用 firewalld 服务的额外说明(适用于CentOS 7及以上版本)

通过以上方法,你可以确保iptables规则在CentOS系统中生效并持久化。在进行任何防火墙规则的更改之前,请确保你了解这些更改的影响,并备份现有的规则。

0
看了该问题的人还看了