节点能测出延迟、网页却打不开,问题一般出在流量没交给客户端。系统代理只是改了系统的代理设置,浏览器和多数软件会照着走,命令行、部分游戏和 UWP 应用不认;TUN 模式建一块虚拟网卡,从路由上接管几乎所有流量,Windows 上要先装服务模式。先确认模式是“规则”、系统代理开关真的生效,再考虑开 TUN。
流量要先交给客户端
梯子客户端在你的电脑上开了一个本地代理端口,Clash Verge Rev 默认是 7897,老的 Clash 客户端多是 7890,以设置页显示的为准。流量得先进这个端口,客户端才能按规则把它送去节点。
节点测得出延迟,说明客户端到机场这一段是通的。网页还是打不开,毛病基本在前一段,你的浏览器或软件根本没把流量交给客户端。把流量交过去的办法有两种,系统代理和 TUN 模式。
系统代理管什么
打开系统代理,客户端会把“127.0.0.1 加端口”写进系统的代理设置。在 Windows 上可以亲眼看到,打开设置 → 网络和 Internet → 代理,手动设置代理下面的“使用代理服务器”会变成打开状态,地址就是这个本地端口。
这只是一条建议,软件听不听由它自己决定。浏览器和大部分软件会照着走,所以日常上网开系统代理就够了。不听的也不少,终端里的 git、curl 靠环境变量,部分游戏直接自己联网,微软商店这类 UWP 应用默认连本机的代理都不让连。
TUN 模式管什么
TUN 模式会在系统里建一块虚拟网卡。按 mihomo 文档的说法,开启自动路由以后,全局流量会被路由进这块网卡,客户端再按规则分流。它不靠软件自觉,所以能接住那些不认系统代理的程序。
代价是要更高的权限。Clash Verge Rev 的提示写明,TUN 模式需要安装服务模式或管理员模式,在 Windows 上先在设置里点“安装服务”,弹出管理员授权时点“是”。v2rayN 也要以管理员身份运行才能开 TUN。开了 TUN 就不用再开系统代理,Clash Verge Rev 的说明也是这么写的。
| 对比项 | 系统代理 | TUN 模式 |
|---|---|---|
| 原理 | 改系统代理设置,软件自己决定听不听 | 建虚拟网卡,从路由上接管流量 |
| 能管到的程序 | 浏览器和大部分软件 | 几乎所有程序,包括命令行和游戏 |
| 权限 | 一般不需要 | Windows 上要服务模式或管理员 |
| 常见毛病 | 退出后设置残留,被别的软件改掉 | 服务装不上,和其他 VPN 冲突 |
| 适合 | 新手日常上网 | 不认系统代理的程序 |
手机上基本不用纠结这件事。安卓和 iPhone 的梯子客户端都以 VPN 的方式运行,打开后系统把流量交给它,效果相当于电脑上的 TUN。
网页打不开,按这个顺序查
先看代理模式。 Clash 类客户端有规则、全局、直连三种。选成“直连”,所有流量都不走节点。日常用“规则”,按规则分流,国内网站直连、国外网站走节点。
再看系统代理是不是真的开着。 客户端里的开关显示打开,不代表系统设置里还是它。有的软件会改动系统代理,去 Windows 的代理设置里看一眼地址和端口对不对。Clash Verge Rev 的系统代理设置里有个“系统代理守卫”,开启后能防止别的软件改掉这项设置。
然后看浏览器插件。 装了 SwitchyOmega 这类代理插件,浏览器会听插件的,不听系统的。把插件切到“系统代理”,或者按插件里填的端口核对一遍。
最后看是不是这个程序不认代理。 浏览器正常、只有某个软件不行,多半就是这种情况,直接换 TUN 模式最省事。
两类程序有专门的办法。终端程序靠环境变量走代理,curl 的文档写明它会读取 http_proxy、https_proxy 这类变量,Clash Verge Rev 的托盘菜单里有“复制环境变量”,粘贴到终端执行就行。UWP 应用从 Windows 8 起就被限制访问本机的网络服务。Clash Verge Rev 的设置里有 UWP 工具,把要联网的应用勾上即可;Clash Party 也有同样的工具,见Clash Party Windows 教程。
开 TUN 常见的坑
服务装不上时,先想安全软件。360、金山毒霸这类安全软件可能拦截服务安装,导致开关打不开或者一开就闪退,先退出它们再装。
同时开着别的 VPN 或加速器,两块虚拟网卡可能会抢路由。开 TUN 之前把它们关掉,测试时只留一个客户端。
在学校用锐捷这类认证客户端上网的,多出一块虚拟网卡可能和认证客户端冲突,相关情况见校园网能用梯子吗。
退出以后上不了网
这是系统代理的老问题。客户端异常退出或者电脑突然断电,系统代理设置没来得及撤掉,系统还在把流量往一个已经关掉的端口送,结果国内网站也打不开。
重新打开客户端,关掉系统代理再退出就好。客户端打不开的话,手动去 Windows 设置 → 网络和 Internet → 代理,在手动设置代理下关闭“使用代理服务器”。v2rayN 用户也可以在托盘菜单点“清除系统代理”。
装客户端、导入订阅这些基础步骤,Windows 上可以照着Clash Verge Rev Windows 教程或v2rayN Windows 教程做。节点本身都测不出延迟的,先看梯子节点全部超时怎么办。
常见问题
系统代理和 TUN 模式要一起开吗?
不用。Clash Verge Rev 的说明写明,TUN 模式接管系统所有流量,启用时无须打开系统代理。只开一个也更容易排查,平时用系统代理,碰到不认代理的程序再换成 TUN。
为什么开了梯子,游戏还是没走代理?
不少游戏和客户端软件不读系统代理设置,流量直接发出去了。可以改用 TUN 模式接管,或者看游戏本身有没有代理设置。另外要确认游戏服务器的域名在分流规则里走的是节点。
手机上也要分系统代理和 TUN 吗?
一般不用。安卓和 iPhone 上的梯子客户端都是以 VPN 的方式运行,打开以后系统会把流量交给它,相当于电脑上的 TUN。FlClash 教程里电脑版的系统代理开关,在手机上对应的就是 VPN 卡片。
命令行里的 git、curl 怎么走代理?
终端程序一般靠环境变量走代理,curl 的文档写明它会读取 http_proxy、https_proxy 这类变量。Clash Verge Rev 的托盘菜单里有“复制环境变量”,粘贴到终端执行即可,也可以直接开 TUN 模式。
关掉梯子以后电脑上不了网怎么办?
客户端没正常退出时,系统代理设置会留在系统里。重新打开客户端关掉系统代理再退出,或者打开 Windows 设置,进入网络和 Internet 里的代理,在手动设置代理下关闭“使用代理服务器”。