Firewalld防火墙怎么用,怎么设置?

Firewalld防火墙是Linux系统上动态管理网络规则的利器,相比iptables更直观易用,尤其适合CentOS/RHEL 7及以上环境。

Firewalld引入区域(zone)概念,将网络接口与规则集绑定,告别了iptables那套繁琐的链式操作,日常运维中,你只需要通过firewall-cmd命令就能快速开放端口、配置服务,无需重启服务即可生效,对于新手和运维老手来说,它都算得上是一种更贴近现代网络管理需求的方案。

linux系统中firewalld防火墙的使用
加载中
linux系统中firewalld防火墙的使用

Firewalld防火墙和iptables对比:谁更适合你的场景?

很多人在入门Linux防火墙时,都会纠结该选Firewalld还是iptables,两者底层都依赖Netfilter,但管理方式和设计理念差异明显。

核心区别:动态管理 vs 静态规则

  • Firewalld:采用动态规则,修改后无需重启防火墙,直接生效(除非你加了--permanent参数),规则基于区域,你可以把不同网络接口(如eth0、wlan0)划入不同信任级别,比如把内网接口放入trusted区域,公网接口放入public区域。
  • iptables:属于静态规则,每次修改后必须手动保存并重启服务,否则重启后丢失,规则是扁平化的链式处理,所有流量都得按顺序匹配,管理起来不够直观。

应用场景选择

  • 如果你的服务器主要跑在CentOS 7/8、RHEL 7+、Fedora这些现代发行版上,行业共识认为Firewalld是默认推荐,因为它能更轻松地处理动态网络环境,比如虚拟机网桥、Docker端口映射。
  • 如果你在维护老旧系统(如CentOS 6),或者需要极其精细的NAT/流量整形规则,iptables可能更直接,但绝大多数情况下,Firewalld通过firewall-cmd也能完成这些工作,只是命令写法略有不同。

表格对比:快速决策

Firewalld防火墙怎么用,怎么设置?

对比维度 Firewalld iptables
管理方式 动态规则,即时生效 静态规则,需重启
规则组织 基于区域(zone) 基于链(chain)
命令工具 firewall-cmd(推荐) iptables命令行
学习曲线 较低,概念清晰 较高,链和表复杂
适用场景 日常服务器管理、容器环境 高级网络策略、嵌入系统
默认支持 CentOS 7+、RHEL 7+、Fedora 所有Linux发行版

如果你的场景是CentOS Firewalld防火墙设置,直接上手Firewalld即可,现代文档和社区支持都更丰富。

Firewalld防火墙配置实战:从安装到放行端口

这部分聚焦Firewalld防火墙配置的具体操作,以CentOS 7/8为例,展示如何快速上手。

安装与基础状态检查

  • 确认Firewalld是否安装:rpm -qa | grep firewalld,如果未安装,执行yum install firewalld(CentOS 7)或dnf install firewalld(CentOS 8)。
  • 启动并设置开机自启:
    systemctl start firewalld
    systemctl enable firewalld
  • 查看当前状态:firewall-cmd --state,输出running表示正常。

开放端口与运行时规则

常见需求是开放某个TCP端口,比如Web服务的80端口:

  • 临时开放(仅当前会话有效,重启防火墙后失效):
    firewall-cmd --add-port=80/tcp
  • 永久开放(需要重载防火墙):
    firewall-cmd --add-port=80/tcp --permanent
    firewall-cmd --reload
  • 验证端口是否已加入规则:firewall-cmd --list-ports,会看到类似80/tcp的输出。

使用服务名替代端口号

Firewalld内置了常见服务的定义,比如http、https、ssh,直接使用服务名更简洁:

  • 开放http服务:firewall-cmd --add-service=http --permanent
  • Firewalld防火墙怎么用,怎么设置?

    查看所有可用服务:firewall-cmd --get-services,列表很长,涵盖大部分标准服务。

区域管理:让规则更精细

  • 查看默认区域:firewall-cmd --get-default-zone,通常是public。

  • 将网络接口绑定到指定区域(比如内网卡eth0绑定到trusted):

    firewall-cmd --zone=trusted --add-interface=eth0 --permanent
    firewall-cmd --reload

    trusted区域默认允许所有流量,适合内网。public区域则只允许少量服务,适合公网。

  • 查询某个接口的当前区域:firewall-cmd --get-zone-of-interface=eth0

