开了代理还是上不了网?分步排查指南
本文目录
“客户端明明在跑,网页就是打不开。”这类问题看着玄学,其实只要按层排查,多数情况下几分钟就能定位。代理链路自上而下只有四层:客户端有没有运行、流量有没有交给它、节点通不通、域名能不能正确解析。任何一层断掉,表现出来都是“上不了网”。
本文给出一条固定的排查路径,每一步都有明确的判断标准和下一步动作。建议按顺序走,不要跳步——跳着改设置,往往折腾半天也说不清是哪一项起了作用。
先分层定位:四个问题决定方向
- 客户端进程在运行吗?托盘图标是否还在,日志有没有持续输出。
- 流量交给它了吗?系统代理或 TUN 至少开着一个,端口要对得上。
- 节点通吗?延迟测试是全部超时,还是只有个别节点超时。
- DNS 正常吗?直接访问 IP 能通、访问域名不通,基本就是解析问题。
先在心里过一遍这四问,再动手。下面每一节对应其中一层。
第一步:确认接管开关与端口一致
最常见的“假故障”是:客户端启动了、节点也选好了,但系统代理开关没打开,流量压根没进代理。请先确认系统代理和 TUN 至少启用一个,同时开反而会给排查添乱。
其次是端口一致性。客户端的混合端口可以在设置里查看(常见为 7890 或 7897),如果你曾经手动改过端口,而浏览器插件或系统代理里填的还是旧值,流量就会发到一个没人监听的端口上。用下面的命令可以直接验证本地端口是否真的在转发:
curl -x http://127.0.0.1:7890 -I https://github.com
返回 HTTP 状态行说明本地代理链路是通的,问题在更上层;连接被拒绝说明端口不对或内核没起来,回到日志继续查,可参考常见错误排查大全。
第二步:测节点延迟,区分“全挂”和“个别挂”
在代理页面对当前代理组做一次延迟测试,结果分三种情况:
- 全部超时:多半不是你的问题。订阅到期、套餐流量用尽、线路整体故障都会这样。先更新一次订阅,再看服务商公告。
- 部分超时:换一个正常的节点即可,个别线路波动很常见。
- 延迟正常但仍打不开网页:说明节点可达,问题出在规则或 DNS,继续往下走。
说明:延迟数值只作参考,真正需要在意的是“通不通”。如果更新订阅时也报错,按订阅导入教程里的失败排查部分处理。
第三步:检查规则模式有没有选错
客户端一般提供三种模式,选错了会得到完全不同的结果:
- 规则:按配置里的分流规则决定走代理还是直连,日常使用的默认选择。
- 全局:所有流量都走当前选中的节点,适合临时排查——如果全局能通、规则不能通,问题就锁定在规则上。
- 直连:所有流量都不走代理。误选这个,症状和“没开代理”一模一样。
这是一次高效的二分:切到全局试一次,能立刻把故障范围缩小一半。若确认是规则问题,检查订阅自带的规则是否把目标域名判给了直连,或代理组是不是指向了不可用的节点。
第四步:判断是不是 DNS 出了问题
典型表现是:节点延迟正常、全局模式也开了,但网页始终转圈,或者部分网站能开、部分打不开。这类症状往往指向域名解析环节。
处理思路有三条:确认客户端的 DNS 功能已启用,让解析交给内核而不是系统直接对外查询;TUN 下若使用 fake-ip,把需要真实 IP 的应用加入 fake-ip-filter;上游 DNS 不可达时解析会变慢甚至失败,换一组再试。各字段含义与示例见 mihomo DNS 配置详解。
还有这些容易被忽略的原因
- 浏览器代理插件冲突:装了代理切换类扩展时,浏览器可能不走系统代理,而是按插件规则走。先把插件设为“直接连接”或系统代理模式。
- 本机网络本身断了:关掉代理试试能不能访问局域网路由器管理页;直连都不通就先修网络。
- 系统时间偏差过大:会影响 TLS 握手,导致节点看起来通、实际连不上。
快速检查清单
- 客户端在运行,日志没有持续报错。
- 系统代理或 TUN 已开启,端口与客户端设置一致。
- 延迟测试有可用节点,订阅在有效期内。
- 模式没有误选直连;用全局模式做过一次对照测试。
- 浏览器代理插件已设为不干扰。
- 关闭代理后能正常访问内网,排除本机断网。
- 以上都正常仍不通,再去调 DNS 相关配置。
按这七条走完,绝大多数“开了代理还是上不了网”都能收敛到具体原因。若怀疑客户端自身状态混乱,可到下载中心重新获取安装包覆盖安装,订阅重新导入即可恢复。