首页主机资讯CentOS Trigger如何管理防火墙

CentOS Trigger如何管理防火墙

时间2025-11-10 12:02:03发布访客分类主机资讯浏览1395
导读:CentOS防火墙管理指南(基于firewalld) CentOS 7及以上版本默认使用firewalld作为防火墙管理工具,替代了传统的iptables。以下是firewalld的核心管理操作,涵盖生命周期、端口/服务配置及状态检查等场景...

CentOS防火墙管理指南(基于firewalld)
CentOS 7及以上版本默认使用firewalld作为防火墙管理工具,替代了传统的iptables。以下是firewalld的核心管理操作,涵盖生命周期、端口/服务配置及状态检查等场景:

一、firewalld生命周期管理

通过systemctl命令控制firewalld服务的启动、停止及开机自启:

  • 启动防火墙systemctl start firewalld.service
  • 停止防火墙systemctl stop firewalld.service
  • 重启防火墙systemctl restart firewalld.service(修改规则后需重启使配置生效)
  • 查看防火墙状态systemctl status firewalld.service(显示“active (running)”表示运行中)
  • 开机启用防火墙systemctl enable firewalld.service(系统启动时自动启动)
  • 开机禁用防火墙systemctl disable firewalld.service(禁止系统启动时自动启动)

二、防火墙状态与规则查看

  1. 查看防火墙整体状态

    • firewall-cmd --state:快速确认防火墙是否运行(返回“running”表示运行中)。
    • systemctl status firewalld:查看更详细的运行状态(包括是否开机自启)。
  2. 查看当前开放的端口与服务

    • firewall-cmd --zone=public --list-ports:列出public区域(默认区域)下所有开放的TCP/UDP端口。
    • firewall-cmd --zone=public --list-services:列出public区域下所有允许的服务(如http、https、ssh等,服务名称对应预定义的端口规则)。
  3. 查看指定接口所属区域

    • firewall-cmd --get-zone-of-interface=eth0(将“eth0”替换为实际网卡名称):确认网卡所属的安全区域,不同区域的规则独立配置。

三、端口配置(开放/关闭/删除)

firewalld支持临时(重启后失效)和永久(重启后保留)两种规则配置,生产环境建议使用永久规则+reload生效。

  • 开放端口(永久)
    firewall-cmd --zone=public --add-port=80/tcp --permanent(开放TCP协议的80端口,适用于HTTP服务)
    firewall-cmd --zone=public --add-port=443/tcp --permanent(开放HTTPS服务的443端口)
  • 开放端口(临时,重启后失效)
    去掉--permanent参数,如firewall-cmd --zone=public --add-port=8080/tcp(仅当前会话有效)。
  • 关闭端口(永久)
    firewall-cmd --zone=public --remove-port=80/tcp --permanent(移除80端口的开放规则)。
  • 删除端口规则(临时)
    去掉--permanent参数,如firewall-cmd --zone=public --remove-port=8080/tcp
  • 使规则生效
    修改规则后必须执行firewall-cmd --reload(重新加载配置),否则临时规则不会更新,永久规则不会应用。

四、服务配置(开放/关闭预定义服务)

firewalld内置了常见服务(如http、ssh、ftp等)的端口规则,可通过服务名称快速配置,避免手动输入端口号。

  • 开放服务(永久)
    firewall-cmd --zone=public --add-service=http --permanent(开放http服务,默认端口80/tcp)
    firewall-cmd --zone=public --add-service=https --permanent(开放https服务,默认端口443/tcp)
    firewall-cmd --zone=public --add-service=ssh --permanent(开放ssh服务,默认端口22/tcp,允许远程登录)
  • 关闭服务(永久)
    firewall-cmd --zone=public --remove-service=http --permanent(移除http服务的开放规则)。
  • 查看支持的服务列表
    firewall-cmd --get-services(列出所有预定义的服务名称,如ftp、mysql、smtp等)。
  • 检查服务是否开放
    firewall-cmd --query-service ssh(返回“yes”表示ssh服务已开放,“no”表示未开放)。

五、其他常用操作

  • 查看所有区域及配置
    firewall-cmd --get-active-zones(显示当前活动的安全区域及绑定的接口);
    firewall-cmd --zone=public --list-all(查看public区域的完整配置,包括端口、服务、源IP等)。
  • 拒绝所有外部访问(测试用)
    firewall-cmd --panic-on(启用紧急模式,拒绝所有入站流量,仅允许本地回环);
    firewall-cmd --panic-off(关闭紧急模式,恢复正常访问)。
  • 查看是否处于紧急模式
    firewall-cmd --query-panic(返回“yes”表示处于紧急模式,“no”表示正常)。

注意事项

  1. 优先使用服务配置:预定义服务包含标准端口,配置更便捷且不易出错(如开放http服务等同于开放80/tcp端口)。
  2. 避免开放不必要的端口:仅开放业务必需的端口(如Web服务开放80/443,数据库服务开放3306),减少攻击面。
  3. 备份配置文件:修改规则前可备份/etc/firewalld/目录下的配置文件(如public.xml),便于恢复。
  4. 测试配置有效性:开放端口后,可通过外部设备(如手机、另一台电脑)访问对应端口(如http://服务器IP:80),确认规则生效。

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


若转载请注明出处: CentOS Trigger如何管理防火墙
本文地址: https://pptw.com/jishu/746105.html
CentOS Trigger如何配置虚拟机 CentOS readdir如何实现文件筛选

游客 回复需填写必要信息