Firewalld防火墙规则管理进阶:复杂策略与端口转发

掌握了基础开放端口后,你可能需要配置更复杂的场景,比如端口转发、富规则(rich-rule)以及限制特定IP。

端口转发:将本地端口映射到其他端口或主机

  • 将本机80端口转发到8080端口(假设本地有服务在8080监听):
    firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
    firewall-cmd --reload
  • 转发到其他主机(比如192.168.1.100的8080端口):
    firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.100:toport=8080 --permanent

    注意:端口转发需要开启IP转发,执行sysctl -w net.ipv4.ip_forward=1并写入/etc/sysctl.conf。

富规则:灵活控制来源IP和连接数

富规则语法更接近iptables,但受Firewalld管理,只允许192.168.1.0/24网段访问SSH:

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept' --permanent

限制某个IP的并发连接数(防止滥用):

firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1" limit value="10/m" accept' --permanent

Firewalld防火墙怎么用,怎么设置?

规则备份与恢复

  • 导出当前规则:firewall-cmd --direct --get-all-rules(直接规则)或直接备份/etc/firewalld/目录。
  • 恢复时,覆盖/etc/firewalld/目录并执行firewall-cmd --reload或重启服务。

Firewalld防火墙常见问题解答

Firewalld开放端口后不生效,可能是什么原因?

  • 检查是否忘了加--permanent参数,导致规则只在运行时生效,重启后丢失。
  • 确认端口协议是否正确(tcp/udp常见错误)。
  • 查看防火墙是否运行在panic模式(firewall-cmd --query-panic),如果开启会阻断所有流量,用firewall-cmd --panic-off关闭。
  • 检查是否被其他规则(如输入链的REJECT)覆盖,使用firewall-cmd --list-all查看区域完整规则集。

Firewalld和iptables可以共存吗?

两者底层都是Netfilter,但管理工具会冲突,如果Firewalld正在运行,它接管了iptables规则,直接使用iptables命令添加的规则会在Firewalld重载时被覆盖,官方建议二选一:要么停用Firewalld,使用iptables服务;要么坚持用firewall-cmd管理,不要混用。业内专家指出,混用会导致规则混乱,排查困难,绝大多数场景下只需使用Firewalld即可。

如何查看Firewalld当前区域的所有规则?

使用firewall-cmd --list-all --zone=public(public可替换为具体区域),输出会显示该区域下绑定的接口、允许的服务、端口、富规则、masquerade状态等,如果想查看所有区域的规则,可以遍历firewall-cmd --get-zones然后逐个查询。

Firewalld防火墙的设计初衷是让网络管理变得更直观、更动态,降低运维复杂度,从基础开放端口到高级的端口转发和富规则,它都能胜任,如果你正在使用CentOS或RHEL系列,Firewalld就是默认且最值得信赖的选择,花半小时把常用命令跑一遍,后续维护会轻松很多。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/firewalld%e9%98%b2%e7%81%ab%e5%a2%99%e6%80%8e%e4%b9%88%e7%94%a8%ef%bc%8c%e6%80%8e%e4%b9%88%e8%ae%be%e7%bd%ae%ef%bc%9f/

赞 (0)
8核16g服务器一个月多少钱,哪家性价比最高?
上一篇 2026年7月23日 21:56
服务器地址这么修改对吗?,服务器地址怎么修改
下一篇 2026年7月23日 22:00

