目录
开了 TUN 模式没网,最常见的四个原因依次是:客户端没有足够权限创建虚拟网卡(Windows 要安装服务模式或以管理员运行,macOS 要授权);DNS 配置不对,TUN 接管了所有流量却没正确处理域名解析,国内网站也随之失败;与别的 VPN、游戏加速器、虚拟机软件的虚拟网卡冲突;系统代理与 TUN 同时开着造成环路。排查顺序:先确认 TUN 真正启用(看网络适配器里有没有新的虚拟网卡),再开 DNS 劫持并使用订阅自带的 DNS 配置,然后退出所有其他代理与 VPN 软件,最后在 TUN 的协议栈选项里切换一下。还不行就关掉 TUN,先用系统代理,日常使用并不一定需要 TUN。
先理解 TUN 模式在做什么
系统代理模式下,客户端只是在系统里登记了一个代理地址,程序愿不愿意用是程序自己的事;TUN 模式则是客户端创建一张虚拟网卡,并修改系统路由表,让所有流量先经过这张网卡再由客户端决定去向。好处是能接管一切程序,包括不读系统代理的游戏和命令行工具;代价是客户端要自己处理 DNS、路由与所有协议类型,任何一环没配好,整台设备的网络都会受影响。这也是为什么 TUN 出问题时往往是「全部没网」而不是「某个网站打不开」。更系统的介绍见TUN 模式教程。
| 症状 | 最可能的原因 | 优先操作 |
|---|---|---|
| TUN 开关打开但毫无变化,不走代理 | 权限不足,虚拟网卡没创建 | 安装服务模式 / 管理员运行 / 授权扩展 |
| 国内外网站全部打不开 | DNS 没被正确处理 | 开 DNS 劫持,用订阅 DNS 配置 |
| 国内网站打不开,国外正常 | 国内域名被解析到代理或 fake-ip 过滤有误 | 检查 DNS 分流与 fake-ip 过滤名单 |
| 时通时断,间歇性没网 | 与其他虚拟网卡 / VPN 冲突,或系统代理同时开 | 退出其他软件,关系统代理 |
| 某些程序能上、某些不能 | 协议栈兼容问题 | 切换 system / gVisor / mixed |
| 关掉 TUN 也没网了 | 路由表或 DNS 残留 | 重启,必要时重置网络 |
| 局域网设备(打印机、NAS)访问不了 | 局域网流量被接管 | 加局域网直连规则,开绕过局域网 |
排查阶梯一:权限与服务模式
怎么确认
打开 TUN 后,去系统的网络适配器列表里看有没有新出现一张虚拟网卡(名字通常包含客户端名或 TUN 字样)。没有就说明 TUN 根本没启动成功,开关只是界面上亮了。Windows 上客户端会要求安装服务模式或以管理员身份运行,macOS 会弹出系统扩展授权或密码输入,这些步骤被跳过或被拒绝,TUN 都起不来。
怎么解决
Windows:在客户端设置里安装服务模式,或者右键以管理员身份运行一次;安装服务后需要重启客户端。macOS:在系统设置的隐私与安全里允许客户端的系统扩展或网络扩展,然后重新打开 TUN;具体权限位置见Mac 使用教程。安全软件有时会拦截驱动安装,暂时退出再装。
排查阶梯二:DNS 配置
怎么确认
这是 TUN 没网的头号原因。TUN 接管了所有流量,域名解析也在其中,如果客户端没有正确接管 DNS 请求,系统可能还在往运营商 DNS 发查询,而这些查询又被 TUN 截获后无法正确处理,结果是所有域名都解析不出来,国内国外全打不开。表现为:直接访问 IP 地址能通(比如在浏览器输入某个公共 IP),输入域名就不行。
怎么解决
- 在客户端 TUN 设置里打开 DNS 劫持(把所有发往 53 端口的请求接管),这是 TUN 模式几乎必开的选项;
- 启用 DNS 覆写,优先用订阅自带的 DNS 配置;自己配的话,国内域名用国内 DNS 直连解析,国外域名走代理解析;
- 增强模式选 fake-ip 通常最稳,但要注意 fake-ip 过滤名单:局域网域名、某些需要真实 IP 的服务(比如一些游戏和网银)要加到过滤名单里;
- 系统网卡的 DNS 设置保持自动获取,不要手动填一个与客户端冲突的地址;
- 清一下系统 DNS 缓存再测。
排查阶梯三:与其他软件冲突
怎么确认
电脑上装过别的 VPN、游戏加速器、虚拟机、远程办公软件的,系统里可能有多张虚拟网卡和多条路由规则。两个软件同时试图接管全部流量,路由表就会打架,表现为间歇性断网、时好时坏,或者某些程序能上某些不能。在网络适配器列表里数一下虚拟网卡的数量,超过一张就要怀疑。
怎么解决
退出所有其他代理与 VPN 类软件,包括浏览器里的代理扩展;禁用不用的虚拟网卡;如果某个软件已经卸载但网卡还在,手动删除。虚拟机软件的网卡一般不会冲突,但部分「网络加速」类软件的驱动会,优先排查它们。
排查阶梯四:系统代理与 TUN 同时开
怎么确认
系统代理与 TUN 一起开,浏览器流量会先经过系统代理进客户端,客户端发出的流量又被 TUN 虚拟网卡接管,再进一次客户端。好的客户端能识别自己发出的流量并放行,但部分配置下会形成环路,表现为流量跑不动、延迟极高或直接断。
怎么解决
开 TUN 时关掉系统代理,两者只留一个。Clash Verge Rev 这类客户端通常允许同时开,但出现异常时先关掉系统代理对比。
排查阶梯五:协议栈与局域网
怎么确认
TUN 的实现有多种协议栈(system、gVisor、mixed),不同系统环境下兼容性不同。某些程序在一种栈下能用、另一种下不行很常见,尤其是游戏和 UDP 密集的应用。另一个常见问题是局域网设备访问不了:打印机、NAS、投屏,因为局域网流量也被 TUN 接管送去了代理。
怎么解决
在 TUN 设置里切换协议栈逐个试,一般先试 system,再 mixed,最后 gVisor。局域网问题在规则里加上私有地址段直连,或者打开客户端的「绕过局域网」类选项。规则写法见规则分流教程。
排查阶梯六:路由表与 DNS 残留
怎么确认
客户端崩溃、强制结束进程或者系统意外关机后,TUN 设置的路由表与 DNS 可能没有被清理。表现是 TUN 关了、客户端退了,电脑还是没网,或者只有部分网站能开。
怎么解决
先重新打开客户端,正常开一次再正常关一次 TUN,让它自己清理;不行就重启电脑;还不行就重置网络设置并把网卡 DNS 改回自动获取。Windows 可以在设置里做网络重置,macOS 可以删除网络服务重新添加。这种情况属于客户端异常退出的后遗症,不是机场问题。
客户端特定提示
Clash Verge Rev(Windows / macOS)
Clash Verge Rev 的 TUN 相关设置集中在设置页面:服务模式安装、TUN 开关、协议栈选择、DNS 劫持、自动路由、严格路由等。排查顺序建议是:先确认服务模式已安装,再开 DNS 劫持与自动路由,协议栈先选 system,出问题再换。日志页面能看到 TUN 启动失败的具体错误。另外,Clash Verge Rev 的 DNS 覆写要在设置里显式打开,否则订阅里的 DNS 配置可能不生效。完整流程在Clash Verge 教程与TUN 模式教程。
Shadowrocket(iOS)
iOS 上 Shadowrocket 本身就通过系统 VPN 接口接管全部流量,没有单独的 TUN 开关。「开了 VPN 没网」的排查:设置里的 DNS 是否指向了一个不可达的地址、是否同时有别的 VPN 应用在抢配置、是否误开了「全局」且节点不可用。重新打开 VPN 开关可以让系统重建配置。详见Shadowrocket 教程。
Clash Meta 内核通用(Android / sing-box / 路由器)
Android 的 Clash Meta 使用系统 VPN 服务,同样没有单独的 TUN 概念;没网时先查 VPN 权限、省电限制、与其他 VPN 应用冲突,再查 DNS 设置。桌面端 sing-box 的 TUN 配置在配置文件里,常见坑是 auto-route 与 strict-route 的组合,以及 DNS 的分流规则。路由器上跑 Mihomo 的 TUN 模式需要正确配置防火墙与路由,一般建议用成熟的固件插件而不是手动配置。
什么时候该换机场
| 情况 | 建议 |
|---|---|
| TUN 没网是本机配置或冲突,解决后正常 | 与机场无关,不用换 |
| 订阅自带的 DNS 配置有误,机场不修 | 自己覆写 DNS 即可,不必换 |
| 机场节点不支持 UDP,TUN 下游戏与语音不通 | 需要 UDP 的用户换支持 UDP 转发的机场 |
| 机场只提供自研客户端且不支持 TUN | 需要 TUN 的用户换提供订阅链接的机场 |
TUN 的问题绝大多数与机场无关,是客户端与系统层面的事。真正和机场有关的只有两点:订阅里 DNS 配置写得好不好,以及节点是否支持 UDP 转发。前者可以自己覆写,后者决定了 TUN 模式下游戏、语音这类 UDP 应用能不能用,选机场时看官方说明里是否提到 UDP 支持。
1)不要在排查别的问题时随手开 TUN 又忘了关,TUN 常驻会把所有程序的流量都接管,流量消耗与后台抢带宽的问题都会放大。2)不要同时运行两个带 TUN 功能的软件(比如机场客户端加游戏加速器),路由表必然打架。3)不要为了「让 TUN 工作」关闭系统防火墙或安全软件后一直不开,排查完就恢复并加白名单。4)不要手动修改路由表或 DNS 来「修复」TUN,重启客户端或系统能解决大多数残留问题,手改容易留下更难查的坑。5)日常浏览用系统代理就够了,TUN 是为不读系统代理的程序准备的工具,不是「更高级」的模式。
光速云、SOGO 云、二猫云:三家品牌资料都标注 VLESS 协议并支持第三方客户端订阅导入,意味着你可以用 Clash Verge Rev、sing-box 这类支持 TUN 的客户端自己掌握 DNS 与分流;光速云 2020 年起运营、IEPL 专线、入门为年付折算 ¥7.5/月,SOGO 云 ¥25/月 150GB 月付,两家另有自研客户端可做对照;二猫云 ¥20/月 130GB,没有自研客户端,本就是为第三方导入设计的。UDP 转发支持以官网标注为准,建议先短周期验证 TUN 下的表现。
常见问题
TUN 模式和系统代理有什么区别,我需要开 TUN 吗?
系统代理只接管「愿意读系统代理设置」的程序,浏览器、多数办公软件都读;TUN 模式创建一个虚拟网卡接管全部流量,包括游戏、命令行工具和不读系统代理的程序。日常浏览不需要 TUN,只在有程序不走代理时才开。
开 TUN 后国内网站也打不开了,为什么?
多数是 DNS 问题。TUN 接管了所有流量后,如果 DNS 配置不当(比如没开 DNS 劫持或 fake-ip 过滤名单有误),国内域名解析失败或被解析到了错误的地址。先开 DNS 劫持、用订阅自带的 DNS 配置,再确认国内域名的解析走的是国内 DNS。
TUN 模式需要管理员权限吗?
需要。创建虚拟网卡与修改路由表是系统级操作,Windows 需要管理员权限或安装客户端的服务模式,macOS 需要授权系统扩展或输入密码。权限不足时 TUN 开关会看起来打开了但实际没有生效,或者反复弹错。
TUN 和 TAP、gVisor、system 协议栈有什么区别?
这是 TUN 的实现方式。system 栈直接用系统网络栈,兼容性与性能一般最好;gVisor 用用户态协议栈,兼容某些特殊环境但性能稍差;mixed 混合两者。没网时切换一下协议栈对比是常用排查手段。
关掉 TUN 之后也没网了,怎么恢复?
TUN 异常退出可能留下残留的路由表或 DNS 设置。先重启客户端用正常方式关闭 TUN;不行就重启电脑;还不行就在系统里重置网络设置(Windows 的网络重置、macOS 删除并重新添加网络服务),并把 DNS 改回自动获取。
手机上有 TUN 模式吗?
手机客户端(Shadowrocket、Clash Meta for Android)本身就是用系统 VPN 接口接管全部流量,相当于一直在 TUN 模式。所以手机上的类似问题叫「开 VPN 后没网」,排查思路一致:DNS、与其他 VPN 冲突、权限。