网络故障排查网络故障排查
客户端开启后没有网络怎么办?
开启代理客户端后所有网页都打不开,通常是系统代理或 TUN 模式未正确接管、DNS 配置冲突、规则模式选错、端口被占用或杀毒软件拦截。本文按最可能的原因给出排查顺序与处理方式。
客户端开启后没有网络,先确认当前选中的节点延迟正常,再检查系统代理或 TUN 模式是否只开启了一种、DNS 是否被劫持、规则模式是否误选为直连或全局。多数情况是系统代理与 TUN 同时开启、端口被其他程序占用,或杀毒软件拦截了虚拟网卡。
目录
客户端开启后所有网页都打不开,说明流量确实被客户端接管了,但接管之后没有正确转发出去。按出现概率排序,原因依次是:选中的节点本身不可用、系统代理与 TUN 模式配置冲突、DNS 被劫持或解析失败、规则模式选错、代理端口被其他程序占用、杀毒软件或防火墙拦截虚拟网卡。
排查思路是先把变量减到最少:只开一种接管方式、只用一个确认可用的节点、切换到全局模式。如果这样能上网,再逐项把设置加回来,就能找到冲突点。
排查清单(从最可能的原因开始)
- 确认节点可用。在客户端里测一下当前选中节点的延迟,如果全部超时,问题不在本机设置,参考节点全部超时怎么办。
- 只保留一种接管方式。系统代理与 TUN 模式同时开启是最常见的冲突来源,先关闭 TUN 只用系统代理测试,反之亦然。TUN 的正确开法见 Clash Verge Rev TUN 模式教程。
- 切换到全局模式。规则模式下如果规则文件损坏或为空,所有请求可能被判定为直连或拒绝。全局模式能上网,说明是规则问题。
- 检查 DNS 设置。系统 DNS 被运营商劫持、客户端 DNS 配置与系统冲突时,域名解析会失败,表现为「正在解析主机」后报错。详细见 DNS 错误排查。
- 检查端口占用。客户端日志出现 bind 或 address in use 字样,说明端口被占用,结束占用进程或更换端口。
- 检查杀毒软件与防火墙。TUN 模式依赖虚拟网卡驱动,部分杀毒软件会静默拦截。将客户端加入白名单,或临时退出杀软测试。
- 检查浏览器自身的代理设置与扩展。浏览器代理扩展、手动填写的代理地址会覆盖系统设置。
- 重启客户端与系统。异常退出后残留的路由表、虚拟网卡与系统代理设置,重启是最直接的清理方式。
原因、表现与处理对照表
| 原因 | 典型表现 | 处理方式 |
|---|---|---|
| 节点不可用 | 延迟测试全部超时 | 换节点或更新订阅 |
| 系统代理与 TUN 同时开启 | 部分请求回环、网页无限加载 | 只保留一种接管方式 |
| 规则文件损坏或为空 | 规则模式不通,全局模式正常 | 更新订阅或规则集,重置配置 |
| DNS 劫持 / 解析失败 | 提示无法解析域名或 DNS 错误 | 客户端启用内置 DNS,系统 DNS 改为公共 DNS |
| 端口被占用 | 日志提示 address in use,系统代理指向错误端口 | 结束占用进程或更换端口 |
| 杀软 / 防火墙拦截 | TUN 开启后无网络,系统代理正常 | 加入白名单,重装虚拟网卡驱动 |
| 浏览器代理冲突 | 仅浏览器不能上网 | 浏览器代理改为系统设置,禁用扩展 |
什么时候联系客服,什么时候换机场
这类问题绝大多数出在本机配置,而不是机场。联系客服前,至少确认节点延迟正常、全局模式下也不通,并且换一台设备导入同一订阅也不能上网,这时才有可能是机场配置下发的问题(例如订阅里的 DNS 或规则配置有误)。
换机场的理由通常不在这里,除非机场提供的订阅长期包含错误的 DNS 或规则配置,且客服无法解释。如果你还不清楚为什么需要客户端以及各种模式的区别,可以先读为什么需要客户端。
总结
- 先确认节点可用,再排查本机设置,顺序不要反。
- 系统代理与 TUN 模式只开一种,两者同时开启是最常见的冲突。
- 全局模式能上网而规则模式不能,说明是规则文件问题。
- DNS 劫持、端口占用、杀软拦截是三个容易被忽略的原因。
- 这类问题基本都在本机,联系客服前先完成换设备测试。
常见问题
关闭客户端后网络也没有恢复,怎么办?
多数是客户端异常退出时没有还原系统代理设置。手动进入系统网络设置,关闭「使用代理服务器」或删除残留的 PAC 地址;如果用过 TUN 模式,重启一次系统让虚拟网卡与路由表恢复。
系统代理和 TUN 模式应该开哪一个?
日常浏览器使用开系统代理即可;需要让终端、游戏、不走系统代理的软件也走代理时才开 TUN。两者不要同时开启,容易出现回环或 DNS 混乱。
只有浏览器打不开,其他软件正常,是什么原因?
通常是浏览器自己设置了代理或安装了代理类扩展,与客户端设置冲突。检查浏览器代理设置为「使用系统设置」,禁用相关扩展后重试。
客户端提示端口被占用,应该怎么处理?
说明另一个程序(往往是之前没有退出的代理软件)占用了同一端口。在任务管理器中结束该进程,或在客户端设置里改用其他端口,然后重新开启系统代理。