← 返回 CN2免流 - 官网 首页

Mihomo TUN模式怎么开启和关闭?配置、验证与断网排查

更新于 2026-11-03 · justcn2.online

简答:Mihomo TUN模式的开启方法取决于你使用的是内核配置还是图形客户端:图形客户端通常先启用配置文件中的tun,再在界面打开TUN开关;手动配置则把tun.enable设为true并开启auto-route。关闭时先关闭客户端TUN开关或将enable改为false,再重启内核,最后确认系统代理、虚拟网卡和路由已经恢复。首次开启可能需要管理员或Root权限,具体菜单名称和权限提示以当前客户端版本为准。

定义:Mihomo TUN模式是通过虚拟网卡和系统路由接管设备流量的工作方式,适合处理不遵守HTTP或SOCKS系统代理的应用,但它与系统代理、规则模式不是同一个开关。

先判断你用的是哪种方式:最快开启与关闭路径

本文是面向 Mihomo 内核及其图形客户端的使用指南,不代表任何客户端或配置服务的官方网站。先确认你当前属于哪一类:如果客户端有“TUN”“增强模式”或类似开关,优先使用界面;如果你直接维护 mihomo.yaml,则修改配置文件。客户端菜单、权限提示和是否自动重启内核,可能随版本、系统和打包方式变化,无法确认时以当前界面为准。

Mihomo TUN、系统代理与规则模式的区别
功能主要作用是否覆盖不支持代理的应用是否必须同时开启
TUN模式通过虚拟网卡和路由接管系统流量通常比系统代理覆盖更广不一定
系统代理让遵守系统代理设置的应用使用HTTP或SOCKS代理不覆盖所有应用不一定
规则模式决定请求走代理、直连或拒绝本身不是流量接管方式可与TUN配合
全局模式改变已进入Mihomo流量的统一出口选择本身不能替代TUN或系统代理可与TUN配合

最短路径:先导入并激活一份可用配置,关闭其他VPN或TUN工具,然后以有权限的方式启动客户端,打开TUN开关,等待虚拟网卡和路由出现,再进行复测。Mihomo官方文档说明,顶层 tun 配置用于接管系统流量,通常比高级的 TUN listener 配置更适合普通用户;具体字段可查看Mihomo TUN配置文档。

图形客户端开启TUN:按这个顺序操作

  1. 确认内核和配置已准备好。先激活当前配置,确认节点或出口本身可以连接。不要在没有可用配置时直接判断TUN是否正常。
  2. 关闭冲突的网络接管工具。暂时退出其他VPN、虚拟网卡工具或其他代理客户端,避免多个程序同时修改默认路由和DNS。
  3. 启动客户端并打开TUN。在客户端设置、网络或内核相关页面寻找“TUN”开关。不同客户端可能把它放在首页、配置页或系统代理附近,菜单名称不能跨版本硬套。
  4. 接受权限提示。Windows或macOS桌面客户端可能需要管理员授权;Linux通常需要相应Root能力;Android则受系统VPN权限、私人DNS和厂商后台限制影响。没有权限时,开关可能立即恢复关闭。
  5. 保留默认参数先做第一次测试。不要一开始同时修改协议栈、MTU、DNS劫持和自定义路由。先确认TUN能启动,再逐项调整。
  6. 确认开关状态和运行日志。应看到TUN已启用、虚拟网卡建立或路由初始化成功等可观察结果。若只有开关变色但日志没有启动结果,不要把它当作已经生效。

以官方 Mihomo 文档为准,TUN配置中的 auto-route 用于自动设置路由,dns-mode 可控制系统DNS处理方式,strict-route 在部分系统上还会影响DNS泄漏防护,但它也可能导致虚拟机或局域网访问异常。首次排查应保持配置简单,不要直接复制其他设备的完整YAML。

手动编辑YAML:最小示例、预期结果与回滚

下面只是演示片段,不是可独立运行的完整配置。它需要合并到你现有的 mihomo.yaml 中,并通过当前客户端或内核的配置校验;不要覆盖原文件。

tun:
  enable: true
  auto-route: true
  auto-detect-interface: true

