首页 > 运维 > linux运维 > 正文

Linux如何用firewalld管理防火墙

P粉602998670
发布: 2025-09-04 13:33:22
原创
263人浏览过
firewalld通过firewall-cmd动态管理防火墙规则,支持运行时和永久配置。首先检查服务状态:systemctl status firewalld,未运行则启动并设开机自启。使用firewall-cmd --state查看运行状态,--get-zones列出所有区域,--get-active-zones查看生效区域。区域用于划分网络环境,如public、internal,可绑定接口:--change-interface=eth0,设默认区域:--set-default-zone=public。开放服务或端口,临时添加:--add-service=http,永久添加:--permanent --add-port=8080/tcp或--add-service=https,完成后需--reload使永久规则生效。查看开放项:--list-ports和--list-services。删除规则使用--remove替代--add,如--permanent --remove-port=8080/tcp。富规则实现精细控制,如允许特定IP访问:--add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'。关键在于区分临时与永久配置,合理使用--permanent和--reload。

linux如何用firewalld管理防火墙

Linux中使用firewalld管理防火墙,主要是通过命令行工具

firewall-cmd
登录后复制
来动态配置网络区域、端口、服务等规则,而无需重启整个防火墙服务。firewalld支持运行时配置和永久配置,灵活适用于不同场景。

查看防火墙状态和基本操作

先确认firewalld服务是否正在运行,可以使用以下命令:

systemctl status firewalld
登录后复制

如果未运行,启动并设置开机自启:

systemctl start firewalld
systemctl enable firewalld
登录后复制

查看当前防火墙的基本状态:

firewall-cmd --state          # 查看是否运行
firewall-cmd --get-zones      # 列出所有区域
firewall-cmd --get-active-zones  # 查看当前生效的区域
登录后复制

管理区域(Zones)和网络接口

firewalld通过“区域”来管理不同网络环境的规则,例如

public
登录后复制
用于公共网络,
internal
登录后复制
用于内部网络。

查看某个区域的详细配置:

firewall-cmd --zone=public --list-all
登录后复制

将某个网络接口绑定到指定区域:

firewall-cmd --zone=internal --change-interface=eth0
登录后复制

设置默认区域:

firewall-cmd --set-default-zone=public
登录后复制

开放端口和服务

firewalld支持按服务名或端口号添加规则。常见服务如http、ssh已预定义。

临时开放一个服务(重启后失效):

firewall-cmd --add-service=http
登录后复制

永久开放一个端口(如8080/tcp):

乾坤圈新媒体矩阵管家
乾坤圈新媒体矩阵管家

新媒体账号、门店矩阵智能管理系统

乾坤圈新媒体矩阵管家 17
查看详情 乾坤圈新媒体矩阵管家
firewall-cmd --permanent --add-port=8080/tcp
登录后复制

永久开放一个服务:

firewall-cmd --permanent --add-service=https
登录后复制

添加完成后,重载防火墙使永久规则生效:

firewall-cmd --reload
登录后复制

查看已开放的端口或服务:

firewall-cmd --list-ports
firewall-cmd --list-services
登录后复制

删除规则和高级配置

删除已添加的规则,只需将

--add
登录后复制
换成
--remove
登录后复制

例如,删除永久开放的8080端口:

firewall-cmd --permanent --remove-port=8080/tcp
登录后复制

删除服务:

firewall-cmd --permanent --remove-service=http
登录后复制

配置富规则(rich rules)可实现更精细控制,比如限制某IP访问特定端口:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
登录后复制

这表示允许来自192.168.1.100的SSH连接。

基本上就这些。firewalld使用起来直观,关键是区分运行时和永久配置,别忘了

--permanent
登录后复制
--reload
登录后复制
的配合使用。不复杂但容易忽略。

以上就是Linux如何用firewalld管理防火墙的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号