首页主机资讯centos stream8如何管理防火墙

centos stream8如何管理防火墙

时间2026-01-19 03:05:04发布访客分类主机资讯浏览987
导读:CentOS Stream 8 防火墙管理指南 一 基础操作与常用命令 在 CentOS Stream 8 中,默认使用 firewalld 管理防火墙,支持运行时与永久两种配置模式,并基于“区域”进行策略划分。常用命令如下: 安装与启...

CentOS Stream 8 防火墙管理指南

一 基础操作与常用命令

  • CentOS Stream 8 中,默认使用 firewalld 管理防火墙,支持运行时与永久两种配置模式,并基于“区域”进行策略划分。常用命令如下:
    • 安装与启停
      • 安装:sudo dnf install -y firewalld
      • 启动/停止:sudo systemctl start|stop firewalld
      • 开机自启/禁用:sudo systemctl enable|disable firewalld
      • 查看状态:sudo firewall-cmd --statesystemctl status firewalld
    • 运行时与永久配置
      • 查看运行时规则:sudo firewall-cmd --list-all
      • 永久规则需加 –permanent,变更后执行 sudo firewall-cmd --reload 使配置生效
    • 区域与网卡
      • 查看默认区域:sudo firewall-cmd --get-default-zone
      • 设置默认区域:sudo firewall-cmd --set-default-zone=public
      • 查看活动区域与网卡:sudo firewall-cmd --get-active-zones
      • 将网卡加入区域:sudo firewall-cmd --zone=public --add-interface=eth0
    • 服务与端口
      • 查看预定义服务:sudo firewall-cmd --get-services
      • 开放服务(示例:HTTP/HTTPS):sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload
      • 开放端口(示例:TCP 80):sudo firewall-cmd --permanent --add-port=80/tcp & & sudo firewall-cmd --reload
      • 关闭端口:sudo firewall-cmd --permanent --remove-port=80/tcp & & sudo firewall-cmd --reload
    • 富规则(复杂策略)
      • 仅允许指定来源访问 SSH(示例:192.168.1.100):
        sudo firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port port=“22” protocol=“tcp” accept’ & & sudo firewall-cmd --reload
      • 删除富规则:将 add-rich-rule 换为 remove-rich-rule 后执行并 –reload
    • ICMP 与 Ping
      • 允许 Ping(ICMP Echo Request):sudo firewall-cmd --permanent --add-icmp-block-inversion(推荐方式,默认拒绝 ICMP,再放行 echo-request)
      • 如之前误用了 –add-icmp-block=echo-request 导致无法 ping,可移除:sudo firewall-cmd --permanent --remove-icmp-block=echo-request & & sudo firewall-cmd --reload
    • 图形界面
      • 安装后可运行:sudo dnf install -y firewall-config;本地执行 firewall-config 进行可视化配置(远程 SSH 会话不建议使用 GUI)。

二 常见场景示例

  • 放行 Web 服务(HTTP/HTTPS)
    • sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload
  • 放行自定义端口(示例:TCP 8080
    • sudo firewall-cmd --permanent --add-port=8080/tcp & & sudo firewall-cmd --reload
  • 仅允许指定 IP 访问 SSH(示例:203.0.113.10
    • sudo firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“203.0.113.10” port port=“22” protocol=“tcp” accept’ & & sudo firewall-cmd --reload
  • 放行 MQTT、Kafka、Grafana(常见于物联网/可视化平台)
    • sudo firewall-cmd --permanent --add-port={ 1883,8883,9092,3000} /tcp & & sudo firewall-cmd --reload
  • 允许 Ping
    • sudo firewall-cmd --permanent --add-icmp-block-inversion & & sudo firewall-cmd --reload

三 最佳实践与安全建议

  • 变更前先备份当前规则:sudo firewall-cmd --runtime-to-permanent(将当前运行时配置固化为永久);必要时备份 /etc/firewalld/ 配置目录。
  • 远程维护时避免锁死:优先使用已放行的端口(如 22/TCP)进行操作;如修改 SSH 端口,先确保新端口已放行再变更 sshd 配置并重启。
  • 使用“区域”做环境隔离:对外网接口使用 public,对内网接口使用 internal/trusted,精细化控制来源与端口。
  • 明确协议与方向:添加端口时显式指定 /tcp/udp;仅开放业务必需端口,最小化暴露面。
  • 变更后校验:执行 sudo firewall-cmd --list-allsudo firewall-cmd --list-ports 核对规则;必要时用 ss -tulpen | grep < 端口> 验证监听与连通性。
  • 避免工具混用:firewalld 与 iptables/nftables 不应并行启用,以免策略冲突;统一通过 firewalld 管理规则。

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


若转载请注明出处: centos stream8如何管理防火墙
本文地址: https://pptw.com/jishu/785135.html
centos邮件服务器的迁移步骤是什么 centos邮件服务器如何更新维护

游客 回复需填写必要信息