保存前先备份原配置。enable: true表示启用TUN,auto-route: true表示让Mihomo自动设置路由,auto-detect-interface: true用于自动选择出口接口。官方文档还列出 stack、dns-hijack、strict-route和mtu等字段,但这些字段的可用值和行为可能随内核版本、操作系统及客户端封装变化,因此应以当前官方文档和配置校验结果为准。

关闭方法:将 enable: true改为 enable: false,保存后重启内核;如果客户端有TUN开关,则优先关闭开关,再观察内核是否自动重载。关闭后检查系统代理是否仍被打开、虚拟网卡是否消失或停用、默认路由是否恢复。若关闭后仍无法联网,先退出客户端,再恢复之前备份的配置并重启网络连接。

官方 Mihomo 项目维护的配置示例显示,TUN配置可用于 macOS、Linux 和 Windows;不过示例字段不等于所有客户端的固定默认值。需要核对字段定义时,可参考Mihomo官方配置示例。

如何确认TUN真的生效:不要只看开关颜色

  1. 看客户端状态。确认TUN状态为运行中,而不是仅显示“已开启”。如果有内核日志,重点看虚拟网卡创建、路由设置、DNS初始化和错误信息。
  2. 看系统网络变化。Windows检查网络适配器是否出现对应虚拟网卡;macOS检查网络接口列表是否出现新的utun接口;Linux检查路由表和TUN设备;Android检查系统VPN钥匙图标或VPN状态。接口名称可能变化,不要把某个固定名称写死。
  3. 分开测试域名和IP。先访问一个已知可用的IP,再访问域名。如果IP通而域名不通,优先检查DNS模式、DNS劫持和私人DNS;如果两者都不通,优先检查路由、权限和节点连接。
  4. 检查应用覆盖范围。用一个通常不遵守系统代理的应用做对比测试,同时保留浏览器测试。TUN生效的重点是流量是否进入Mihomo,而不是浏览器能否单独打开网页。
  5. 复测并记录结果。依次记录TUN关闭、系统代理开启、TUN开启三个状态下的结果,避免把系统代理或浏览器缓存误判为TUN效果。

如果使用官方 Mihomo Dashboard,项目说明中提到桌面TUN需要特权辅助组件,并建议在启用前先激活配置;这说明“有开关”与“权限、配置和内核均已准备好”是不同条件。详情可查看Mihomo Dashboard官方仓库,但具体客户端界面仍以你安装的客户端为准。

开启失败、全网断开和DNS异常:按现象分流

Mihomo TUN常见现象与处理顺序
现象优先检查处理与复测
开关自动关闭管理员或Root权限、虚拟网卡、配置校验、内核日志退出其他VPN,重新授权,以默认参数启动;仍失败则关闭TUN并恢复备份
开启后所有应用断网auto-route、默认路由、节点连接、DNS初始化先关闭TUN恢复网络,再只保留enable和auto-route测试,确认节点可用后逐项增加配置
IP能通但域名打不开dns-mode、dns-hijack、系统私人DNS暂时关闭DNS劫持或改用客户端默认DNS方案,清理DNS缓存后分别测试域名和IP
局域网设备无法访问strict-route、局域网网段、路由排除项关闭strict-route做对比,确认是否需要排除本地网段;不要直接删除全部规则
游戏或UDP应用异常协议栈、MTU、防火墙、应用是否支持UDP先恢复默认协议栈和MTU,放行内核程序,关闭TUN与开启TUN分别测试
关闭后仍然断网系统代理、残留路由、虚拟网卡、DNS是否恢复关闭系统代理,退出客户端并重连网络;必要时重启设备,最后恢复备份配置

官方文档明确提醒,dns-hijack在Windows和macOS下无法自动劫持发往局域网的DNS请求;Android开启私人DNS时,也可能无法自动劫持DNS。因此遇到DNS异常时,应先检查系统设置和网络范围,而不是盲目更换协议栈或MTU。

Windows、macOS、Linux和Android的边界

如果你无法确认当前客户端是否支持某个字段、是否自动安装驱动或是否需要重启内核,建议先导出当前配置和日志,再以当前版本界面为准,不要直接套用网络文章中的默认值。Mihomo官方TUN文档截至2026年11月3日仍应作为字段定义的优先核验来源。

