大家好,欢迎来到IT知识分享网。
上一次,我们挑战了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抓包从入门到精通》,带你真正“看见”数据包!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/189451.html