首页主机资讯CentOS镜像中的防火墙设置教程

CentOS镜像中的防火墙设置教程

时间2025-10-01 00:00:04发布访客分类主机资讯浏览1211
导读:CentOS镜像中firewalld防火墙设置教程(适用于CentOS 7及以上版本) 一、firewalld基础认知 firewalld是CentOS 7及以上版本的默认防火墙管理工具,采用动态管理模式,支持IPv4/IPv6双栈,允许实...

CentOS镜像中firewalld防火墙设置教程(适用于CentOS 7及以上版本)

一、firewalld基础认知

firewalld是CentOS 7及以上版本的默认防火墙管理工具,采用动态管理模式,支持IPv4/IPv6双栈,允许实时调整规则(无需重启服务),并通过**区域(Zone)**机制划分网络信任级别(如public、home、internal等)。默认区域为public,适用于公网服务器。

二、firewalld安装(若未预装)

多数CentOS镜像已默认安装firewalld,可通过以下命令验证:

rpm -q firewalld

若未安装,执行以下命令安装:

sudo yum install -y firewalld

三、firewalld服务管理

  1. 启动firewalld
    sudo systemctl start firewalld
    
  2. 设置开机自启(避免重启后失效):
    sudo systemctl enable firewalld
    
  3. 停止firewalld(临时禁用,生产环境不推荐):
    sudo systemctl stop firewalld
    
  4. 禁用开机自启
    sudo systemctl disable firewalld
    
  5. 查看服务状态
    sudo systemctl status firewalld   查看服务运行状态
    sudo firewall-cmd --state         查看firewalld是否激活
    

四、核心规则配置

1. 查看当前规则

  • 查看所有开放端口与服务
    sudo firewall-cmd --list-all
    
  • 仅查看开放端口
    sudo firewall-cmd --list-ports
    
  • 查看所有可用服务
    sudo firewall-cmd --get-services
    

2. 添加规则(永久生效)

  • 添加端口(如开放HTTP端口80/tcp、HTTPS端口443/tcp):
    sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
    sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
    
  • 添加服务(如开放SSH服务,默认端口22/tcp):
    sudo firewall-cmd --permanent --zone=public --add-service=ssh
    
  • 添加富规则(高级场景,如允许特定IP访问):
    sudo firewall-cmd --permanent --zone=public --add-rich-rule=&
        x27;
        rule family="ipv4" source address="192.168.1.100" accept&
        x27;
        
    

3. 删除规则(永久生效)

  • 删除端口
    sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp
    
  • 删除服务
    sudo firewall-cmd --permanent --zone=public --remove-service=ssh
    
  • 删除富规则
    sudo firewall-cmd --permanent --zone=public --remove-rich-rule=&
        x27;
        rule family="ipv4" source address="192.168.1.100" accept&
        x27;
        
    

4. 重新加载配置

添加/删除规则后,必须执行以下命令使更改生效:

sudo firewall-cmd --reload

五、区域(Zone)管理

  • 查看所有可用区域
    sudo firewall-cmd --get-zones
    
  • 更改默认区域(如将默认区域设为home):
    sudo firewall-cmd --set-default-zone=home
    
  • 将接口绑定到指定区域(如将eth0接口绑定到public区域):
    sudo firewall-cmd --permanent --zone=public --change-interface=eth0
    sudo firewall-cmd --reload
    

六、安全增强建议

  1. 启用SELinux:SELinux与firewalld配合,提供更细粒度的安全控制。确保SELinux处于Enforcing模式:
    sudo setenforce 1           临时启用
    sudo vi /etc/selinux/config   设置SELINUX=enforcing(永久生效)
    
  2. 日志记录:开启firewalld日志,便于排查问题:
    sudo firewall-cmd --permanent --zone=public --add-log-prefix="Firewall: "
    sudo firewall-cmd --reload
    
  3. 定期审计规则:每月检查一次防火墙规则,移除不必要的开放端口/服务。

七、常见问题解决

  • 规则不生效:忘记执行--reload命令,或规则未添加--permanent参数(临时规则重启后失效)。
  • 无法启动firewalld:检查是否有其他防火墙工具(如iptables)冲突,可通过systemctl stop iptables停止冲突服务。
  • 端口未开放:确认服务是否监听正确端口(ss -tulnp | grep < port> ),并检查云服务商安全组设置(若有)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS镜像中的防火墙设置教程
本文地址: https://pptw.com/jishu/714964.html
CentOS中Golang打包流程是怎样的 CentOS镜像中的SELinux配置指南

游客 回复需填写必要信息