firewalld通过预定义服务或直接添加端口实现端口开放,需确保服务运行并执行reload生效;使用firewall-cmd可管理服务与端口,配合systemctl控制服务状态,最后通过list命令验证配置。

在Linux系统中,firewalld是动态管理防火墙的服务,支持网络区域、接口绑定和服务端口配置。开放服务端口可以通过预定义服务或直接添加端口来实现,操作灵活且无需重启防火墙。
查看firewalld运行状态
确保firewalld正在运行并已启用,避免配置后不生效。
- systemctl status firewalld — 查看当前状态
- systemctl start firewalld — 启动服务
- systemctl enable firewalld — 设置开机自启

使用预定义服务开放端口
firewalld内置了许多常用服务(如http、ssh、ftp),可直接启用。
- firewall-cmd --permanent --add-service=http — 永久开放HTTP服务(端口80)
- firewall-cmd --permanent --remove-service=ftp — 移除FTP服务
- firewall-cmd --reload — 重新加载配置使更改生效
可用服务列表可通过 firewall-cmd --get-services 查看。

直接添加自定义端口
对于非标准服务或自定义应用,可直接开放指定端口。
Destoon B2B网站管理系统是一套完善的B2B(电子商务)行业门户解决方案。系统基于PHP+MySQL开发,采用B/S架构,模板与程序分离,源码开放。模型化的开发思路,可扩展或删除任何功能;创新的缓存技术与数据库设计,可负载千万级别数据容量及访问。 系统特性1、跨平台。支持Linux/Unix/Windows服务器,支持Apache/IIS/Zeus等2、跨浏览器。基于最新Web标准构建,在
- firewall-cmd --permanent --add-port=8080/tcp — 开放TCP 8080端口
- firewall-cmd --permanent --add-port=5000-5100/udp — 开放UDP 5000到5100范围
- firewall-cmd --reload — 应用更改
注意指定协议类型(tcp或udp),否则可能不生效。

验证端口是否已开放
配置完成后,检查端口是否成功添加。
- firewall-cmd --list-services — 查看已启用的服务
- firewall-cmd --list-ports — 查看已开放的端口
- firewall-cmd --list-all — 显示当前区域完整配置
若使用非默认区域(如public、internal),需通过 --zone=zone_name 指定。
基本上就这些。只要服务运行正常,配置保存并重载,端口就能对外通信。注意生产环境开放端口前应评估安全风险。不复杂但容易忽略 reload 步骤。









