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. 定期清理无效防火墙规则
相关推荐
微软技术分享几秒前
面向二进制安全的大模型多智能体框架
网络·安全·web安全
不会就选b29 分钟前
Linux之TCP理论<1>
linux·运维·服务器
小π军1 小时前
操作系统面试题
java·linux·服务器
倔强的石头1062 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
Lsetea2 小时前
curl用IP测试HTTPS报证书不匹配:--resolve与Host头别混用
linux·https·ssl证书·openssl·curl
Hao2852 小时前
Windows11 下把 WSL2 Ubuntu 26.04 装到 D 盘完整
linux
Android系统攻城狮3 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
_upupup3 小时前
Linux中的自动化构建——make/Makefile
linux·运维·自动化
HEJOO94 小时前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法
还卿一钵无情泪4 小时前
Docker 部署Unsloth 绕开环境配置难题
运维·人工智能·docker·ai·容器·nlp·干货