没有不值得去解决的问题,也没有不值得去学习的技术!

Clash Verge 升级后 TUN 被关闭:Desktop Commander Remote 一直 fetch failed 的排查记录

【图 1|设备验证成功,但 session 建立阶段出现 fetch failed】

作者:

在

自建网络服务

图1:收到需要处理相关链接的通知。

(1) 根据网信办相关要求下线 8 篇自建 VPN 中文文章:保留系列标题并返回 404 的处理记录

图15:电脑VPN连接成功截图

(2) 从 LetsVPN 停用至自建 WireGuard VPN 全流程复盘(附避坑指南)

手机端优化配置(表单字段编辑专用,仅改2个字段)如图1

(3) WireGuard VPN 配置优化:国内网站直连,国外流量走VPN(实测有效)

ChatGPT(https://chatgpt.com/)、 YouTube(https://www.youtube.com/)、 V2EX(https://v2ex.com/) 始终打不开,提示无法访问。如图1

(4) WireGuard 国内直连+国外走隧道 配置踩坑与完美解决(实测可用)

客户端无「上次握手时间」,一直处于等待连接状态。客户端显示看似连接,但实际无握手、无流量转发,接收一直为 0。

(5) WireGuard 自建 VPN 偶发不可用 全程复盘:从正常使用→突然无握手→端口被封→换端口+智能分流 完整解决流程

Speedtest 出口带宽测速,打开:https://www.speedtest.net/ 。结果如图2

(6) 从 LetsVPN 停用自建 WireGuard 后:成都移动宽带+ Vultr 新加坡节点 实测网速很慢复盘+避坑干货

2. VPS 通过 iptables 做端口段转发:20000~60000 全部UDP端口,统一转发到本机 51820; 3. Vultr 防火墙只需放行 20000~60000 端口段 ,不用逐个添加单端口规则;

(7) 自建WireGuard解决端口频繁被封终极极简方案(保姆级可复现)

洛杉矶节点:Premium、Eyeball、Tier 1 三种网络类型下所有实例均处于缺货状态,包括我能勉强接受的 LAX.AN5.Pro.TINY(Premium 网络,12.98美元/月),该节点 AN5 系列已告罄(如图6);

(8) WireGuard 握手正常但打不开网?我们为什么非要 CN2 GIA,附 DMIT 部署 & 缺货替代方案

需要确保首页 - 当前节点 - ZgoCloud-VPN 是 绿色状态(如图25)。

(9) ZgoCloud + Wstunnel + WireGuard 提速 4 倍,Clash Verge Rev 自动分流与 443 端口防封实战

不可访问:`www.google.com` 提示 `ERR_CONNECTION_CLOSED`;`chatgpt.com`、`v2ex.com` 提示 `ERR_CERT_COMMON_NAME_INVALID`(HSTS 导致的证书错误)

(10) 排查实录:解决Clash Verge + Wstunnel + WireGuard下“部分网站无法访问”的DNS死锁问题

图12:开机后网站测试全部通过

(11) Ubuntu 26.04 下 ZgoCloud + Wstunnel + Clash Verge Rev 开机自启 VPN 配置

分析:第三次测试依然稳健,上传甚至回升到了 81 Mbps。这证明了 CN2 GIA + 9929 线路在下午时段(非深夜)的优异表现。 (图7:VPN 测速 #3 详细数据截图)

(12) Ubuntu 26.04 下 自建 VPN 速度实测报告:ZgoCloud + Wstunnel + WireGuard 方案体验与对比指南

【截图位置:图17 展示了启动后的仪表盘界面】

(13) Android 下 ZgoCloud + Wstunnel + FlClash VPN 配置

📷(图1:Play 商店无法更新)

(14) 自建 WireGuard + Wstunnel 在 Android 上 Google Play 更新异常的完整排查与架构优化

[截图 5:Clash 规则片段,突出显示新增的两行 DST-PORT 规则]

(15) 自建 VPN 后 Thunderbird 无法发送 Gmail 邮件:原因与解决方法

[截图 2:Play 商店更新界面,显示两个应用正常下载]

(16) 自建 VPN 后 Play 商店应用无法更新?别折腾 Wstunnel 了,问题在 Clash 分流规则里

关键信息是 code=exited, status=203/EXEC。这个退出码意味着 systemd 无法执行指定的程序。

(17) systemd 用户服务 203/EXEC 错误排查:wstunnel 自启动配置实录

Clash Verge Rev + WireGuard + Wstunnel 稳定配置实践(一):极简原则与初版构建

(18) Clash Verge Rev + WireGuard + Wstunnel 稳定配置实践(一):极简原则与初版构建

使用 Clash Verge Rev 内置的连接测试,对常用 13 个目标进行检测:

(19) Clash Verge Rev + WireGuard + Wstunnel 稳定配置实践(二):Google 污染的 DNS 最小修正

你好,我按照你博客文章按流程操作了一下服务器,服务器防火墙也开了,但是手机修改端口还是没有握手提示,也上不了网,这是哪里出问题了吗?

(20) 帮客户远程排查 Vultr WireGuard 无握手无法上网问题(完整实录)

Thunderbird 无法与 imap.gmail.com 连接,请稍后再试。如果问题依然存在,则可能是您超出了此服务器允许的最大连接数量。可在IMAP服务器设置中减少缓存的连接数量。

(21) 从 Thunderbird 连接失败到换用 Gmail API 客户端的完整排查记录

查看服务器上的 client.conf(截图8)

(22) 客户 Android 下 Wstunnel + FIClash 远程排障全记录:从脚本创建到 IP 错配的坑

在 FlClash 中查看实时请求日志,所有 Play 商店相关的请求全部走代理

(23) FlClash + WireGuard + Wstunnel 稳定配置实践(三):Google Play 下载问题解决

🚀 WireGuard + Clash Verge Rev 实现国内直连 / 国外分流(Vultr & ZgoCloud 实战演进版)

(24) 🚀 WireGuard + Clash Verge Rev 实现国内直连 / 国外分流(Vultr & ZgoCloud 实战演进版)

Clash Verge 内存占用过高

(25) 🚀 Clash Verge 从 500MB 到 200MB:Ubuntu VPN 客户端轻量化优化实战

LetsVPN 已经无法继续为中国大陆用户提供 VPN 服务

(26) 自建 VPN 与商业 VPN 怎么选:从 LetsVPN 停用到 WireGuard 自建的真实迁移复盘

【截图 2:Clash Verge Rev 日志中出现 dns resolve failed】

(27) Clash Verge Rev + WireGuard + Wstunnel 稳定配置实践(四):DNS 偶发超时的极简兜底修正

图 6:CoinPayments 生成的 USDT.TRC20 收款地址和二维码

(28) ZgoCloud 自建网络服务续费实测:使用 USDT.TRC20 支付后,账单为何仍显示 Unpaid

【图 2:Clash Verge 日志显示 admin.shuijingwanwq.com 被 MATCH 规则发送到 Proxy】

(29) Clash Verge 国内直连突然失效:从 PR_END_OF_FILE_ERROR 到更新 GeoData 后恢复的完整排查

【图 2:GitHub 仓库已经增加 metacubex-v4.yaml,并在 README 中记录 v4 更新】

(30) Clash Verge Rev + WireGuard + Wstunnel 稳定配置实践(四):DNS 偶发超时的极简兜底与长期验证

【图 1:Google Analytics 页面中的 Material Icons 没有正常渲染,图标名称直接显示成文字】

(31) Google Analytics 图标变成文字:从 Google Fonts 超时定位到 WireGuard 远程 DNS

【图 1|设备验证成功,但 session 建立阶段出现 fetch failed】

(32) Clash Verge 升级后 TUN 被关闭:Desktop Commander Remote 一直 fetch failed 的排查记录

2026 年 10 月 1 日,我在使用 Desktop Commander Remote(RDC)连接本地开发机时,遇到了一个很奇怪的问题:

设备验证可以成功,浏览器端甚至已经显示:

Plaintext
You're connected

但终端随后却报错:

Plaintext
Failed to set session: fetch failed
Device startup failed: fetch failed

然后 Desktop Commander Remote 自动退出。

更麻烦的是,这个问题不是偶发一次,而是连续多次重复出现。

最终找到的关键变化,是当天升级 Clash Verge 后,原本一直使用的 TUN / 虚拟网卡模式被关闭了。

重新开启 TUN 后,Desktop Commander Remote 恢复正常:

Plaintext
Desktop Commander Remote is connected
Status: Online

这篇文章记录这次排查过程。


一、问题表现:认证成功,但 session 建立失败

Desktop Commander Remote 的启动流程一开始看起来完全正常。

执行:

Plaintext
npx @wonderwhy-er/desktop-commander@latest remote

随后浏览器完成授权,设备验证成功,页面也显示连接完成。

但终端紧接着出现:

Plaintext
Failed to set session: fetch failed
Device startup failed: fetch failed

也就是说:

Device verification 成功了,但真正建立 Remote session 时失败。

这也是这个问题最容易误导人的地方。

如果认证直接失败,排查方向通常比较明确;但这里却是:

Plaintext
认证成功
↓
设备看起来已经连接
↓
session 建立失败
↓
进程退出
【图 1|设备验证成功,但 session 建立阶段出现 fetch failed】
【图 1|设备验证成功,但 session 建立阶段出现 fetch failed】

二、重复授权并不能解决问题

一开始我自然怀疑:

是不是 RDC 授权状态异常,或者 device session 出了问题。

因此我先后尝试了重新连接、重新授权、Revoke 设备,再重新建立连接。

结果 Desktop Commander Devices 页面留下了多个设备记录,但最终都变成:

Plaintext
Offline

相同故障可以稳定复现:

Plaintext
重新授权
↓
设备创建成功
↓
session 建立失败
↓
Offline
【图 2|多次重新连接后留下多个 Offline 设备记录】
【图 2|多次重新连接后留下多个 Offline 设备记录】

到这里以后,继续反复 Revoke 和授权已经没有太大意义。

问题显然不只是账号认证。


三、RDC CLI 版本也一度成为怀疑对象

当天 Desktop Commander CLI 也存在版本变化,因此我还怀疑过:

是否是新版本引入了兼容性问题?

于是测试了不同版本。

但结果基本一致:

Plaintext
Device verified
↓
Failed to set session: fetch failed

因此,没有足够证据说明问题来自某一个特定 RDC CLI 版本。

这个结果反而让我把注意力转向了运行环境。


四、奇怪之处:网络并不是完全不通

看到:

Plaintext
fetch failed

第一反应当然还是网络。

但当时浏览器可以正常访问网页,Desktop Commander 授权页面可以打开,普通 HTTPS 请求也能正常完成。

所以实际情况更像:

普通网络访问正常,但 Desktop Commander Remote 所需要的 session 无法正常建立。

这意味着:

Plaintext
浏览器能上网
≠
所有程序的网络路径都正常

于是我开始检查本机的代理环境。


五、关键发现:Clash Verge 升级后 TUN 被关闭

当天 Clash Verge 刚刚完成升级。

继续检查以后发现:

原本一直使用的 TUN / 虚拟网卡模式处于关闭状态。

系统代理仍然开启,所以普通网页访问几乎没有明显异常。

当时的环境实际上是:

Plaintext
浏览器可以上网
普通 HTTPS 可以访问
授权页面可以打开
设备认证可以完成

但 Desktop Commander Remote 一进入 session 建立阶段:

Plaintext
fetch failed
【图 3|Clash Verge 升级后,TUN / 虚拟网卡模式处于关闭状态】
【图 3|Clash Verge 升级后,TUN / 虚拟网卡模式处于关闭状态】

这张图是整个排查过程的转折点。

因为终于发现了一个和故障发生时间完全吻合的环境变化:

Plaintext
Clash Verge 升级
↓
TUN 状态改变
↓
Desktop Commander Remote session 无法建立

六、重新开启 TUN

随后重新开启 Clash Verge 的:

Plaintext
虚拟网卡模式 / TUN

Clash Verge 开始重新通过服务启动网络内核。

【图 4|重新开启 Clash Verge TUN / 虚拟网卡模式】
【图 4|重新开启 Clash Verge TUN / 虚拟网卡模式】

完成以后,再次启动 Desktop Commander Remote。

这一次结果马上发生了变化。


七、Desktop Commander Remote 恢复正常

重新运行:

Plaintext
npx @wonderwhy-er/desktop-commander@latest remote

终端最终显示:

Plaintext
Device marked as online

Device ready

Desktop Commander Remote is connected

Status: Online

而且进程不再像之前那样在 fetch failed 后自动退出。

【图 5|开启 TUN 后,Desktop Commander Remote 稳定恢复 Online】
【图 5|开启 TUN 后,Desktop Commander Remote 稳定恢复 Online】

至此,故障链基本闭合。


八、为什么系统代理能用,RDC 还是会失败?

这次排查最值得记录的,其实就是这一点。

平时我们很容易把:

Plaintext
浏览器能打开网页

理解成:

Plaintext
网络正常

但对于 Desktop Commander Remote 这类 Remote Agent 来说,并不一定成立。

这次实际观察到的状态是:

Plaintext
系统代理:可用
普通网页:可用
普通 HTTPS:可用
设备授权:可用
Remote session:失败

重新打开 TUN 后:

Plaintext
Remote session:恢复

至少在我这台 Ubuntu + Clash Verge + Desktop Commander Remote 的环境里,系统代理足以满足普通网页访问,但不能保证 RDC 所需要的网络流量都走到正确路径上。

而 TUN / 虚拟网卡模式会在更底层接管网络流量,对那些没有显式读取代理配置的程序更加可靠。

所以:

“网页能打开”只能证明一部分网络路径正常,不能证明 Remote Agent 的运行环境也正常。


九、为什么这次故障会花这么长时间?

真正浪费时间的,不是“重新打开 TUN”这个动作。

而是我一开始根本没有意识到:

Clash Verge 升级以后,原来的运行状态已经发生变化。

升级前,这台机器一直正常工作。

所以我的默认前提一直是:

Plaintext
代理环境和昨天一样

但实际上已经变成:

Plaintext
Clash Verge 更新
↓
TUN 被关闭

于是我先去检查了授权、device session、RDC CLI、服务端可访问性等方向。

这些排查都不算错,只是没有击中真正变化的地方。

这也是这次最有价值的经验之一:

软件升级以后,不要只确认“升级成功没有”,还要确认原本依赖的关键运行状态有没有被重置。

对于代理软件来说,尤其应该重新确认 TUN、System Proxy、DNS、service 等关键开关。


十、完整故障链

回头看,这次问题其实可以压缩成一条非常清晰的链路:

Plaintext
Clash Verge 升级
↓
TUN / 虚拟网卡模式关闭
↓
Desktop Commander Remote 启动
↓
浏览器授权成功
↓
Device verified
↓
建立 session
↓
Failed to set session: fetch failed
↓
Device startup failed: fetch failed
↓
进程退出
↓
多次重新授权仍失败
↓
发现 TUN 关闭
↓
重新开启 TUN
↓
重新启动 Desktop Commander Remote
↓
Device ready
↓
Status: Online

5 张图也刚好覆盖了其中几个关键节点。


十一、总结

这次故障最后并不是简单的账号认证失败,也不是通常意义上的“网络断了”。

真正关键的变化是:

Clash Verge 升级后,原本开启的 TUN / 虚拟网卡模式被关闭。

系统代理仍然让浏览器和普通 HTTPS 请求保持正常,所以问题一开始很难定位。

但对于 Desktop Commander Remote 来说:

Plaintext
Device verified

并不代表:

Plaintext
Remote session 一定能建立

重新开启 TUN 后,RDC 随即恢复:

Plaintext
Desktop Commander Remote is connected
Status: Online

这次排查让我以后再遇到类似:

Plaintext
浏览器正常
授权正常
但 Remote Agent 一直 fetch failed

时,会优先检查代理模式是否在软件升级后发生了变化。

因为很多时候,真正改变的并不是 Agent,也不是服务端,而只是本机网络环境里某个原本一直开启的开关。

Google Analytics 图标变成文字:从 Google Fonts 超时定位到 WireGuard 远程 DNS

🚀 推荐 VPS(WireGuard / Clash / 自建 VPN 专用)

本系列方案推荐使用 Vultr VPS 作为基础服务器环境:

✔ 支持 WireGuard / Clash / VPS 架构部署
✔ 全球多机房节点可选
✔ 稳定适合长期运行的网络服务

👉 点击访问 Vultr(推荐注册入口)



💡 新用户优惠说明

Vultr 官方可能会针对新用户提供一定的试用额度或促销活动,例如:

– 最高可能获得 $300 新用户测试额度
– 用于 VPS 部署与测试用途
– 是否生效取决于 Vultr 官方活动规则及账户条件

⚠️ 不同地区、时间或账户类型可能存在差异。


⚠️ 重要说明

本站提供的链接为 Vultr 官方联盟推广链接,用于推荐 VPS 服务。

所有优惠活动均由 Vultr 官方提供与解释,本网站不保证所有用户均可获得相同促销权益。



拒绝反复折腾|专属 WireGuard VPN 远程部署与优化服务

本系列长期记录 WireGuard、Clash、VPS、DNS、Linux 网络环境和 AI 工具访问优化等实践。如果你不想反复踩坑、折腾服务器与协议配置,可以联系我做一次远程排查或专属方案部署。

适合以下用户:
✅ ChatGPT、Claude、Gemini 等 AI 工具使用者
✅ 海外远程办公用户
✅ 技术学习与开发环境访问需求
✅ 不想长期折腾 VPS 与代理配置的用户
✅ 希望拥有专属节点而非公共机场的用户

服务内容:
✅ 远程代搭建:在你自己的服务器上部署专属 WireGuard VPN,数据完全掌控。
✅ 免费试用:可申请免费试用我的自建节点,再决定是否继续。
✅ 分流优化:针对 AI 工具、开发环境及日常使用进行优化。
✅ 问题排查:协助排查连接失败、速度慢、DNS 异常、规则配置等常见问题。

如需了解方案或申请试用,请直接联系我,并注明:VPN 咨询。

联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com