UFW 是什么

一句话总结

UFW(Uncomplicated Firewall)是 Linux 上简化 iptables 配置的工具,用几条规则就能控制端口放行和阻止。曾因默认 deny incoming 导致我们 n1 VPS 的 80/443 端口被锁,引发 Cloudflare 522 故障。


🤔 为什么会有它 / 解决了什么问题

iptables 规则语法复杂、配置门槛高(netfilter 链式判断、表顺序敏感)。UFW 封装了最常用的防火墙场景成简单命令,让非网络工程师也能管理端口开放。


🔍 具体原理 / 运作逻辑

UFW 将用户配置编译为底层 iptables 规则。ufw enable 启用时自动追加规则到 INPUT/OUTPUT/FORWARD 链。配置存储在 /etc/ufw/ 目录下。


🧭 什么情况下会看到 / 什么场景会遇到它

  • 新 VPS 初始化后 ufw enable 放行 SSH(22)和 Web 端口(80/443)
  • n1 VPS 的 522 事故:ufw enable 后忘了 ufw allow 80/tcp443/tcp,Cloudflare 连不上源站
  • 排查端口不通:先 ufw status 确认规则,而不是直接怀疑应用层

🛠️ 怎么上手 / 在哪操作

sudo ufw status 查看规则、sudo ufw allow 80/tcp 放行端口、sudo ufw enable 启用(危险——确保 SSH 端口已放行再执行)。


⚖️ 副作用 / 代价 / 取舍

ufw enable 默认 deny incoming——容易把自己锁在外面。如果 SSH 端口没先 ufw allow 22/tcp,远程连接直接断。n1 的 522 事故就是典型:启用了防火墙但没放行 80/443。


🕰️ 来历

  • 谁提出/创造的:Ubuntu 团队(Canonical Ltd.)
  • 什么时候出现的:2008 年随 Ubuntu 8.04 LTS 首次引入

🔗 关联 / 经常一起出现的概念

  • iptables:UFW 底层实际调用的是 iptables,UFW 只是前端封装
  • Cloudflare Tunnel:隧道绕过防火墙——Tunnel 只做出站连接,不需要放行进站端口

⚠️ 注意事项 / 常见误区

ufw enable 默认 deny all incoming。先 ufw allow 22/tcpufw enable ——这个顺序救过无数人的 SSH 连接。如果已经锁了,只能通过 VPS 控制台的 VNC/noVNC 进去修复。


📎 记忆锚点

UFW 就是防火墙界的”傻瓜相机”——比 iptables 简单一百倍,但一不留意也能把自己拍死(锁在外面的那种死)。


📝 更新日志

日期改动原因
2026-07-13首次创建-