防火墙是保护 VPS 的第一道屏障。UFW(Uncomplicated Firewall)是 Ubuntu/Debian 上最易上手的防火墙管理工具,它把底层 iptables 的复杂语法封装成简洁命令,即便是运维新手也能在几分钟内建立起有效的访问控制策略。本文从安装到日常维护,完整演示如何用 UFW 保护你的搬瓦工 VPS。
本文要点
- UFW 的安装与默认策略设置
- 放行 SSH、HTTP、HTTPS 等常用端口
- 启用防火墙并验证状态
- 按需增删规则,保持规则集整洁
安装 UFW
Ubuntu/Debian 系统通常已预装 UFW;若未安装可执行:
apt update && apt install -y ufw先放行 SSH,再启用防火墙
启用 UFW 之前,必须先放行当前使用的 SSH 端口,否则启用后立即断线,把自己锁在门外。如使用非默认端口(非 22),请用实际端口号替换下面示例中的 22。
设置默认策略
推荐做法:拒绝所有入站、允许所有出站,之后按需逐一放行:
ufw default deny incoming
ufw default allow outgoing放行常用端口
放行 SSH
# 默认端口 22
ufw allow 22/tcp
# 自定义端口示例(如 2222)
ufw allow 2222/tcp放行 Web 服务
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
# 或用服务名一次放行 80 和 443
ufw allow "Nginx Full"放行数据库或其他服务
# MySQL:仅对特定 IP 开放,不要对全网放行
ufw allow from 203.0.113.5 to any port 3306
# 自定义应用端口
ufw allow 8080/tcp启用防火墙
确认 SSH 端口已放行后启用:
ufw enable
# 提示时输入 y 确认启用成功的标志
看到 Firewall is active and enabled on system startup 即表示成功,规则会随系统重启自动加载。
查看当前规则与状态
ufw status verbose # 详细状态
ufw status numbered # 带编号,方便删除时引用UFW 常用命令速查
| 操作 | 命令示例 | 说明 |
|---|---|---|
| 放行端口 | ufw allow 8080/tcp | 放行 TCP 8080 |
| 放行 UDP | ufw allow 53/udp | 放行 DNS UDP |
| 仅允许某 IP | ufw allow from 203.0.113.5 to any port 22 | 特定来源访问 SSH |
| 拒绝端口 | ufw deny 23/tcp | 屏蔽 Telnet |
| 按编号删除 | ufw delete 3 | 删除 numbered 中第 3 条 |
| 按规则删除 | ufw delete allow 8080/tcp | 按规则内容删除 |
| 临时关闭 | ufw disable | 关闭(规则保留) |
| 重置清空 | ufw reset | 清空全部规则并禁用 |
删除规则
# 先查带编号的规则列表
ufw status numbered
# 按编号删除(如删第 3 条)
ufw delete 3
# 或按规则语法删除
ufw delete allow 8080/tcpCentOS/RHEL 系差异
CentOS/AlmaLinux/Rocky 默认使用 firewalld 而非 UFW,命令不同。放行端口示例:
firewall-cmd --permanent --add-port=22/tcp && firewall-cmd --reload。两套工具不要混用。小结
- 先设默认策略(deny incoming / allow outgoing),再逐条放行
- 启用前务必放行 SSH 端口,以免断线
ufw status numbered是查看和清理规则的好工具- 只放行业务真正需要的端口,保持规则集最小化
- 改完规则新开窗口测试,确认连通再关旧连接
常见问题
UFW 启用后 SSH 断了怎么办?
用 KiwiVM 紧急控制台登录服务器,执行 ufw allow 22/tcp(或你的 SSH 端口)再 ufw reload,即可恢复连接。
如何只允许特定 IP 访问 SSH?
执行 ufw allow from 你的IP to any port 22,再删掉原来的 ufw allow 22 规则,这样只有该 IP 才能访问。
UFW 和 iptables 能同时用吗?
UFW 底层就是 iptables,两套工具同时操作规则容易冲突。选一个统一管理即可,推荐 UFW。
服务器重启后规则还在吗?
执行过 ufw enable 后,规则持久保存并随开机自动加载,无需重新设置。