⚠️ 安全警告:关闭防火墙会降低系统安全性,仅建议在内网测试或开发环境中操作。生产环境 / 公网服务器不建议完全关闭防火墙,应按需放行端口。
一、确认防火墙类型
Ubuntu 默认使用 UFW (Uncomplicated Firewall)作为前端管理工具,底层基于 iptables / nftables。
先查看当前防火墙状态:
bash
sudo ufw status
- 显示
Status: active→ 防火墙已启用,继续下方步骤关闭 - 显示
Status: inactive→ 防火墙已关闭,无需操作
二、关闭 UFW 防火墙(推荐)
1. 禁用防火墙
bash
sudo ufw disable
2. 验证状态
bash
sudo ufw status
显示 Status: inactive 即表示关闭成功。
三、通过 systemctl 停止服务(双重保险)
如果希望同时停止系统服务并禁止开机自启:
bash
# 停止当前运行的防火墙服务
sudo systemctl stop ufw
# 禁止开机自动启动
sudo systemctl disable ufw
查看服务状态确认:
bash
sudo systemctl status ufw
状态显示 disabled 即表示开机不会自动启动。
四、重置底层 iptables 规则(可选)
如果系统中存在手动配置的 iptables 规则,可执行以下命令清空所有规则并放行全部流量:
bash
sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
注意:以上规则为临时生效,系统重启后会恢复。如需持久化需额外配置。
五、重新开启防火墙
如需恢复防火墙,执行:
bash
sudo ufw enable
或通过 systemctl 重新启用并启动:
bash
sudo systemctl enable ufw
sudo systemctl start ufw
六、常用 UFW 端口放行命令(替代关闭防火墙)
公网环境建议不要完全关闭防火墙,按需放行端口即可:
bash
# 放行 SSH(22 端口)
sudo ufw allow ssh
# 或
sudo ufw allow 22/tcp
# 放行 HTTP(80 端口)
sudo ufw allow 80/tcp
# 放行 HTTPS(443 端口)
sudo ufw allow 443/tcp
# 查看已放行的规则
sudo ufw status numbered
# 删除指定规则
sudo ufw delete allow 80/tcp
七、桌面版图形化管理工具
如果使用桌面版 Ubuntu,可安装 gufw 进行图形化操作:
bash
sudo apt update
sudo apt install gufw
安装后在应用菜单中搜索"防火墙配置"即可打开图形界面,通过开关按钮启用 / 禁用防火墙。
操作速查表
| 操作 | 命令 |
|---|---|
| 查看状态 | sudo ufw status |
| 关闭防火墙 | sudo ufw disable |
| 开启防火墙 | sudo ufw enable |
| 停止服务 | sudo systemctl stop ufw |
| 禁止开机自启 | sudo systemctl disable ufw |
| 放行 SSH | sudo ufw allow ssh |
| 放行 HTTP | sudo ufw allow 80/tcp |
| 放行 HTTPS | sudo ufw allow 443/tcp |
| 清空 iptables | sudo iptables -F |