Stream8防火墙规则设置方法
CentOSStream8使用firewalld管理防火墙,支持动态更新规则。核心功能包括区域管理、端口 服务控制及富规则。操作涵盖安装启动、状态检查、配置默认区域、开放端口与服务、设置IP访问限制,以及重载配置生效。
CentOS Stream 8 的防火墙管理,核心工具就是 firewalld。这款动态防火墙守护进程最大的优势在于支持热更新规则,修改配置后无需重启服务即可立即生效,对生产环境非常友好。其核心玩法涵盖区域管理、端口与服务控制、富规则等高级功能。接下来,我们逐步讲解具体操作步骤。

1. 安装与启动 firewalld
如果系统中尚未安装 firewalld,执行以下命令即可完成部署:
sudo dnf install firewalld
安装完成后,启动服务并将其设置为开机自启动:
sudo systemctl start firewalld # 启动 firewalld 服务
sudo systemctl enable firewalld # 配置开机自动启动
2. 检查防火墙状态
首先确认服务是否正常运行。通过下面两条命令可以清晰查看:
- 查看 firewalld 运行状态(确认是否为
active (running)):sudo systemctl status firewalld - 查看当前防火墙整体状态(是否处于启用状态):
sudo firewall-cmd --state
3. 管理区域(Zone)
区域是 firewalld 中一个核心概念,简单来说就是为不同网络环境设置差异化的安全级别。例如 public(公共区域)、private(私有区域)、trusted(信任区域)等。常用操作包括:
- 查看当前默认区域:
sudo firewall-cmd --get-default-zone - 设置默认区域(例如更改为
public):sudo firewall-cmd --set-default-zone=public - 查看哪些区域处于活动状态,以及它们绑定了哪个网络接口:
sudo firewall-cmd --get-active-zones sudo firewall-cmd --get-zone-of-interface=eth0 # 查看 eth0 接口归属于哪个区域 - 将某个接口绑定到指定区域(例如将
eth0绑定到public区域):sudo firewall-cmd --zone=public --change-interface=eth0 --permanent sudo firewall-cmd --reload
4. 配置端口与服务规则
4.1 管理端口
- 查看当前所有已开放的端口:
sudo firewall-cmd --zone=public --list-ports - 临时开放某个端口(例如
8080/tcp),立即生效但重启后失效:sudo firewall-cmd --add-port=8080/tcp - 永久开放端口,需要重载配置后才能生效:
sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload - 删除端口规则(例如关闭
8080/tcp端口):sudo firewall-cmd --permanent --remove-port=8080/tcp sudo firewall-cmd --reload
4.2 管理服务
firewalld 预置了许多常见服务的规则,例如 http、ssh、mysql 等,直接使用服务名进行管理比手动配置端口更加便捷:
- 查看当前允许的服务列表:
sudo firewall-cmd --list-services - 临时允许某个服务(例如
http服务):sudo firewall-cmd --add-service=http - 永久允许服务:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload - 移除服务规则:
sudo firewall-cmd --remove-service=http
5. 配置富规则(Rich Rules)
当基础规则无法满足精细化管控需求时,富规则便派上用场。它支持更灵活的策略,例如允许或拒绝特定 IP、端口或协议,语法相对灵活。以下为几个常用场景:
- 允许特定 IP 访问某端口(例如仅允许
192.168.1.100访问3306/tcp):sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="3306" protocol="tcp" accept' sudo firewall-cmd --reload - 拒绝特定 IP 访问所有端口(例如封禁
192.168.1.200):sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.200" reject' sudo firewall-cmd --reload - 允许某网段访问某服务(例如允许
192.168.1.0/24整个网段使用ssh服务):sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept' sudo firewall-cmd --reload
6. 其他实用操作
- 查看所有防火墙规则(端口、服务、富规则一目了然):
sudo firewall-cmd --list-all - 重载防火墙配置,使永久规则生效,且不会中断现有连接:
sudo firewall-cmd --reload - 完全重载配置,此操作会中断现有连接,一般情况下请谨慎使用:
sudo firewall-cmd --complete-reload - 临时关闭防火墙(生产环境不建议执行此操作):
sudo systemctl stop firewalld
注意事项
- 备份规则:在进行修改之前,建议先备份当前配置,例如使用
sudo firewall-cmd --list-all > firewall-backup.txt。 - 测试规则:尤其是在生产环境中,规则修改后应先通过测试环境验证,确认无误后再正式上线。
- 安全性:遵循最小权限原则——仅开放必要的端口,每少开一个端口就降低一分风险。
以上操作基本覆盖了 CentOS Stream 8 防火墙的核心配置需求,具体如何应用可根据实际场景灵活调整。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
用 LlamaIndex 做 RAG 前,先把 Reader、Index、Retriever 的边界写清楚
LlamaIndex 不适合用“5 行代码做一个 RAG demo”来判断好坏。那个 demo 只能证明框架能跑通一次,不证明你的数据进入系统后仍然可追踪,不证明检索结果能解释,不证明 Agent 的
Go语言AES混淆加密解密敏感数据详解
Go语言AES加密需注意:密钥长度必须为16、24或32字节,否则会引发panic;CBC模式解密乱码常因IV或PKCS7填充错误;GCM模式中nonce不可重用,否则密钥可被恢复;ECB模式因明文块输出固定密文,存在安全风险,不建议使用。
C++ std::atomic::wait高性能轮询等待原子变量状态变化
C++20的std::atomic::wait是轻量级等待机制,需GCC11+ Clang12+及glibc≥2 34,macOS不支持。需与notify配对,注意内存序,循环检查防虚假唤醒。超时版本精度有限,高性能关键在notify时机与内存序正确性。
VSCode左侧边栏不见了?快速找回方法
按Ctrl+B或Cmd+B可恢复被误触隐藏的侧边栏。若无效,需检查窗口焦点是否在编辑器、是否处于全屏或Zen模式、workbench activityBar visible配置项、扩展冲突以及远程环境同步问题,并逐一排查。
VSCode中利用Node批量修改多媒体文件元数据标签
music-metadata库支持跨格式读写MP3、FLAC、M4A、WAV等音频元数据,需先用parseFile()初始化,再调用writeMetadata()写入。批量修改前必须验证写入支持,封面图片需为Uint8Array格式。在VSCode终端运行脚本比插件更可控,处理中文路径时需切换终端代码页为UTF-8并指定ID3v2 3版本以避免乱码。
- 热门数据榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-07-13 14:05
2026-07-13 06:53
2026-07-13 06:53
2026-07-13 06:53
2026-07-13 06:53
2026-07-13 06:53
2026-07-13 06:52
2026-07-13 06:52
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

