云服务器CentOS7防火墙firewalld工作方式解析
文章分类:更新公告 /
创建时间:2026-01-02
目录
1. firewalld定义
2. firewalld工作模式示例
3. firewalld的应用场景
firewalld定义
在云服务器CentOS 7系统里,firewalld是默认启用的防火墙管理工具,取代了传统的iptables服务。它采用动态防火墙管理方式(支持运行中调整规则而不中断连接),通过“区域”和“服务”两个核心概念实现细粒度防护——区域划分网络可信等级(如公共网络、内部网络),服务定义允许的流量类型(如HTTP、SSH)。这种设计符合《网络安全法》第二十一条“采取技术措施防范网络攻击”的要求,帮助用户以最小权限原则配置防护规则。
firewalld工作模式示例
区域概念及使用示例
firewalld预定义了多个区域,常见的有public(公共区域)、trusted(信任区域)等,不同区域默认规则差异明显。比如public区域像“小区门禁”,默认只放ssh(远程管理)和dhcpv6-client(IP分配)通行;trusted区域则像“自家客厅”,允许所有流量自由进出。
要查看当前生效的区域,可执行命令:
sudo firewall-cmd --get-active-zones 若需将eth0接口加入public区域(例如服务器接入公共网络时),使用:
sudo firewall-cmd --zone=public --add-interface=eth0 操作后建议用`sudo firewall-cmd --list-interfaces --zone=public`确认接口是否绑定成功,避免配置遗漏。
服务管理示例
服务是firewalld的另一核心维度,相当于“允许通过的具体业务类型”。以开放HTTP服务(网站访问)为例,临时生效命令为:
sudo firewall-cmd --zone=public --add-service=http 若需配置永久生效(重启后不丢失),需添加`--permanent`参数:
sudo firewall-cmd --zone=public --add-service=http --permanent 最后执行`firewall-cmd --reload`重新加载规则。这里要注意,临时配置像“便签纸”,重启会失效;永久配置则像“写进本子”,需要手动 reload 才会立即生效。
端口管理示例
除了通过服务开放,也可直接管理端口(相当于“指定具体门牌号放行”)。例如开放8080端口(常见于测试环境),命令为:
sudo firewall-cmd --zone=public --add-port=8080/tcp 同样,永久生效需加`--permanent`并 reload。需注意端口协议(如TCP用于可靠传输,UDP用于实时通信),选错可能导致服务无法正常使用。
firewalld的应用场景
保障云服务器网络安全
合理配置区域和服务规则能显著降低攻击风险。例如某企业云服务器曾因未限制端口,遭遇暴力破解攻击;通过在public区域仅保留ssh和http服务,关闭其他端口后,攻击日志减少90%。这正是“最小权限原则”的实践——只开放必要服务,相当于给服务器“只留前门,锁死侧窗”。
适应不同网络环境
云服务器常需切换网络场景,firewalld的区域切换功能如同“模式切换键”。当服务器从公共网络(用public区域)接入企业内网(用trusted区域)时,只需将接口从public切换到trusted,就能快速放行内部通信,无需重新配置复杂规则,提升运维效率。
通过理解firewalld的区域划分、服务管理和端口配置逻辑,结合实际网络环境调整规则,能有效提升云服务器的防护水平,为业务稳定运行筑牢安全屏障。
工信部备案:苏ICP备2025168537号-1