一句话结论
系统代理只覆盖认这套设置的程序,浏览器和大部分软件认,游戏和部分命令行工具不认。排查按顺序来,先确认系统代理开关真开着,再切一次全局看是不是规则判成了直连,微软商店应用要单独解回环限制,最后才考虑开虚拟网卡。
关键事实
- 系统代理只对遵守这套设置的程序有效,浏览器和多数带界面的软件遵守,命令行工具、部分游戏和老软件无视它。
- v2rayN 和 ClashN 的系统代理下拉框默认停在「清除系统代理」,不改成「自动配置系统代理」等于没开。
- 微软商店的 UWP 应用默认禁止回环连接,ClashN 参数设置页、Clash for Windows 主页、FlClash 工具页各有一个解除限制的工具。
- TUN 与虚拟网卡接管全部流量并需要管理员权限或安装系统服务,排在最后一步,不是首选。
浏览器能打开外网,游戏和微软商店里的应用还在直连。客户端连着,节点也选了,某个命令行工具照样连不上。
这一类现象多半不是客户端坏了。桌面客户端默认开的是系统代理,它是写在操作系统设置里的一份配置,等程序自己来读。浏览器读,大部分带界面的软件读,命令行工具、部分游戏和一些老软件根本不看这份设置,于是继续直连。术语库的系统代理与 TUN 模式词条把这两层的差别写得更细。
排查按代价从小到大来,最后一步才动系统的网络层。
先把现象归到哪一类
三种情况对应三个方向。浏览器能走、终端或者游戏不走,这是系统代理模式的正常边界,往下按步骤把范围扩大就行。所有程序都不走,问题在开关本身,客户端也可能压根没启动。已经开了 TUN、外网都通但内网共享或者打印机访问异常,那是 TUN 的分流规则缺内网直连,方向完全相反。
大部分「代理不生效」的求助,答案都在这三行里。
第一步,确认系统代理这个开关真的开着
这一步最常被跳过,因为节点选好了、延迟也测出来了,看上去像已经连上。v2rayN 窗口底部有个系统代理下拉框,默认停在「清除系统代理」,也就是不接管任何流量,要手动改成「自动配置系统代理」。ClashN 当前代理页上同一排最左边是同一个下拉框,四个选项分别是清除系统代理、自动配置系统代理、不改变系统代理和 Pac 模式,停在第一项等于没开。
Clash 系客户端换了个位置。Clash Verge Rev 在设置页第一块「系统设置」里,第一项就是系统代理,原版 Clash Verge 也在同一位置。FlClash 的开关在仪表盘右边,从上往下第二个,打开之后还要点右下角那个三角把内核启动起来。Mihomo Party 把它做进了左栏,模式那一排下面就是系统代理和虚拟网卡两个开关。各客户端的具体步骤在客户端下载总表里能找到对应教程。
通过标准很直接,打开一个平时打不开的网站,能加载出来就算过。
还有一件事顺手确认,机器上别开着第二个代理软件。两个软件抢同一份系统代理设置,后开的会把先开的覆盖掉,界面上两边都显示已开启,实际生效的只有一个。想从旧客户端换到新的,先把旧的退干净。
第二步,切一次全局,看是不是规则把它判成了直连
规则模式下国内网站直连、国外网站走节点。分流规则是配置里的一张表,某个域名被判成国内,客户端就不会把它送去节点,表现出来和「不走代理」一模一样。
验证只要一步。把模式从规则切到全局,再试一次那个软件。能通就是规则的事,不通就往下走。FlClash 的出站模式在仪表盘右边最下面。Clash Verge Rev 在代理页右上角,切到全局之后要自己指定一个节点,它不会替你挑。Mihomo Party 在左栏最上面一排。安卓的 Clash Meta for Android 藏得深一点,代理页右上角三点菜单里的「模式」有五个选项,默认是「不修改」,表示跟着配置文件走。
全局会把国内网站的流量也送去节点,速度和流量都吃亏,验证完切回规则。
第三步,微软商店的应用要单独解一次回环限制
UWP 应用默认禁止回环连接。客户端在本机监听一个端口,其他程序连 127.0.0.1 上的这个端口把流量交出去,UWP 应用被系统拦住,连不了本机,于是走不了代理。这一条和系统代理开没开无关,开关全对也一样不通。
客户端都准备了现成的按钮。ClashN 在参数设置页最底下,写着解除 Win10 UWP 应用回环代理限制,点一次即可。Clash for Windows 在主页,叫 UWP 应用联网限制解除工具。FlClash 放在工具页,和备份恢复、快捷键管理排在一起,名字是回环解锁工具。点完再打开那个商店应用试,能联网就成了。
普通浏览器用不到这个按钮,只有微软商店里装的应用才需要。
第四步,前三步都不行才开虚拟网卡
到这一步说明那个程序确实不读系统代理这套设置。剩下的办法是不再指望程序配合,在网络层直接接管。客户端里这个功能叫 TUN 模式或者虚拟网卡,做的事是建一块虚拟网卡,所有流量从它过。
位置各不相同。Clash Verge Rev 在首页那张网络设置卡片里,系统代理旁边就是虚拟网卡模式。原版 Clash Verge 把它放在设置页的系统设置那一块,那一项叫 Tun 模式,同一块还有服务模式。v2rayN 在窗口底部,写着启用 Tun 模式。Mihomo Party 和 FlClash 都把它和系统代理并排放着。首次打开会弹管理员授权或者要求安装系统服务,属于正常流程。
把它放在最后是因为代价更大。它要管理员权限,接管的又是全部流量,规则没配好时内网访问和打印机这类本地地址也可能被带偏。出问题时影响面比系统代理大,排查起来更麻烦。
只有一个程序需要的话,还有更轻的办法
不必为一个软件开 TUN。程序自己带代理设置的,直接在它的设置里填客户端的本地端口。端口在客户端里能查到,Clash Verge Rev 和原版 Clash Verge 默认是 7897,Clash for Windows 是 7890,v2rayN 窗口底部左边写着 socks 10808、http 10809。填完只有这个程序走代理,其他程序不受影响。
只在终端里临时需要,给终端设一个 http_proxy 环境变量指向同一个端口最省事,关掉窗口就恢复原样。
安卓上没有这一层
安卓客户端靠系统的 VPN 通道工作,机制接近 TUN,所以安卓没有单独的系统代理概念。Clash Meta for Android 第一次启动会弹一个网络连接请求,点确定授权,之后流量都走客户端,这个授权每台设备只给一次。手机上遇到某个应用不走代理,方向和电脑不一样,先看分应用代理的名单里有没有它,再看系统的后台运行限制,别再找系统代理开关。这两处的具体设置写在 Android 客户端配置 里。
来源与说明
- 本站客户端教程的界面记录
文中提到的开关位置来自 FlClash、Clash Verge Rev、Clash Verge、v2rayN、ClashN、Mihomo Party、Clash for Windows 与 Clash Meta for Android 的站内教程,按各自截图时的版本描述,客户端更新后位置可能变化。
- 站内术语库「系统代理与 TUN 模式」词条
覆盖两种模式的作用层级差异、常见误区与切换建议,不涉及任何一家机场的线路表现。
常见问题
为什么浏览器能上外网,游戏却不走代理?
桌面客户端默认开的是系统代理,它是写在操作系统里的一份设置,只有愿意读它的程序才会把流量交给客户端。浏览器和多数带界面的软件会读,命令行工具、部分游戏和一些老软件不读,于是继续直连。这属于系统代理模式的正常边界,不代表客户端坏了。要让这类程序也走代理,办法是打开客户端的 TUN 模式或者虚拟网卡,在网络层接管全部流量。程序自己带代理设置的话,在它的设置里填客户端的本地端口更轻。
微软商店里的应用不走代理怎么办?
用客户端自带的回环解除工具点一次。微软商店里的 UWP 应用默认禁止回环连接,而客户端是在本机监听端口收流量的,应用连不上本机就走不了代理,这一条和系统代理开关有没有打开无关。ClashN 的按钮在参数设置页最底下,写着解除 Win10 UWP 应用回环代理限制。Clash for Windows 在主页,叫 UWP 应用联网限制解除工具。FlClash 放在工具页,名字是回环解锁工具。点完重新打开那个应用试一次即可,普通浏览器用不到这个按钮。
系统代理明明开了,某个网站还是打不开怎么办?
先把模式从规则切到全局再试一次。规则模式下客户端按配置里的分流表决定去向,国内网站直连、国外网站走节点,某个域名被规则判成国内就不会送去节点,看起来就像没走代理。切全局之后所有流量都走节点,这时能打开就说明卡在规则那一层,开关是好的。验证完记得切回规则,全局连国内网站也要绕一圈,速度和流量都吃亏。切全局仍然不通的话,换个节点再试,机场单个节点故障是常事。
TUN 模式要不要一直开着?
不建议。TUN 建一块虚拟网卡,在网络层接管全部流量,程序绕不过去,代价是它需要管理员权限或者安装系统服务,分流规则没配好时内网访问、局域网共享和打印机这类本地地址也可能被带偏,出问题时的排查范围比系统代理大得多。日常浏览用系统代理已经够,需要让命令行工具或者游戏走代理时再打开,用完切回去。两个模式在客户端里随时能切,不是长期的二选一。
两个代理软件可以同时开着吗?
不能同时开系统代理。系统代理是操作系统里的一份设置,两个软件都去写它,后开的那个会把先开的覆盖掉,而两边界面上都显示已开启,很难看出实际生效的是哪一个。这也是站内多篇客户端教程排查表里重复出现的一条。换客户端时先把旧的完全退出,包括托盘里那个图标,再启动新的。测试期间两个都想留着,就只让其中一个打开系统代理开关。