相关推荐

  • 分布式数据库搭建难吗?分布式数据库搭建流程

    分布式数据库搭建的核心在于根据业务场景选择合适的一致性模型与分片策略,通过自动化运维平台实现高可用与弹性扩展,而非单纯依赖硬件堆砌,在2026年的技术语境下,企业不再将数据库视为静态存储,而是动态的数据服务中枢,搭建分布式数据库并非简单的软件安装,而是一场关于数据分布、一致性保障以及故障恢复的系统工程,许多团队……

    2026年7月5日
    17900
  • IdeaHub投屏如何设置?投屏连接不上怎么办?

    IdeaHub投屏的本质是让会议设备学会“听懂人话”,手机、电脑、平板一键连接,但真正用得顺手的人,都摸清了它的三条投屏通道和脾气,IdeaHub投屏怎么用?三种主流方式各有分工如果你是第一次站在IdeaHub前面,别慌,它不像传统投影仪那样需要你蹲在地上找VGA线,也不像老式电视那样只能看不能碰,IdeaHu……

    2026年8月20日
    900
  • IT运维监控平台如何实现监控运维,哪个好?

    IT运维监控平台没有绝对的好坏,选型的关键在于匹配你的业务场景、技术栈和预算,与其盲目跟风,不如先搞清楚自己的核心需求,很多团队初期都会纠结选Zabbix、Prometheus这类开源方案,还是直接上Datadog、Splunk这类商业平台,答案取决于你的团队规模、技术能力和运维目标,下面直接切入正题,IT运维……

    2026年8月7日
    500
  • 服务器端与客户端数据交互模型是什么?前后端数据交互方式有哪些

    服务器端与客户端数据交互的核心在于通过HTTP/HTTPS协议建立连接,利用JSON或XML格式传输结构化数据,并由前端框架渲染展示,后端负责业务逻辑处理与数据库读写,在现代Web应用架构中,这种交互模式如同餐厅的点餐流程:客户端是顾客,服务器是厨房,而网络则是传送带,理解这一过程,不仅能优化用户体验,还能显著……

    2026年7月8日
    9200
  • 福州小程序开发如何选择靠谱公司?,哪家好?

    福州小程序开发,选择本地服务商,结合行业特性定制开发,是确保项目落地见效的务实选择,近年来,福州本地企业对小程序的需求持续增长,从餐饮排号到社区团购,从教育约课到医疗预约,小程序几乎渗透到每个行业的线上服务环节,但很多初次接触小程序的企业主,往往在“找谁做”“花多少”“怎么做”上反复纠结,下面结合福州本地市场的……

    2026年7月22日
    600
  • 服务器繁忙打不开怎么办?解决服务器繁忙报错

    服务器繁忙并非单纯的技术故障,而是流量峰值超出承载极限或资源调度失衡导致的系统性拥堵,核心解决思路在于即时扩容、缓存优化与请求限流,当用户访问网站或调用API时,若遇到“服务器繁忙”或HTTP 503错误,往往意味着后端服务已无法及时处理新请求,这不仅是技术层面的瓶颈,更是业务增长与基础设施匹配度出现偏差的信号……

    2026年7月6日
    19200
  • 如何设置服务器开放端口范围,有哪些注意事项

    只开放业务必需的端口范围,并严格限制源IP,这是平衡功能与安全的最优解,在服务器运维中,端口范围设置往往被忽视,很多人直接开放单个端口,或者干脆开放全部端口,但实际场景中,很多应用需要动态端口或连续端口,比如FTP的被动模式、VoIP的RTP流、某些游戏服务器,设置一个合理的端口范围比开放单个端口更高效,但也更……

    2026年7月24日
    1000
  • IMSI HLR数据库排序下推案例是什么?,如何实现

    在IMSI HLR数据库场景中,使排序下推能够显著降低查询延迟,核心在于将数据排序操作从应用层转移到存储层,减少数据移动,是提升海量用户数据排序效率的关键技术,这种优化让数据库就近完成排序,尤其在用户位置查询、计费明细统计等场景下,效果立竿见影,IMSI HLR数据库排序下推案例:原理与挑战什么是排序下推排序下……

    2026年8月5日
    600
  • 服务器双网口并发如何实现,双网口绑定怎么设置?

    服务器双网口并发通过网卡绑定技术实现链路聚合或故障转移,能显著提升网络吞吐量与可靠性,是保障关键业务连续性的核心手段,在实际运维中,我们经常遇到单网卡性能瓶颈或单点故障问题,双网口并发(即网卡绑定)通过将两个物理网卡虚拟成一个逻辑接口,既能增加带宽,又能提供冗余,但很多工程师在配置时对模式选择、交换机兼容性、性……

    2026年7月20日
    2800
  • 为什么inode未收到服务器回应静默座席却返回结果,怎么办

    当出现“inode未收到服务器回应_静默座席返回应答结果”时,核心原因是网络干扰或服务进程异常,需优先验证inode与服务器之间的连通性,并检查静默座席模块的运行状态,为何会出现inode未收到服务器回应inode设备作为企业通信中的接入节点,负责向服务器发送请求并接收回应,一旦链路中断或服务端无响应,就会触发……

    2026年8月3日
    1200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注