在使用Ubuntu系统进行开发、部署服务或配置网络环境时,防火墙(UFW)虽然提供了强大的安全防护,但有时也会成为网络连接的“拦路虎”。例如,在搭建Kubernetes集群、配置Docker容器通信或调试本地服务时,临时关闭防火墙是常见需求。

本文将为您详细介绍如何在Ubuntu系统中正确关闭防火墙,涵盖主流命令、状态查看方法、重新启用方式以及重要的安全注意事项。无论您使用的是Ubuntu 20.04、22.04还是更新的版本,本教程均适用。
Ubuntu防火墙简介:UFW是什么?
Ubuntu默认使用 UFW(Uncomplicated Firewall) 作为其防火墙管理工具。UFW设计初衷是简化iptables的复杂配置,通过简洁的命令行接口,让用户能够轻松管理系统的入站和出站网络流量。
尽管UFW操作简单,但在某些特定场景下(如内网测试、开发调试),我们可能需要完全关闭它以排除网络问题。
如何查看Ubuntu防火墙当前状态?
在执行任何操作前,建议先检查防火墙的当前状态,以确认是否已启用。
查看UFW状态命令:
输出
Status: active:表示防火墙已开启。输出
Status: inactive:表示防火墙已关闭。
你也可以使用systemctl命令查看服务状态:
该命令会显示更详细的服务信息,包括是否开机自启(enabled/disabled)、当前运行状态(active/inactive)等。
正确关闭Ubuntu防火墙的两种主流方法
根据实际需求,您可以选择临时关闭或永久禁用防火墙。
✅ 方法一:使用UFW命令(推荐)
这是最标准、最推荐的方式,适用于所有使用UFW的Ubuntu版本。
停止防火墙服务(立即关闭)
⚠️ 注意:
ufw disable命令会立即停止防火墙并禁用其开机自启功能。但在某些系统(如Ubuntu 22.04)中,仅执行此命令可能导致ufw status显示“inactive”,而systemctl status ufw仍显示“active (exited)”。这是正常现象,表示服务已停止但未完全“关闭”。
(可选)彻底停止服务进程
为确保服务完全停止,可额外执行:
执行后,再次使用 sudo systemctl status ufw 检查,状态应为 inactive (dead)。
验证防火墙是否关闭
预期输出:
✅ 方法二:使用systemctl命令(底层服务控制)
如果您更习惯使用systemd服务管理命令,也可以直接操作UFW服务。
停止防火墙服务
禁用开机自启
验证状态
输出应为 inactive。
💡 提示:
systemctl disable ufw等价于ufw disable,都会修改配置使其不再随系统启动。
特殊情况:Ubuntu使用firewalld?
部分Ubuntu发行版或自定义镜像可能使用 firewalld 而非UFW。可通过以下命令判断:
如果存在该服务,关闭方式如下:
如何重新启用Ubuntu防火墙?
完成调试或部署后,强烈建议重新启用防火墙以保障系统安全。
或使用systemctl:
--now参数表示同时启动服务并设置开机自启。
重要安全提醒:关闭防火墙的风险
⚠️ 关闭防火墙会使您的系统暴露在外部网络攻击之下,尤其是在公网环境中。请务必注意:
仅在受信任的内网环境或开发调试阶段临时关闭防火墙。
生产环境绝不建议长期关闭防火墙。
如需开放特定端口,推荐使用UFW规则而非完全关闭防火墙,例如:
| 操作 | 命令 |
|---|---|
| 查看状态 | sudo ufw status |
| 关闭防火墙 | sudo ufw disable |
| 彻底停止服务 | sudo systemctl stop ufw |
| 重新启用 | sudo ufw enable |
| 开放指定端口 | sudo ufw allow [端口] |
最佳实践建议:优先使用 sudo ufw disable 命令关闭防火墙,若状态显示异常,可配合 systemctl stop ufw 确保服务完全停止。
掌握Ubuntu关闭防火墙命令是系统管理员和开发者的必备技能,但请始终牢记“安全第一”。合理配置防火墙规则,既能保障服务畅通,又能有效抵御网络威胁。





















