卸载 VPN 后无法上网?检查三个归属方
残留的适配器、过滤器或路由可能比客户端活得更久。检查三个归属方,移除最窄的对象,然后重新测试直连与隧道访问。
客户端已经卸载,机器却仍然什么都连不上,于是很容易想把防火墙整个推平、从头再来。不要这样做。阻断状态可能来自同一台机器上的三个不同归属方,而每一方都有自己的清除路径。一次性清空所有内容,会把你想要移除的对象和你仍然需要的防护一起清掉,而且还会毁掉究竟是哪一方造成问题的证据。按顺序做五项检查,就能避免这种情况。
检查 1:还留下什么,它是做什么用的
分开查找三样遗留物:仍然存在的虚拟适配器、仍然在拦截的防火墙过滤器或规则,以及仍然指向已不存在的隧道的路由或策略规则。它们的存在本身说明不了什么,因为有意的断网开关从外面看和被遗弃的开关一模一样。
Get-NetAdapter | Where-Object Status -eq 'Up'
Get-NetFirewallRule -Enabled True -Direction Outbound | Where-Object Action -eq 'Block'
ip route show
ip -4 rule show
记下连接中断的时间,以及正常客户端是否还能启动它的隧道。如果客户端能恢复隧道、流量也恢复了,说明阻断正在履行职责,问题出在客户端的状态上,而不是某条残留规则。
检查 2:它归哪一方管
每一种遗留物都有归属方。虚拟适配器属于 VPN 客户端或其驱动。过滤器可能属于客户端,也可能属于平台自带的防火墙,或者属于受管理的安全产品。路由可能是客户端在连接时安装、之后被遗留下来的。
在受管设备上,动任何东西之前先查看设备策略。由策略强制执行的过滤器会在下次登记时被恢复,所以本地删除只换来一小时和一个合规报告。这种沟通属于管理员,而不属于防火墙界面。
检查 3:移除能解释问题的最窄对象
先从厂商支持的途径开始:修复安装或规范卸载通常能正确清理生成的状态,包括手动删除会漏掉的过滤器。请阅读所安装版本的恢复说明,因为顺序很重要,而且在错误删除之后再卸载,行为会不一样。
如果确实需要手动检查,先记下规则名称、接口和声明的用途,再动手修改,并按名称移除那个对象。为了针对一个客户端而删掉所有网络适配器或清空整套规则,正是让一个支持工单变成整机重装的做法。
检查 4:DNS 和路由比适配器活得更久
解析状态可能比隧道活得更久。如果解析器仍然指向已不存在隧道内部的地址,就会产生看起来和防火墙丢包完全一样的超时,而通常的结论往往是错的。
resolvectl status
ip route get 1.1.1.1
nslookup example.com
如果地址能解析、用 IP 直接连接也能通,那么剩下的问题是 DNS,而不是过滤。如果两者都失败,拿着路由和过滤器回到检查一。
检查 5:重测两条路径,并把诊断改动恢复原状
先验证普通连接,再通过各自的控件逐一测试剩余的 VPN 配置文件:连接、使用、断开,并确认主机回到了普通连接状态。这一来一回,才是证明被遗弃的阻断已经消失、而不只是被绕过的测试。
最后,把一路上做过的任何诊断性改动恢复原状。一次成功的清理只移除一个被遗弃的依赖;它不会移除主机的整体防护,也不应该留下一个被永久放松的防火墙。记下阻断归属于哪一方,因为下一次卸载还会产生同样的三个候选。