TUN 模式 · TUN / 局域网 / NAS

TUN 模式开启后局域网断网:保留内网访问的配置思路

更新于 2026/8/9

先确认地址

记录路由器或 NAS 的 IP,确认它属于 192.168.0.0/16、10.0.0.0/8 或 172.16.0.0/12 私网段。TUN 开关前后分别 ping 或打开管理页。

修复顺序

启用客户端提供的“绕过局域网”选项,或添加私网直连规则;确认路由表未把本地网段指向虚拟网卡。若只有一台设备失联,检查 IP 冲突和访客 Wi-Fi 隔离。

真实案例:TUN 已启动,但 DNS 没有落到虚拟网卡

Mihomo 的公开问题 #2023 记录了一个 Linux 案例:直接向本地 DNS 监听端口查询可返回 fake-IP,而系统默认 53 端口仍走原网卡 DNS。该差异比“能不能上网”更有诊断价值。以下命令用于读取状态,不会修改网络:

ip route get 192.168.1.1
resolvectl status
dig example.com
dig -p 1053 example.com

如果第二条 dig 返回 198.18.0.0/16 内地址、第一条没有,说明核心 DNS 可用而系统没有把查询交给对应接口。下面是可用于测试的最小片段;网段要按自己的 LAN 调整,且不应照抄到企业网络:

tun:
  enable: true
  auto-route: true
  auto-detect-interface: true
  route-exclude-address:
    - 192.168.0.0/16
    - 10.0.0.0/8
dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-filter:
    - '+.lan'
    - '+.local'

不要把“绕过私网”与“DNS 劫持成功”混为一谈:前者解决 NAS/路由器路由,后者解决域名解析路径。修改后重开一次 TUN,并重新运行上述四条读取命令确认结果。

诊断范围

“TUN 模式开启后局域网断网:保留内网访问的配置思路”应先按可观察现象缩小范围:开启 TUN 后无法访问路由器、NAS、打印机时,检查路由、绕过规则和地址冲突。 记录发生时间、使用的客户端与系统版本、是否仅在某个网络或某个配置下发生。不要从单次测速、单个节点或一次重试直接推断根因,也不要在未备份配置时同时修改多个开关。

操作步骤

  1. 保留错误提示的非敏感部分,并记下当前客户端、系统、网络类型和最近一次成功时间;订阅链接、账号、令牌和个人网络标识不得写入截图或工单。
  2. 在受控条件下只改变一个变量,例如切换已知可用的网络、恢复一份已导出的配置,或暂时停用可能重复接管流量的另一个客户端;每次改动后回到同一个操作复测。
  3. 将结果归为“现象消失、现象不变、出现新错误”之一。前两类分别保留变更前后记录;出现新错误时立即恢复上一步,而不是继续叠加 DNS、代理模式、内核或系统权限改动。

验证与回退

完成调整后,以原始失败动作连续复测,并确认目标功能恢复而不是只看到界面状态改变。若复测失败,回退到已导出的配置或原先已知可用的客户端状态,再依据记录选择下一项检查。任何无法解释的证书、权限、路由或账户提示都应停止扩大改动范围并转交产品或网络管理员。

来源与适用边界

本页的“证据与参考”只用于说明已公开的配置说明或个案范围;它不能证明你的网络、账号、节点或服务端当前处于同一状态。将日志中的令牌、订阅地址、账户资料和网络标识删除后再用于比对。

来源与更新

本文的实际现象与命令依据下列公开来源整理;示例中的地址和标识符均已脱敏。

排查顺序

  1. 记录症状确认客户端、系统、错误文本与发生范围。
  2. 低风险核对先检查本文对应的配置、权限、网络或版本条件。
  3. 复测与回退只改变一项;现象变化后再决定是否继续。

常见问题

为什么能上网却打不开路由器?

内网流量可能被 TUN 接管并错误送往代理,需要设置私网直连。

所有私网地址都应绕过吗?

通常应绕过 RFC1918 私网段,但公司设备需遵循管理员策略。

确认结果、回退与日志

每次只修改一项并复测原始现象。若出现新错误,恢复导出的配置或关闭刚启用的开关;仍未解决时,请保留客户端与系统版本、错误文本、发生时间、已尝试步骤以及脱敏日志。

不要公开订阅地址、账号或完整连接信息。文中的命令与配置片段仅适用于其标注的客户端和系统;未提供命令时,请以来源中的官方界面或系统文档为准。

还没有定位到现象?

返回“TUN 模式”搜索结果 →

补充更新(核对日期:2026-10-18)

