SuperAPI AI 工具集

ufw

部署与运维

查看项目

更新于 10-15 23:48

技能介绍

用途:ufw 是 Uncomplicated Firewall,作为 iptables/nftables 的抽象层前端,用于在 Linux 上启用防火墙、管理入站与出站规则、使用应用配置、开启日志及排障。

主要能力:查看状态与规则(sudo ufw status verbose、sudo ufw status numbered)、启用/禁用(sudo ufw enable、sudo ufw disable)、放行端口(sudo ufw allow 80/tcp)、按服务名放行(sudo ufw allow ssh)、按应用配置放行(sudo ufw allow 'Nginx Full')、拒绝端口(sudo ufw deny 25/tcp)、删除规则(sudo ufw delete allow 80/tcp 或按编号 sudo ufw delete 3)、按来源 IP 放行(sudo ufw allow from 192.168.1.0/24)、绑定 IP 与端口(sudo ufw allow from 192.168.1.10 to any port 5432)、重置(sudo ufw reset)、重载(sudo ufw reload)、开启日志(sudo ufw logging on,可用 medium 或 high 提高级别)。

配置与安装:配置位于 /etc/ufw/(规则在 user.rules、user6.rules),应用配置位于 /etc/ufw/applications.d/,可用 sudo ufw app list 查看;日志可查 journalctl -k | grep UFW 或 /var/log/ufw.log。安装命令为 apt install ufw(Debian/Ubuntu),RHEL 非默认,改用 firewalld。

使用方式与预期状态:启用后状态为 active,默认策略为 deny(入站)、allow(出站)、disabled(路由)。启用前必须先放行 SSH:sudo ufw allow ssh,然后再 sudo ufw enable。

限制与常见问题:启用前未放行 SSH 会导致远程登录被锁,需通过控制台恢复;规则按插入顺序匹配,更具体的规则须排在前面,否则可能被更宽泛规则覆盖;Docker 直接改写 iptables,默认绕过 ufw,用 -p 发布的端口即使被 ufw 阻止仍可能可达,需用 --iptables=false、绑定本地再经 nginx 代理或特定 Docker 网络规则处理;ufw reset 会清空所有规则,包括 SSH 放行规则,重置后需立即重新添加 SSH;IPv6 规则需 /etc/ufw/ufw.conf 中 IPV6=yes;端口已放行仍不可达时,检查应用是否监听及监听接口,可用 ss -tlnp | grep <port>。参考资料见 references/ 中的 common-rules.md 与 docs.md。