要将UFW彻底重置为初始状态,须依次执行:确认规则与策略状态→sudo ufw disable && sudo ufw reset→sudo ufw default deny incoming && sudo ufw default allow outgoing→sudo ufw logging off && sudo ufw logging on→sudo ufw disable && sudo ufw enable,并通过ufw status、iptables链和SSH连通性三重验证。

要将 Ubuntu 系统中 UFW 防火墙的所有规则彻底清空、策略还原、链状态重载,使其回到刚安装完未配置时的初始状态,必须执行一套有先后顺序且不可跳过的操作流程。直接运行 ufw reset 并不等于完成重置——它只删规则、关服务,但默认策略可能残留异常,iptables 链挂载也可能错位,后续启用极易失败。
确认当前规则编号与策略状态
先运行 sudo ufw status numbered 查看带编号的活跃规则列表,注意编号是否连续、是否存在明显冲突项(如重复开放 22 端口或误放 0.0.0.0/0)。再执行 sudo ufw status verbose,重点检查两行:Default: deny (incoming) 和 Default: allow (outgoing) 是否同时存在。若其中一项被修改过(比如 incoming 显示为 allow),说明策略已偏离初始基线,必须在 reset 后手动修复。
安全禁用并重置 UFW
执行 sudo ufw disable → sudo ufw reset。这一步会立即停止防火墙服务、删除所有用户添加的规则、清除 /etc/ufw/user*.rules 文件内容,并将 UFW 内部状态重置为“未启用”状态。注意:【ufw reset 不会自动恢复默认策略】,它只清规则,不写策略;也不重启日志模块,旧日志缓存可能干扰后续验证。
强制重载默认策略与日志模块
第一步:恢复安全基线策略:sudo ufw default deny incomingsudo ufw default allow outgoing
第二步:重启日志以刷新内核缓存:sudo ufw logging off && sudo ufw logging on
第三步:重新启用防火墙并强制同步底层链:sudo ufw disable && sudo ufw enable
验证重置结果是否真正生效
方法一:检查规则输出
运行 sudo ufw status,输出必须为:
Status: active
To Action From
-- ------ ----
且下方无任何规则行——只有空表头。
方法二:穿透到底层 iptables 验证链挂载
执行 sudo iptables -L | grep ufw-,应返回至少 3 行含 ufw-before-input、ufw-user-input、ufw-after-input 的链名,证明 UFW 规则链已正确挂载到 netfilter。
方法三:确认 SSH 连通性未中断(若远程操作)sudo ss -tuln | grep :22 必须显示 LISTEN 状态,且无 REJECT 或 DROP 日志出现在 sudo tail -10 /var/log/ufw.log 中。

