更新于 2026-10-18 · netcli.net

简答:TUN 开启后局域网断网,优先检查是否把 NAS、路由器或公司内网网段送进了虚拟网卡。先记录实际内网 CIDR,再在 TUN 配置中使用 route-exclude-address 排除该网段,同时检查 Windows 路由表;如果仍无法访问,再区分服务权限、DNS 解析和代理内核通信问题。

定义:TUN 模式会通过虚拟网卡接管系统流量,所谓“保留内网访问”就是让局域网目标网段继续经物理网卡或原有网关直连,而不是进入 TUN 路由。

先按现象分流:不是所有“断网”都属于局域网路由冲突

本站不是 Clash Verge Rev、Mihomo 或其他客户端的官网,与相关项目没有授权关系;客户端版本、服务模式、配置字段和报错处理应以对应项目的官方文档、发布说明或日志为准。本文只整理可复现的排查思路,不判断未核实的域名、下载入口或版本可用性。

如果 TUN 开启后只有 NAS、打印机、路由器管理页或公司内网地址打不开,优先判断为局域网路由被虚拟网卡接管;如果所有网站都打不开,则还要检查 TUN 驱动、系统服务、默认路由和 DNS。若界面同时出现“内核通信错误”或代理组为空,应先处理内核进程、服务模式或订阅配置,不能仅靠添加局域网绕过规则解决。

现象优先检查不要先做的事
只能访问外网,NAS 或路由器打不开实际内网 CIDR、route-exclude-address、Windows 路由表不要直接重置全部网络配置
TUN 已启动但所有网络超时虚拟网卡、默认路由、服务权限、DNS不要先改 MTU 或批量删除路由
出现内核通信错误、代理组为空客户端核心进程、服务模式、配置或 Provider不要把它当成局域网网段问题
只有域名打不开,IP 地址可访问DNS 配置、DNS 劫持和本地解析路径不要只修改路由而不验证解析结果

按实际网段配置 TUN 排除路由

先在 TUN 关闭状态下记录目标设备的 IP、子网掩码和默认网关。例如 NAS 是 192.168.50.20,网关是 192.168.50.1,则实际网段可能是 192.168.50.0/24;不要未经确认就把整个私有地址空间全部加入配置。网段应以路由器 DHCP 设置、Windows 网络信息或现有路由表为准。

Mihomo 文档将 route-exclude-address 定义为在启用自动路由时排除指定子网。可按实际配置文件结构加入类似内容:

tun:
  enable: true
  auto-route: true
  route-exclude-address:
    - 192.168.50.0/24

如果公司内网、第二个路由器或虚拟化网络使用其他网段,应逐个加入对应 CIDR。不要把“规则直连”与“路由排除”混为一谈:规则决定连接使用哪种策略,路由排除决定目标地址是否被 TUN 的系统路由接管。Mihomo 文档还提示,strict_route 用于更严格地把连接导向 TUN,但可能导致其他设备无法访问本机;需要保留局域网访问时,不要在未理解影响前启用它。Mihomo TUN 配置文档

保存配置后,先关闭再重新开启 TUN,避免只修改文件但客户端仍使用旧配置。若客户端提供配置校验或重载功能,可先执行校验;具体按钮名称以当前客户端界面为准。

Windows 上确认路由是否指向了错误网卡

在 Windows PowerShell 中先查看完整路由表:

route print
Get-NetRoute -AddressFamily IPv4

重点观察目标内网网段对应的接口、下一跳和路由优先级。微软文档说明,route print 可显示本机 IP 路由表,Get-NetRoute 可读取目标前缀、下一跳和接口等路由信息。Microsoft route 命令文档 Microsoft Get-NetRoute 文档

还可以针对一个具体地址查询 Windows 选择的最佳本地地址和路由:

Find-NetRoute -RemoteIPAddress 192.168.50.20

如果结果显示目标地址经由 TUN 虚拟网卡,而不是物理网卡或局域网网关,优先回到配置中补充精确的 route-exclude-address。不要一上来执行清空路由表的命令;错误删除默认路由可能导致整机断网。

若只是 DHCP 或 DNS 状态异常,可以在管理员命令提示符中按顺序执行:

ipconfig /release
ipconfig /renew
ipconfig /flushdns

ipconfig /release 会释放当前 DHCP 地址,执行期间可能暂时断网,必须配合 ipconfig /renew 获取新地址;微软文档也将 /flushdns 用于刷新 DNS 解析缓存。Microsoft ipconfig 文档

出现“内核通信错误”或“代理组为空”时,改走客户端核心排查

