网站首页 > 教程文章 正文
上一次,我们挑战了Linux防火墙的“上古神器”iptables,很多朋友感觉它很强大,但那一大堆复杂的“表”和“链”,也确实很“劝退”。
别怕,时代在进步!从CentOS 7开始,官方为我们提供了一个更简单、更人性化的新一代防火墙管理工具——firewall-cmd。
如果说iptables是需要手动挡、跟趾漂移的老司机,那么firewall-cmd就是人人都能轻松上手的“自动挡”。今天,我们就来看看这个“亲民版”的保安,到底有多好用。
一、firewall-cmd的核心思想:从“规则”到“场景”
iptables的思维是“基于规则”的,你需要像写法律条文一样,手动定义允许哪个IP、哪个端口通过。
而firewall-cmd的思维是“基于场景”的,它更智能。它引入了两个核心概念:
1. 区域 (Zone)
- 比喻:你可以把它理解为,你电脑网卡当前所处的“安全场景”。
- 举例:比如,当你带着笔记本连接到机场的公共Wi-Fi时,你可以把网卡放入public(公共)区域,防火墙会启用一套非常严格的规则;
- 当你回到家里,可以切换到home(家庭)区域,规则就会宽松很多。它为你预设了多种场景,一键切换,非常方便。
2. 服务 (Service)
- 比喻:这是一个个预设好的“规则套餐”。
- 举例:在iptables里,要开放Web服务,你得手动写iptables -A INPUT -p tcp --dport 80 -j ACCEPT。而在firewall-cmd里,你只需要告诉它:firewall-cmd --add-service=http,它就会自动帮你把HTTP服务需要的80端口等一系列规则,全部配置好。
二、常用命令实战:5分钟上手
firewall-cmd的命令非常语义化,一看就懂。
1. 状态查看
- 查看防火墙状态:firewall-cmd --state
- 查看当前活动的区域:firewall-cmd --get-active-zones
- 查看某个区域的所有配置:firewall-cmd --zone=public --list-all
2. 核心操作:开放服务和端口
- 【最常用】 开放HTTP服务(80端口):
- firewall-cmd --zone=public --add-service=http --permanent
- 解读:
- --zone=public:指定在“公共”这个区域操作。
- --add-service=http:添加“http”这个服务套餐。
- --permanent:永久生效。不加这个参数,重启后规则就没了!
- 【重载生效】 添加永久规则后,必须重载防火墙:
- firewall-cmd --reload
- 开放一个自定义端口(比如8080):
- firewall-cmd --zone=public --add-port=8080/tcp --permanent
三、总结:新老搭配,干活不累
firewall-cmd以其易用性和场景化管理,极大地降低了Linux防火墙的配置门槛,非常适合日常和标准化的应用。
当然,iptables凭借其无与伦比的灵活性和强大的底层控制能力,在处理复杂、精细化的网络策略时,依然是无可替代的王者。
对于现代运维工程师来说,firewall-cmd就像是方便好用的“自动挡”,而iptables就像是高手能玩出漂移的“手动挡”,同时掌握,才能在服务器安全的战场上游刃有-余。
如果这篇“亲民版”的防火墙手册让你有所收获,请务必【点赞收藏】,再点个【关注】。我们的“命令行”系列暂告一段落,下期将开启一个全新的、更直观的篇章——《Wireshark抓包从入门到精通》,带你真正“看见”数据包!
猜你喜欢
- 2025-10-13 【涨知识】anolis 防火墙端口操作
- 2025-10-13 国际云代理商:IPS与IDS与防火墙与WAF,它们之间有什么区别?
- 2025-10-13 运维基操-防火墙Firewalld 使用指南
- 2025-10-13 iptables 使用conntrack ctstate 提高防火墙处理效率
- 2025-10-13 网闸与防火墙,一个擅长隔离,一个精于过滤
- 2025-10-13 网络安全四大天王:IDS、IPS、防火墙、蜜罐
- 2025-10-13 现在的防火墙太强大了,天然集成IPS和IDS
- 2025-10-13 防火墙如何处理网络协议的不同层次
- 2025-10-13 每天一个网络知识:什么是防火墙?_什么是防火墙,有哪些基本类型
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)