tufw:用终端界面管理 UFW 防火墙
tufw(Terminal UI for UFW)把 UFW 命令行变成表单式终端界面:菜单导航、按键提示、增删改规则不用背语法。本文覆盖安装、界面操作、SSH/Web 规则实战与能力边界。
直接回答:tufw 是 UFW 的终端 UI——SSH 会话里用菜单、表单、方向键管理防火墙规则,放行端口、限制 IP、启停防火墙都不用记命令。它直接操作 UFW 后端,规则与命令行完全互通。
本文明确讨论 peltho/tufw 的 Go 实现;另有同名 Python/dialog 项目,安装包与功能不能混用。发布版本和系统兼容性应以该仓库为准。
远程变更安全
修改默认策略、启停管理器或重载规则前,先记录当前规则与实际 SSH 端口、管理来源地址,保留现有会话并确认云控制台/带外终端可用。先放行必要的 SSH、回环与已建立连接,再从第二个终端新建 SSH 会话验证,成功后才收紧旧规则。准备经验证的限时回退,不要远程清空规则或盲目执行 reset。IPv4、IPv6、云安全组及 Docker 转发路径都需分别验证。监控告警不能代替防锁定措施。
为什么需要它
UFW 已经比 iptables 友好,但日常不常配防火墙的人仍会忘语法。服务器无桌面环境,GUFW 用不了——tufw 在纯终端里提供可视化引导,正好填这个空。
安装与界面
# 从 peltho/tufw 官方 Releases 核对架构与安装包后
sudo tufw
界面分区:规则列表、状态栏、按键提示。方向键导航、回车进表单——加规则变成填空题(端口/协议/来源 IP/动作)。
实战规则
- SSH 保护:放行 22 但限办公网 IP——表单里填端口 22 + 来源段,回车生效
- Web 服务:放行 80/443 全开放
- 默认策略:默认拒绝入站、放行出站,界面里一键设置
改完在规则列表直接核对,ufw status 命令行里看到的结果一致——两者同一后端。
优势与边界
优势:减少命令记忆负担、SSH 友好、规则所见即所得。
边界:不能把界面等同全部 UFW 高级功能;UFW 自身有 limit 与高级规则配置,界面是否暴露须查所用版本;自动化场景仍需命令行(tufw 是给人用的界面)。
保存规则后,分别从允许与禁止的来源验证业务端口,并新建一次 SSH 连接测试管理通道。已有观测云 HTTP 拨测时,可检查所选节点能否继续访问业务入口;拨测只覆盖配置的请求路径,变更现场仍应保留带外控制台和回退办法。
常见问题(FAQ)
Q:tufw 会改变我的 UFW 规则格式吗?
A:不会。它就是 UFW 的终端前端,规则存储与命令行完全一致,随时可退回 ufw 命令。
Q:无 root 权限能用吗?
A:不能——防火墙管理是特权操作,tufw 需要 sudo 运行。
Q:适合批量管理多台服务器吗?
A:不适合——交互式界面管单机;批量用 Ansible 的 ufw 模块走自动化。
官方参考
本文依据官方文档整理,示例未在本文中进行运行验证。生产部署需按所用版本、权限和实际负载验证。