Mihomo TUN 模式怎么开启和关闭?按系统验证与断网排查
简答:先确认客户端已有可用配置和节点,再开启 TUN 或虚拟网卡,并检查路由、DNS 与日志是否生效;关闭时同时恢复系统代理和网络路由。排查完成后,可判断是权限、DNS、驱动冲突还是规则直连造成的误判。
定义:Mihomo TUN 模式是通过虚拟网卡接收系统流量,再依据 Mihomo 的路由、DNS 和代理规则处理连接的工作方式。
先试这一步:按“开启—验证—关闭”顺序操作
本文是第三方使用指南站内容,不代表任何客户端或品牌官方。不同图形客户端可能把 TUN 称为“虚拟网卡”“透明代理”或“增强模式”,菜单名称会随版本变化;如果当前客户端没有 TUN 开关,请以它实际提供的配置入口为准。
| 阶段 | 要做什么 | 看到什么才算正常 |
|---|---|---|
| 开启前 | 导入可用配置,选中一个节点,关闭其他 VPN、代理或虚拟网卡软件 | 客户端本身可以正常更新配置或测试节点 |
| 开启 | 打开客户端的 TUN、虚拟网卡或透明代理开关,并同意管理员或 root 权限 | 开关保持开启,日志没有 TUN 启动错误 |
| 验证 | 查看虚拟网卡、路由和 DNS,再用实际应用访问网络 | 虚拟网卡存在,应用流量能按规则处理 |
| 关闭 | 关闭 TUN,再关闭系统代理或退出客户端 | 虚拟网卡、代理设置和异常路由恢复 |
Mihomo 官方文档将 TUN 归为可以捕获系统流量、自动路由和进行 DNS 劫持的入站方式;它和只接收显式代理设置的 HTTP 或 SOCKS 端口不是同一层级。可查看 Mihomo 入站配置说明 和 Mihomo TUN 配置字段说明。
Mihomo TUN 模式怎么开启
- 先准备配置。确认客户端已经载入 Mihomo 配置、代理组和规则,并选中一个可用节点。TUN 只是接管流量的方式,不会自动生成节点或修复无效订阅。
- 关闭可能冲突的网络工具。先退出其他 VPN、代理客户端、旧的 TUN 服务或虚拟网卡工具,避免多个程序同时修改默认路由和 DNS。
- 打开权限。Windows 通常需要允许管理员权限;macOS 可能需要系统授权;Linux 通常需要 root 权限。若客户端提供“服务模式”或“安装辅助服务”,按当前客户端提示完成授权,不要手动删除系统网卡。
- 打开 TUN 开关。在客户端中寻找“TUN”“虚拟网卡”“透明代理”或“增强模式”开关。开启后等待数秒,再查看日志面板。Mihomo 官方字段中,
tun.enable控制是否启用 TUN,auto-route控制是否自动设置路由,auto-detect-interface用于自动识别出口网卡。 - 需要配置文件控制时,编辑当前生效配置。最小示例可以写成:
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
strict-route: true
dns-hijack:
- any:53
上面的字段名称和作用以 Mihomo TUN 官方文档 为准。auto-redirect 是 Linux 专用选项,需要同时启用 auto-route;Windows、macOS 不应照搬 Linux 的防火墙重定向参数。
如果客户端每次启动都会覆盖手动编辑的配置,说明该文件可能是生成文件或订阅文件。此时应改用客户端提供的覆写、全局配置或 TUN 设置入口,不要直接修改订阅源。
怎么确认 TUN 真的生效
只看到开关显示“开启”并不能证明所有流量已经经过 TUN,建议按下面顺序检查:
- 看客户端状态。确认 TUN 开关仍保持开启,没有自动回弹关闭或提示权限失败。
- 看日志。打开客户端的“日志/Log”面板,搜索
TUN、route、DNS、permission或Start TUN listening error。如果客户端没有日志面板,到设置中查看它显示的核心日志目录。 - 看虚拟网卡。Windows 可在 PowerShell 中执行
Get-NetAdapter;macOS 可执行ifconfig;Linux 可执行ip link。输出中应能看到新增的 TUN 或 utun 接口。macOS 的 TUN 设备名称需要以utun开头,这是 Mihomo 官方文档明确说明的限制。 - 看实际应用。用浏览器或需要联网的应用进行访问,同时观察客户端连接或流量统计。只做节点延迟测试不等于系统应用流量已经进入 TUN。
- 注意规则模式。如果规则命中
DIRECT,应用可以正常连接但不会经过代理节点。这属于分流结果,不代表 TUN 没有生效;应结合日志中的规则命中结果判断。
如果只开启了系统代理而没有 TUN,只有遵守系统代理设置的应用会使用客户端;TUN 则通过虚拟网卡和路由接收更广泛的系统流量,但仍会受到规则、DNS 和应用自身网络机制影响。
Mihomo TUN 模式怎么关闭
- 优先使用客户端开关。关闭 TUN、虚拟网卡或透明代理开关,等待状态变为关闭,再观察日志是否出现停止或清理路由的记录。
- 关闭系统代理。如果此前同时打开了系统代理,进入操作系统的代理设置,将 HTTP、HTTPS 或 SOCKS 手动代理恢复为关闭;否则 TUN 关闭后,部分应用仍可能把流量发往已停止的本地端口。
- 配置文件关闭。在当前实际生效的 Mihomo 配置中,将
tun.enable改为false:
tun:
enable: false
保存后重载配置或重启客户端。若重启后又自动变成 true,应检查客户端的全局覆写、配置模板或启动项,而不是反复修改生成文件。
- 关闭后复查网络。Windows 查看系统代理和
Get-NetAdapter;macOS 查看网络代理和ifconfig;Linux 查看ip link与路由表。确认 TUN 接口消失或不再使用,浏览器能够直接连接,DNS 不再指向已停止的本地监听端口。 - 必要时退出客户端。如果开关关闭后仍残留路由、DNS 或虚拟网卡,先保存日志,再完整退出客户端并重新检查系统网络。不要直接删除网卡或手动清空默认路由。
开启后断网、自动关闭或没有虚拟网卡怎么办
| 现象 | 优先检查 | 处理方法 |
|---|---|---|
| 开启后立即断网 | 权限、DNS 劫持、路由和日志 | 关闭 TUN 恢复网络;确认配置中的 auto-route、dns-hijack 与 DNS 配置互相匹配,再重新授权启动。 |
| 开关自动变回关闭 | 核心日志中的 TUN 启动错误 | 重点查看权限、网卡创建失败、端口占用和其他 VPN 冲突,不要只重复点击开关。 |
| 没有虚拟网卡 | 辅助服务、管理员或 root 权限 | 重新启动客户端并同意授权;Linux 检查服务权限,Windows 检查安全软件是否拦截核心。 |
| 能打开网页但 DNS 异常 | dns-hijack、严格路由和系统 DNS | 先关闭 TUN 恢复 DNS,再按官方字段说明检查 DNS 劫持配置。Windows 的严格路由还会增加防止 DNS 泄漏的防火墙规则,但可能影响部分虚拟化软件。 |
| 规则模式下看起来没有代理 | 规则是否命中 DIRECT | 查看连接详情和规则命中结果;若目标本来就是直连规则,TUN 生效也不会强制它经过节点。 |
官方文档特别说明,strict-route 在 Windows 上会增加用于减少 DNS 泄漏的防火墙规则,在 Linux 上会影响路由行为;某些虚拟化软件可能因此出现兼容性问题。遇到冲突时,先记录日志和当前配置,再临时关闭严格路由或相关软件进行对照测试。
不同系统的注意事项
- Windows:优先确认管理员授权、核心是否被防火墙拦截,以及系统代理是否与 TUN 重复配置。若启用严格路由后虚拟机或容器异常,应先做单变量测试。
- macOS:检查系统授权和 utun 接口。Mihomo 官方文档指出,macOS 的 TUN 设备名称只能使用
utun开头;不要手动指定普通网卡名称作为 TUN 设备。 - Linux:若使用
auto-redirect,它只适用于 Linux,并且需要先启用auto-route。涉及 iptables、nftables 或系统路由时,使用 root 权限并保留修改前的配置。 - Android:系统 VPN 权限、私有 DNS 和应用分流都会影响结果。官方文档指出,Android 开启私有 DNS 时,DNS 请求可能无法被自动劫持,因此应先检查私有 DNS 设置和应用排除列表。
最后核对:2026年10月25日
完成排查后,理想状态是:TUN 开关与日志状态一致,虚拟网卡正常存在,实际应用流量能够按规则处理;关闭时,系统代理、DNS、路由和网络连接也能恢复。若仍失败,保留客户端版本、操作系统、TUN 配置片段和去除敏感信息后的日志,再针对具体报错继续排查。
如果你正在为跨境办公或多设备连接准备稳定的网络环境,可在确认自身需求后了解边界云加速官网的相关服务;本文不对其他服务商的价格、状态或可用性作判断。
常见问题
Mihomo 开启 TUN 后还需要打开系统代理吗?
不一定。TUN 通过虚拟网卡和路由接收系统流量,系统代理是另一种显式代理方式。若两者同时开启,可能出现端口重复、规则判断混乱或关闭后残留代理;应按当前客户端设计选择一种主要接管方式。
Mihomo TUN 开启后为什么网页能打开,但我感觉没有走节点?
最常见原因是规则命中了 DIRECT。TUN 负责接收和转发流量,最终是否经过代理节点仍由规则和代理组决定。请查看连接详情或日志中的规则命中结果,不要只看网页是否能打开。
Mihomo TUN 模式关闭后仍然无法联网怎么办?
先关闭系统代理,再检查 TUN 虚拟网卡、默认路由和 DNS 是否仍指向客户端;随后完整退出客户端并重新检查网络。若仍异常,查看日志中是否有路由、DNS 或核心停止失败信息,避免直接删除系统路由。
配置文件里的 tun.enable 改成 false,为什么重启后又变成 true?
当前文件可能是订阅生成文件,或被客户端的全局覆写、配置模板重新生成。应查找客户端实际生效的覆写入口并关闭 TUN,不能只修改一次生成文件。
Windows、macOS 和 Linux 的 TUN 配置可以完全通用吗?
不能完全通用。Linux 才支持 Mihomo 的 auto-redirect;macOS 的 TUN 设备名需要以 utun 开头;Windows 还要重点检查管理员权限、防火墙和严格路由影响。字段通用不代表权限、服务和路由行为完全相同。