CentOS8 Firewalld 高级规则中级实操教程

CentOS8 Firewalld 高级规则中级实操教程

一、服务概述

Firewalld 是 CentOS8 默认动态防火墙,区别于传统 iptables,支持区域管理、富规则、端口转发、IP 黑名单、服务放行、定时规则,无需重启即可生效,是生产环境首选防火墙。

二、实验环境

系统:CentOS8

关闭 SELinux,开启 firewalld

|-----------------------------------------------------------|
| bash systemctl start firewalld systemctl enable firewalld |

三、基础核心操作实操

3.1 查看防火墙状态与区域

|-----------------------------------------------------------------------------------|
| bash firewall-cmd --state firewall-cmd --get-active-zones firewall-cmd --list-all |

3.2 放行端口与服务

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| bash # 放行80、443端口永久生效 firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp # 放行http服务 firewall-cmd --permanent --add-service=http # 重载生效 firewall-cmd --reload |

四、高级富规则实操(企业核心)

富规则可实现基于 IP、网段、协议、端口精准控制

4.1 允许指定 IP 访问所有端口

|----------------------------------------------------------------------------------------------------|
| bash firewall-cmd --permanent --rich-rule='rule family=ipv4 source address=192.168.10.0/24 accept' |

4.2 禁止指定 IP 访问服务器

|--------------------------------------------------------------------------------------------|
| bash firewall-cmd --permanent --rich-rule='rule family=ipv4 source address=10.0.0.10 drop' |

4.3 仅允许指定 IP 连接 22 端口

|----------------------------------------------------------------------------------------------------------------------------|
| bash firewall-cmd --permanent --rich-rule='rule family=ipv4 source address=192.168.10.50 port protocol=tcp port=22 accept' |

五、端口转发与内网穿透实操

将本机 8080 端口流量转发至内网机器:

|---------------------------------------------------------------------------------------------------------------------------|
| bash firewall-cmd --permanent --add-forward-port=port=8080:proto=tcp:toaddr=192.168.10.90:toport=80 firewall-cmd --reload |

六、规则查询与删除

|--------------------------------------------------------------------------------------------------------|
| bash # 查看所有规则 firewall-cmd --list-all --permanent # 删除端口 firewall-cmd --permanent --remove-port=80/tcp |

七、常见报错排错

  1. 规则不生效:未加 --permanent、未 reload
  1. 远程连接断开:错误禁止 22 端口
  1. 转发无效:未开启内核转发

八、运维最佳实践

  1. 生产环境禁止关闭防火墙,只做精准放行
  1. 外网服务器使用富规则限制访问源 IP
  1. 业务端口最小化放行,杜绝全端口开放
  1. 定期清理无效防火墙规则
相关推荐
光电的一只菜鸡1 天前
ubuntu之坑(二十)——VMware虚拟机系统无法正常进入如何处理
linux·运维·ubuntu
青 春 记 忆1 天前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
MC皮蛋侠客1 天前
DNP3 系列(十二):测试与工具链——模拟器、Wireshark 与一致性测试
网络·wireshark·dnp3
Java王小怪1 天前
Docker环境Redis没挂载保存数据
运维·docker·容器
你住过的屋檐1 天前
【Nginx】linux上安装nginx
linux·运维·nginx
宵时待雨1 天前
linux笔记归纳17:传输层协议UDP
linux·笔记·udp
观测云1 天前
Fastjson 高危 RCE(CVE-2026-16723):如何用观测云快速发现并完成修复
网络·安全·可观测性·观测云
大模型码小白1 天前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
晓晓_za8986681 天前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
SCandL1521 天前
k8s service
linux·容器·kubernetes