关于Clash开启TUN无法联网的问题
之前我一直在用 Clash for Windows 科学上网。后来为了使用 Google 的反重力(Antigravity)软件,需要开启 TUN 模式,但我这边出现了一个非常折磨人的问题:只要一打开 TUN,就直接断网。
这期间我在网上翻了无数帖子、试了无数“玄学设置”,都没能根治。中间还换过同门的一款 CFW(确实能开 TUN 正常用),但它有一个新毛病:会随机掉网——有时一瞬间,有时持续十几秒,尤其在和 AI 对话时,断一下就可能导致长回答直接中断,反复重试也很浪费时间。
于是我决定换到口碑更好、且仍在维护的 Clash Verge Rev。结果安装后发现:开启 TUN 依然无法联网。这让我意识到:问题不在某一款软件,而在我的网络环境/路由策略上。
直到某次我无意间翻日志,看到了“不太一样”的提示(大意是内核选择的出口接口/路由不对),我才突然反应过来——
我的以太网(Ethernet)连的是内网。
如果系统默认把“以太网”当成更优先的出口,Clash 开启 TUN 后把流量按默认路由丢给以太网,那怎么可能访问公网?
所以真正要解决的不是“怎么调 Clash”,而是:
让系统默认出口走 WLAN(Wi-Fi),而不是以太网。
下面记录两种我亲测有效的方案。
症状表现
- Clash Verge Rev(或其他支持 TUN 的客户端)开启 TUN 后:
- 浏览器打不开网页 / 全局断网
- 或日志里出现 IP/路由相关报错(比如出口接口选择异常、路由不可达等)
- 关闭 TUN 一切恢复正常
根因:默认路由/接口优先级选错了
Windows 在多网卡并存时,会根据 接口跃点数(Interface Metric)、路由表等规则决定默认出口。
如果你的 以太网优先级高于 Wi-Fi,系统就可能优先走以太网默认路由——而你这条以太网只通内网,不通公网,于是“看起来像是 TUN 把网搞没了”。
方案一:禁用以太网(有副作用)
适用场景:你暂时不需要访问内网服务,只想立刻恢复公网。
操作步骤
Win + R输入ncpa.cpl回车(打开“网络连接”)- 找到 以太网(Ethernet) → 右键 → 禁用
- 再打开 Clash 的 TUN,通常就能直接联网
缺点
- 禁用后 无法访问内网资源(例如内网服务器、NAS、实验室网段等)
- 需要内网时还得手动启用回来
方案二:提升 WLAN 优先级(推荐)
核心思路:把 Wi-Fi 的 Metric 调小(优先级更高),把 以太网的 Metric 调大(优先级更低)。
这样默认出口走 Wi-Fi,但你访问内网网段时,依然可以走以太网(只要路由存在)。
方法 A:图形界面修改(稳定、直观)
建议 IPv4 和 IPv6 都改一下,避免某些环境下“IPv6 先走错”。
-
Win + R→ 输入ncpa.cpl -
右键 Wi-Fi → 属性
-
双击
Internet 协议版本 4 (TCP/IPv4)→ “高级…” -
取消勾选 自动跃点数(Automatic metric)
-
在“接口跃点数”填一个较小值,例如:
5或10 -
IPv6(TCP/IPv6)同样操作一遍(可选但推荐)
-
-
右键 以太网 → 属性
操作同上
- 同样进入 IPv4/IPv6 高级设置
- 取消自动跃点数
- 设置一个较大的值,例如:
50/100
修改后一般无需重启,断开重连 Wi-Fi/以太网或重启 Clash 即可。
方法 B:命令行修改(适合记录/脚本化)
以管理员身份打开 PowerShell,然后:
1 | # 查看当前接口与跃点数 |
这是我修改后的配置
注意:不同机器网卡名称可能不是
WLAN/以太网,以你Get-NetIPInterface里看到的InterfaceAlias为准。
进阶:用 Proxifier 给 AI 工具做应用级代理,减少对话断连
即便把 TUN 问题解决了,我还遇到过 AI 工具网络不稳定、对话偶发中断 的情况。很多 AI 客户端/IDE 插件并不总是“乖乖走系统代理”,或者在网络切换时连接更容易抖动。
我的做法是:不用全局折腾,把 AI 相关进程强制走 Clash 的本地 SOCKS5 代理(应用级代理),让它们的网络路径更一致,从而减少断连。
下面以我当前配置为例:
1)在 Proxifier 添加 Clash 的 SOCKS5 代理
打开 Proxifier:
-
Profile→Proxy Servers...→Add...或点击图中位置
-
按如下填写:
-
Address:
127.0.0.1 -
Port:
7897 -
Protocol:
SOCKS Version 5 -
Authentication 不用勾(一般 Clash 本地不需要)
-
-
点
Check测试连通性,确认 OK
提醒:
7897是我这边 Clash 的 SOCKS 端口,你的端口以 Clash/Verge 的端口设置为准。
2)新增一条“AI”规则,只代理指定程序
-
Profile→Proxification Rules...→Add...或点击图中位置
-
Name:
AI(勾选 Enabled) -
Applications:填入需要强制走代理的程序:
antigravity.exe; language_server_windows_x64.exe; cursor.exe
-
Target hosts:留空(表示不限制域名)
-
Target ports:
Any -
Action:选择刚才创建的代理
Proxy SOCKS5 127.0.0.1
最后把 AI 规则放到 Default 规则之上(规则是从上往下匹配的),避免被默认规则抢先匹配。
3)效果
- 只有 AI 相关进程走代理
- 内网/其他软件照常走直连或按你自己的规则走
- 对话连接更稳定:不会因为某些程序绕过系统代理而“时通时不通”,也更不容易在长对话时突然断掉
















