CentOS系统防火墙服务介绍

CentOS 系统使用的是 firewalld 防火墙服务(从 CentOS 7 开始),它基于 zone(区域)service(服务) 的机制来配置网络访问控制,替代了传统的 iptables

iptables 是 Linux 系统中用于管理网络流量和防火墙规则的核心工具,基于 内核级的网络包过滤机制(Netfilter)。它通过定义一系列规则,控制进出服务器的数据包,实现流量过滤、网络地址转换(NAT)、端口转发等功能,是 Linux 网络安全的重要组成部分。

一、firewalld 基础命令

✅ 1. 查看防火墙状态
复制代码
sudo firewall-cmd --state

返回 running 表示已开启。

✅ 2. 查看当前开放的服务(推荐)
复制代码
sudo firewall-cmd --list-services

返回结果示例:

复制代码
ssh dhcpv6-client http https

表示当前区域放行了 sshhttp 等服务。

✅ 3. 查看开放的端口(数字端口)
复制代码
sudo firewall-cmd --list-ports

返回示例:

复制代码
8080/tcp 3306/tcp

这些是你显式添加的数字端口

✅ 4. 查看默认区域(Zone)
复制代码
sudo firewall-cmd --get-default-zone

默认一般是 public

✅ 5. 查看指定区域的全部规则
复制代码
sudo firewall-cmd --zone=public --list-all

二、常用配置命令

✅ 1. 开放指定端口(如 8080)
复制代码
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

然后重载使其生效:

复制代码
sudo firewall-cmd --reload
✅ 2. 删除开放的端口
复制代码
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --reload
✅ 3. 放行一个服务(如 ssh、http、mysql)
复制代码
sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reload

Firewalld 中服务是预定义的,比如 ssh = 22,http = 80,mysql = 3306。

✅ 4. 永久关闭防火墙(不推荐)
复制代码
sudo systemctl stop firewalld
sudo systemctl disable firewalld
✅ 5. 临时关闭防火墙
复制代码
sudo systemctl stop firewalld

三、systemctl命令打开关闭的防火墙

✅ 第一步:启动 firewalld 服务(立即生效)
复制代码
sudo systemctl start firewalld

这条命令会立即启动防火墙服务。

✅ 第二步:设置开机自动启动(永久开启)
复制代码
sudo systemctl enable firewalld

这条命令确保 firewalld 在系统重启后会自动启动。

✅ 第三步:检查 firewalld 状态
复制代码
sudo systemctl status firewalld

如果运行成功,你会看到类似:

● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since ...

补充:如果你之前彻底关闭了防火墙

你可以用以下命令检查并取消关闭状态:

复制代码
sudo systemctl unmask firewalld

然后再执行上面的 startenable

相关推荐
小叶lr3 分钟前
jenkins打包前端样式丢失/与本地不一致问题
运维·前端·jenkins
Agent产品评测局6 分钟前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
亚空间仓鼠20 分钟前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
minji...1 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
虚伪的空想家1 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
the sun342 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器
三思守心2 小时前
从 0 到 1 搭建自动化内容工厂:深度测评楼兰AI及其在全平台发帖中的表现
运维·服务器·自动化
草莓熊Lotso2 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql
ShineWinsu2 小时前
对于Linux:文件操作以及文件IO的解析
linux·c++·面试·笔试·io·shell·文件操作
ZKNOW甄知科技2 小时前
数智同行:甄知科技2026年Q1季度回顾
运维·服务器·人工智能·科技·程序人生·安全·自动化