回滚清单:TUN关闭后网络仍异常怎么办

  1. 关闭Mihomo客户端的TUN开关,并等待状态变为停止。
  2. 关闭系统代理,确认浏览器或应用没有单独配置HTTP、SOCKS代理。
  3. 退出客户端,检查系统网络设置中是否仍保留虚拟网卡或异常VPN连接。
  4. 重新连接Wi-Fi或网线;如果系统路由仍异常,再重启设备。
  5. 恢复开启TUN前备份的配置,不要在故障状态下继续叠加DNS、MTU和路由参数。
  6. 重新测试:先验证普通网络,再启动客户端,最后只开启TUN并记录日志。

复测标准:TUN开关状态、虚拟网卡、路由、DNS和目标应用流量应相互对应;只看到某个网页能打开,不足以证明TUN、DNS和所有应用都已正常。

常见问题

1. 开启Mihomo TUN后,还需要开启系统代理吗?

不一定。TUN负责通过虚拟网卡和路由接管流量,系统代理主要服务于遵守系统代理设置的应用。两者同时开启可能重复接管或增加排查变量,建议先单独测试TUN;如果某个应用仍不走代理,再根据客户端说明决定是否开启系统代理。

2. Mihomo TUN模式第一次开启为什么要管理员权限?

因为TUN通常需要创建或操作虚拟网卡、修改系统路由或配置防火墙。桌面客户端可能通过特权辅助组件完成这些动作,Linux和Android则分别受Root能力或系统VPN授权影响。没有看到权限提示不代表一定不需要权限,仍应以客户端日志和系统状态为准。

3. TUN开关打开但没有流量,最先查什么?

先查配置是否已激活、内核是否重载、auto-route是否生效、虚拟网卡是否出现,以及当前节点本身是否可用。之后再区分DNS问题和路由问题:IP可通而域名不可用时先查DNS,IP和域名都不通时先查路由、权限和节点连接。

4. 关闭TUN后是否必须重启电脑?

不一定。正常情况下关闭开关并让内核完成重载即可;如果系统代理、虚拟网卡、路由或DNS没有恢复,再退出客户端、重连网络,必要时重启设备。重启前建议先保存日志和当前配置,便于判断是客户端未清理还是系统网络状态未刷新。

5. 可以直接把网上的完整YAML复制过来吗?

不建议。完整配置通常包含与节点、DNS、规则、系统和客户端相关的字段,可能覆盖你原有设置。更稳妥的方法是备份配置,只加入必要的TUN字段,通过当前客户端的配置校验后再测试,并在出现断网时回滚。

常见问题

Mihomo TUN模式怎么开启?

图形客户端中先激活配置,再找到TUN开关并按提示授权;手动配置则在现有YAML中加入tun.enable和必要的auto-route字段,校验后重启内核。菜单和权限提示以当前客户端版本为准。

Mihomo TUN模式怎么关闭?

优先关闭客户端TUN开关;手动配置时将tun.enable改为false,然后重启内核。关闭后还要确认系统代理、虚拟网卡、路由和DNS已经恢复。

Mihomo TUN开启后全网断网怎么办?

先关闭TUN恢复网络,再检查节点是否可用、配置是否通过校验、auto-route和DNS是否冲突,以及是否存在其他VPN或TUN工具。恢复时先使用默认参数,不要同时修改MTU和协议栈。

Mihomo TUN和系统代理需要同时开启吗?

通常不需要。TUN负责系统级流量接管,系统代理只影响遵守代理设置的应用。建议分别测试,确认某个应用确实需要系统代理后再同时启用。

Mihomo TUN模式支持哪些系统?

官方配置示例列出macOS、Linux和Windows支持;Android还会受到系统VPN权限、私人DNS和应用分流限制影响。具体能力以当前内核和客户端版本显示为准。

相关阅读

参考资料

  1. Mihomo官方文档:TUN配置
  2. Mihomo官方文档:TUN配置(英文)
  3. Mihomo官方配置示例
  4. Mihomo Dashboard官方仓库