“TUN 已启动但系统路由出错”和“内核通信错误”是两个层次的问题。前者通常表现为路由表、虚拟网卡或目标网段异常;后者需要检查客户端是否成功启动核心、服务模式是否可用、配置是否被核心接受,以及订阅或 Provider 是否仍能加载。

  1. 先关闭 TUN并确认普通代理是否能启动。如果关闭 TUN 后仍显示内核通信错误,说明问题不在局域网排除路由。
  2. 查看客户端运行模式。Clash Verge Rev 官方 Windows FAQ 说明,服务模式安全检查失败时可能回退到 Sidecar;普通用户权限下不能使用 TUN,可选择管理员运行或修复服务模式。Clash Verge Rev Windows FAQ
  3. 查看原始日志而不是只看界面摘要。重点记录核心启动失败、端口占用、配置解析失败、权限检查失败和服务启动失败等关键词。
  4. 确认配置是否仍有代理组和 Provider 引用。如果代理组为空,先检查订阅更新结果、YAML 结构和 Provider 文件,不要用局域网绕过规则替代订阅配置修复。
  5. 核对版本对应的官方发布说明。Clash Verge Rev 的发布说明曾记录 Windows 服务模式下 TUN 接管流量相关修复,因此遇到特定版本问题时,应以项目发布页和当前日志为准,不直接套用其他版本的解决方法。Clash Verge Rev 官方发布页

验证、回退与记录顺序

  1. 关闭 TUN,确认物理网卡可以访问路由器网关和目标内网设备。
  2. 记录目标 IP、实际网段、网关,以及 TUN 开关前后的 route print 或 Get-NetRoute 输出。
  3. 只添加目标内网的精确 CIDR 到 route-exclude-address,重新加载配置并开启 TUN。
  4. 先用 IP 地址测试,再用内网域名测试;IP 可访问而域名失败时,转向 DNS 排查。
  5. 如果外网和内网都不可用,关闭 TUN回退,检查服务模式、虚拟网卡、默认路由和核心日志。
  6. 若手动增加了系统持久路由,记录原命令和接口索引;确认配置方案稳定前,不要使用 route /p add 长期写入系统。微软文档说明,/p 会让路由在 TCP/IP 启动时持久化,因此错误配置可能在重启后继续生效。Microsoft route 持久路由说明

当问题涉及跨网络办公、固定内网网段或多出口线路时,建议把“客户端配置错误”“本地路由错误”和“上游线路丢包”分开记录,再分别验证,避免把局域网断网误判为线路质量问题。

常见问题

TUN 模式开启后为什么 NAS 访问不了?

最常见的判断方向是 NAS 所在网段被自动路由送进了 TUN。先记录 NAS 的实际 CIDR,再将该网段加入 route-exclude-address,重载配置后用 IP 地址和 route print 分别验证。

route-exclude-address 和规则里的 DIRECT 有什么区别?

route-exclude-address 处理的是系统路由层,决定某些目标网段不由 TUN 接管;DIRECT 处理的是代理策略层。局域网完全无法访问时,应先检查路由层,再检查规则层。

Windows 显示 TUN 已启动但系统路由出错怎么办?

先关闭 TUN恢复网络,然后执行 route print 或 Get-NetRoute 查看默认路由和目标内网网段对应的接口。确认客户端运行模式、虚拟网卡和服务权限后,再补充精确的内网排除路由。

出现“内核通信错误”时,添加局域网绕过规则能解决吗?

通常不能。内核通信错误优先指向核心进程、服务模式、权限、端口或配置加载问题;先查看客户端原始日志和官方 Windows FAQ,再判断是否同时存在局域网路由问题。

代理组为空是不是 TUN 导致的?

不一定。代理组为空还可能来自订阅更新失败、Provider 未加载或 YAML 引用错误。应先关闭 TUN确认核心和配置是否正常,再分别检查订阅内容和代理组引用。

修改路由后仍然无法访问局域网怎么办?

按顺序检查目标 IP 是否正确、设备是否在线、是否连接到访客 Wi-Fi、是否存在客户端隔离、Windows 路由是否指向物理网卡,以及内网域名是否需要专用 DNS。不要直接清空全部路由表。

相关阅读

参考资料

  1. Mihomo TUN 配置文档
  2. Microsoft route 命令文档
  3. Microsoft Get-NetRoute 文档
  4. Microsoft ipconfig 文档
  5. Clash Verge Rev Windows FAQ
  6. Clash Verge Rev 官方发布页
读者交流群(Win · Mac · 安卓 · iOS 客户端排障):t.me/netcli_chat