您现在的位置是:首页 > 严选问答网站首页严选问答
linux 关闭防火墙命令 防火墙管理操作
- 编辑:江嘉鸣
- 2026-11-08 22:38:57
- 来源:网易
linux 关闭防火墙主要分两大体系,redhat 系也就是 CentOS Rocky RHEL 默认使用 firewalld 防火墙,使用 systemctl 进行临时关闭和永久关闭,debian ubuntu 默认是 ufw 或者 iptables,很多新手排查业务不通的时候,会选择临时关闭防火墙测试连通性,这里要重点提醒,关闭防火墙会失去网络访问防护,生产环境不建议长期完全关闭,优先做法是放行需要的端口,而不是直接把防火墙整体关掉,临时关闭只是本次开机生效,重启服务器之后防火墙又会自动启动,永久关闭是禁用开机自启,重启之后也不会自动运行,很多人只执行临时关闭,重启之后发现业务还是不通,就是忘记关闭开机自启,另外还有老式 iptables,部分老系统或者自定义环境还在使用,iptables 和 firewalld 底层都调用 netfilter 内核框架,但是管理命令不一样,不能混用,执行关闭防火墙命令一般需要 root 权限,普通用户需要加 sudo 提权执行。
一 主流防火墙命令对照表
| 系统体系 | 防火墙服务 | 临时关闭 | 永久关闭开机自启 |
|---|---|---|---|
| CentOS7+ Rocky RHEL | firewalld | systemctl stop firewalld | systemctl disable firewalld |
| Ubuntu Debian | ufw | ufw disable | ufw 本身 disable 就是关闭并取消自启 |
| 老系统 | iptables | iptables -F 清空规则 | 关闭 iptables 服务或者取消自启 |
二 firewalld 详细操作步骤
第一步 确认当前防火墙运行状态,执行 systemctl status firewalld,看到 active running 代表防火墙正在运行
第二步 临时关闭防火墙,执行 systemctl stop firewalld,这条命令只停止当前运行的 firewalld 进程,重启服务器之后服务会再次启动
第三步 永久关闭开机自启,执行 systemctl disable firewalld,设置之后下次开机 firewalld 不会自动拉起
第四步 验证,执行 systemctl is-enabled firewalld,如果输出 disabled 就代表开机自启已经关闭
第五步 如果后续需要重新开启,执行 systemctl start firewalld,systemctl enable firewalld 恢复开机自启
补充,firewalld 还有命令 firewall-cmd --state 用来查看防火墙运行状态,这个是 firewalld 专属查询命令。
三 ufw 防火墙详细操作步骤
第一步 查看 ufw 状态,执行 ufw status,输出 active 代表启用,inactive 代表已经关闭
第二步 执行 ufw disable,这条命令会立刻停止 ufw,同时取消开机自启,重启之后也不会启动
第三步 如果需要重新开启,执行 ufw enable,同时自动设置开机自启
第四步 注意,ufw 是 ubuntu debian 常用前端管理工具,底层依然调用 netfilter,部分精简系统默认没有安装 ufw,需要 apt install ufw 安装之后才能使用关闭防火墙命令
四 iptables 老式防火墙说明
iptables 不是后台守护进程,它是内核 netfilter 的规则管理工具,iptables -F 是清空所有 filter 表规则,这个只是清空当前内存里面的规则,不是真正关闭防火墙服务,如果系统还有 iptables 服务,需要执行 systemctl stop iptables,systemctl disable iptables,很多新手误区就是执行 iptables -F 之后认为防火墙永久关闭,重启之后原来保存的规则又会加载回来,这个是高频踩坑点。
五 深度原理与关键特性
firewalld 底层原理
firewalld 是动态防火墙,支持 zone 区域概念,不需要重载全部规则,它是 systemd 管理的后台服务,所以可以使用 systemctl stop disable 来控制,它本身只是上层管理工具,最终规则还是下发到内核 netfilter,就算停止 firewalld 服务,如果之前已经写入内核的规则没有清除,部分规则还会继续生效,这个时候需要额外确认内核 netfilter 规则。
临时关闭和永久关闭差别
临时 stop 只是停止进程,开机自启项仍然保留,服务器重启,systemd 会按照原有配置自动启动防火墙,很多排障人员只做临时关闭,测试完业务通了,但是没有 disable,重启之后故障复现,这个是运维非常经典的问题,区分临时关闭和永久关闭是掌握 linux 关闭防火墙命令的核心。
安全风险提示
完全关闭防火墙之后,服务器所有端口暴露公网,容易遭到扫描攻击,暴力破解,生产环境标准方案是使用 firewall-cmd 或者 ufw 放行业务端口,比如 firewall-cmd --add-port=80/tcp --permanent,只开放需要的端口,不建议长期执行 linux 关闭防火墙命令。
六 常见踩坑场景
1 只执行 stop 临时关闭,没有 disable,重启防火墙自动启动
2 执行关闭防火墙命令之后,业务还是不通,原因不是防火墙,是服务本身没有启动,或者网卡路由问题,不要全部归因防火墙
3 firewalld 和 iptables 同时存在,关闭其中一个,另外一套规则还在拦截流量
4 ubuntu 系统误用 centOS 的 firewalld 关闭防火墙命令,系统没有 firewalld 服务,报错 unit not found
5 普通用户执行命令没有 sudo,提示权限不足
七 补充验证方法
关闭之后可以使用 ss 或者 netstat 确认端口,同时可以从其他主机使用 telnet 或者 nc 测试端口连通性,确认是否是防火墙拦截,测试完成之后,如果只是临时排障,记得恢复防火墙,不要长期保持关闭状态。
总结,redhat 系关闭防火墙核心是 systemctl stop firewalld 临时关闭,systemctl disable firewalld 永久关闭开机自启,ubuntu debian 使用 ufw disable,老系统 iptables 要区分清空规则和停止服务,牢记临时关闭和永久关闭的区别,生产环境优先放行端口,不推荐长期关闭防火墙。
【常见问题】
问题 1 linux 关闭防火墙命令 stop 和 disable 有什么区别
回答 1 linux 关闭防火墙命令里面 stop 是临时停止当前防火墙进程,重启之后防火墙还会自动启动,disable 是取消开机自启,属于永久关闭设置,重启之后防火墙不会自动运行,两个命令经常需要一起执行。
问题 2 linux 关闭防火墙命令执行之后业务还是不通是什么原因
回答 1 执行 linux 关闭防火墙命令之后业务依旧不通,不一定是防火墙拦截,可能是业务服务本身没有启动,端口没有监听,路由或者网卡故障,也有可能是存在另一套 iptables 规则还在内核生效,需要继续排查。
问题 3 ubuntu 可以直接使用 centOS 的 linux 关闭防火墙命令吗
回答 1 ubuntu 默认没有 firewalld 服务,不能直接使用 centOS 的 linux 关闭防火墙命令,ubuntu 默认防火墙是 ufw,正确 linux 关闭防火墙命令是 ufw disable,执行 firewalld 相关命令会提示服务不存在报错。
问题 4 linux 关闭防火墙命令执行之后重启又恢复了是什么原因
回答 1 只执行了 linux 关闭防火墙命令里面的 stop 临时关闭,没有执行 disable 取消开机自启,systemd 开机的时候会自动拉起防火墙服务,所以重启之后防火墙又恢复运行。
【免责申明】
本文内容基于主流 linux 发行版防火墙管理命令整理,关闭防火墙会降低服务器网络安全防护能力,生产环境谨慎使用,优先采用端口放行方案,不同发行版防火墙组件存在差异,执行 linux 关闭防火墙命令前确认业务安全风险,本文不对关闭防火墙之后遭受攻击或者业务异常承担责任。