在Linux系统运维和服务器管理中,防火墙是保障系统安全的重要组件。然而,在开发调试、部署服务或排查网络问题时,我们常常需要临时或永久地开启或关闭防火墙。本文将全面解析Linux系统中常用的防火墙管理命令,涵盖firewalld、iptables等主流工具,帮助你快速掌握防火墙操作,提升系统管理效率。

Linux防火墙简介
Linux系统常用的防火墙工具有两种:
firewalld:现代主流Linux发行版(如CentOS 7+、RHEL 7+、Fedora等)默认使用的动态防火墙管理工具,支持区域(zone)和运行时配置。
iptables:传统防火墙工具,功能强大但配置相对复杂,仍被部分旧系统或特定场景使用。
⚠️ 注意:操作防火墙需要
root权限或使用sudo命令。
使用 firewalld 管理防火墙(推荐方式)
firewalld 是当前大多数Linux发行版的默认防火墙服务,使用 systemctl 命令进行管理。
1. 启动防火墙
2. 停止防火墙(临时关闭)
🔹 此命令立即生效,但系统重启后会恢复原状态。
3. 查看防火墙状态
或使用firewalld专用命令:
4. 设置开机自启/禁用
开机自动启动防火墙:
禁止开机启动(永久关闭):
5. 重启防火墙服务
使用 firewall-cmd 配置端口规则
在防火墙开启状态下,我们通常通过开放特定端口来允许服务访问。
1. 查看已开放端口
2. 开放指定端口(永久生效)
3. 关闭已开放端口
4. 重新加载配置
✅ 重要:每次修改端口规则后,必须执行以下命令使配置生效。
传统方式:使用 iptables(适用于旧系统)
部分旧版Linux系统仍使用iptables作为防火墙工具。
1. 启动/停止 iptables 服务
💡 在某些系统中,也可使用:
2. 临时关闭防火墙(不推荐长期使用)
⚠️ 注意:该路径在现代系统中可能已废弃。
常见问题与注意事项
❓ 为什么关闭防火墙后仍无法访问服务?
检查服务是否真正启动(如
systemctl status httpd)。确认端口监听状态:
netstat -tuln | grep :端口号或ss -tuln。检查SELinux是否限制访问:
getenforce,必要时临时关闭:setenforce 0。
❗ 安全提醒
生产环境不建议完全关闭防火墙,应通过开放必要端口来管理访问。
修改防火墙规则前,建议备份当前配置。
使用
--permanent参数确保规则重启后依然有效。
| 操作 | 命令(firewalld) |
|---|---|
| 启动防火墙 | systemctl start firewalld |
| 停止防火墙 | systemctl stop firewalld |
| 开机启用 | systemctl enable firewalld |
| 开机禁用 | systemctl disable firewalld |
| 开放端口 | firewall-cmd --add-port=80/tcp --permanent |
| 重载配置 | firewall-cmd --reload |
掌握Linux防火墙的开启、关闭与端口管理命令,是每个系统管理员和开发者的必备技能。根据你的系统版本选择合适的工具(推荐使用firewalld),既能保障安全,又能灵活应对各种网络需求。
📌 关注我,获取更多Linux运维、服务器安全与DevOps实战技巧!





















