mihomo TUN 模式打不开怎么办?
简答:先关闭 TUN,确认普通代理和节点本身可用,再重新加载一份最小配置。若开关完全打不开,优先查管理员权限、系统服务和其他 VPN 冲突;若开启后断网,先撤销自动路由或 DNS 劫持,再查看日志、路由表和 IPv6。不要先重装或盲目更换节点。
定义:mihomo TUN 模式是通过虚拟网卡和系统路由接管设备流量的功能,权限、虚拟网卡、路由、DNS 或其他 VPN 任一环节异常,都可能导致开关打不开或开启后无法联网。
先按症状分流:最快恢复方法
下面先处理最常见的四种表现。每次只修改一项,避免同时改动 TUN、DNS、路由和节点,导致无法判断真正原因。
| 表现 | 优先检查 | 第一步处理 |
|---|---|---|
| 开关完全打不开 | 管理员权限、系统服务、配置是否加载 | 退出客户端,使用管理员权限重新启动,再校验配置 |
| 开关立即关闭 | 虚拟网卡、权限、其他 VPN 或防火墙 | 关闭其他 VPN 和代理软件,只保留一个客户端重试 |
| 显示开启但没有 TUN 网卡 | 内核版本、虚拟网卡创建、系统授权 | 查看日志中的创建接口或权限错误,不要安装来源不明的驱动 |
| 开启后全局断网 | 自动路由、DNS 劫持、严格路由、IPv6 | 先关闭 TUN 恢复网络,再逐项启用路由和 DNS |
官方文档说明,TUN 的 auto-route 会把全局流量导入 TUN 接口,strict-route 还会在 Windows 上增加用于减少 DNS 泄漏的防火墙规则,因此配置错误可能表现为“开启后全局断网”,而不是节点本身失效。可参考 Mihomo 官方 TUN 配置文档。wiki.metacubex.one
最小化配置:先验证 TUN 能否单独启动
先备份当前配置和订阅文件,再暂时只保留最基础的 TUN 设置。下面配置使用官方文档中的字段,适合用于定位“权限或虚拟网卡能否创建”,不代表适合所有网络环境。
tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true
操作顺序固定为:编辑配置—保存—校验—重新载入—查看日志—验证业务。YAML 对大小写和缩进敏感,只使用空格,不要使用 Tab;配置语法可参阅 Mihomo 官方 YAML 语法说明。wiki.metacubex.one
- 编辑配置:暂时删除或注释自定义的
dns-hijack、strict-route、IPv6 路由和复杂的接口筛选项。 - 保存:保留原文件副本,不要直接覆盖唯一配置。
- 校验:在客户端执行配置检查,或使用客户端提供的“检查配置”“Validate Config”入口。
- 重新载入:重新激活当前配置,确认日志中没有 YAML、字段或内核版本错误。
- 查看日志:重点搜索
permission、create tun、route、adapter、dns、service等关键词。 - 验证业务:先访问一个普通网页,再测试需要代理的业务;如果普通网页也打不开,先关闭 TUN 恢复系统网络。
开关打不开或立即关闭:检查权限与冲突
Windows
- 完全退出客户端后,右键使用管理员权限启动,再重新开启 TUN。
- 检查 Windows 安全中心、防火墙和第三方安全软件是否阻止内核进程或虚拟网卡创建。官方文档指出,部分 TUN 协议栈在防火墙开启时需要允许内核通过防火墙。wiki.metacubex.one
- 关闭其他 VPN、代理客户端、虚拟机网络、远程控制软件和企业网络工具,只保留一个流量接管程序。
- 如果日志提示 Service Mode 或服务启动失败,先重启客户端和系统;不要从不明来源单独下载网卡驱动或替换核心文件。
macOS
- 检查系统是否弹出管理员授权或网络扩展授权;没有弹窗时,退出客户端后重新打开并再次尝试。
- 检查“系统设置”中的 VPN、网络扩展、防火墙和已安装的其他网络过滤器,避免多个工具同时接管流量。
- macOS 的 TUN 设备名称需要符合系统要求;官方文档说明 macOS 设备名只能使用以
utun开头的接口名。wiki.metacubex.one
Linux
- 确认当前用户具备创建 TUN 接口、设置路由和防火墙规则的权限。
- 如果使用
auto-redirect,它只适用于 Linux,并且需要同时启用auto-route;同时检查 nftables 或 iptables 是否拦截了规则。wiki.metacubex.one - 通过系统日志查看服务启动、接口创建和路由变更记录,先不要直接执行清空防火墙规则的命令。
显示开启但没有网卡:定位内核、虚拟网卡和版本问题
如果界面显示 TUN 已开启,但系统网络接口列表里没有对应接口,通常要区分“界面状态误判”和“接口创建失败”。先关闭 TUN,再重新加载配置,并在日志中记录以下信息:客户端名称与版本、Mihomo 内核版本、操作系统与架构、完整错误行、是否安装过其他 VPN 或网络过滤器。
- 配置检查失败:回到最小配置,删除最近新增的 TUN 字段,再逐项加回。
- 创建接口失败:检查管理员权限、系统授权、防火墙和其他 VPN 冲突。
- 接口存在但没有流量:检查
auto-route是否启用、默认路由是否改变,以及客户端是否实际激活了当前配置。 - 升级后出现问题:记录升级前后的客户端和内核版本,先回到此前能正常加载的配置;不要把不同版本的配置字段直接混用。
如果使用官方 Mihomo Dashboard,官方项目说明桌面端 TUN 需要特权辅助程序完成系统级网络设置,并建议报告问题时提供客户端版本、系统、架构和准确错误信息;这类信息也适合作为其他客户端的排查记录。github.com
开启后断网:按路由、DNS、IPv6 顺序回退
- 先恢复网络:关闭 TUN;如果客户端提供“恢复网络”功能,优先使用它。正常退出通常比强制结束进程更安全,因为强制结束可能留下路由或接口状态。
- 只启用自动路由:暂时不启用 DNS 劫持和严格路由,确认普通网页能打开。
- 再启用 DNS:确认 DNS 模块已启用,并检查
dns-hijack是否指向正确的 DNS 流量。官方文档说明,Windows 和 macOS 不能自动劫持发往本地网络的 DNS 请求;Android 开启 Private DNS 时,也可能无法自动劫持。wiki.metacubex.one - 单独测试 IPv6:如果 IPv4 可用、IPv6 业务失败,暂时关闭配置中的 IPv6 解析或 IPv6 路由进行对照,不要同时改动多个变量。
- 最后测试严格路由:
strict-route可能影响虚拟机、局域网设备或特殊网络环境;启用后若业务异常,立即关闭并记录差异。
Mihomo 官方 DNS 文档列出了 fake-ip 和 redir-host 两种增强模式,并说明 fake-ip-range 会影响 Fake-IP 地址范围。若开启 TUN 后只有部分域名打不开,可先切换到另一种 DNS 增强模式做对照,但应先备份配置。wiki.metacubex.one
命令行检查:只读优先,重置前先备份
以下命令只用于观察状态,适合先判断是否存在接口和路由问题。执行前请确认系统类型;涉及网络重置的命令会影响其他网络软件,应作为最后一步。
| 系统 | 检查内容 | 预期结果 |
|---|---|---|
| Windows | ipconfig /allroute print | 能看到网络接口和当前路由;开启 TUN 前后记录差异 |
| macOS | ifconfignetstat -rn | 能看到对应的 utun 接口及路由变化 |
| Linux | ip linkip route | 能看到 TUN 接口、默认路由和策略路由变化 |
如果确认是 Windows 网络栈残留,先导出当前网络配置并关闭客户端,再在管理员终端执行:
netsh winsock reset
netsh int ip reset执行后通常需要重启 Windows;这会影响系统网络设置和其他网络软件,不能在不备份、不记录现状的情况下直接执行。Linux 的 iptables、nftables 或路由清理命令同样可能影响整台设备,建议优先使用客户端的恢复网络功能。
排查完成后的验证清单
- 日志:没有持续出现权限、接口创建、路由或 DNS 错误。
- 规则命中:确认访问目标使用了预期代理组,而不是全部直连或全部拒绝。
- Fake-IP 或真实地址:如果业务依赖真实地址,检查 DNS 模式和过滤列表是否符合需求。
- IPv6:分别测试 IPv4 和 IPv6,避免只验证一个协议栈。
- DNS:检查 DNS 请求是否进入 Mihomo 内部 DNS;无法确认时,先关闭 DNS 劫持做对照。
- 业务:至少测试普通网页、一个需要代理的域名和一个局域网地址,确认不是“能打开网页但局域网失效”。
- 回退:保留一份能工作的普通代理配置,之后再逐项启用 TUN、自动路由、DNS 劫持和严格路由。
本站是第三方使用指南站,不是任何客户端或服务的官方页面;本文只依据公开技术文档整理排查路径,具体菜单名称可能随客户端版本变化。
常见问题
mihomo TUN 模式开关没有反应,应该先换节点吗?
不建议先换节点。先关闭 TUN,确认普通代理和当前节点能否工作;如果普通代理正常而 TUN 无法创建,问题更可能在权限、虚拟网卡、服务或系统冲突。
mihomo TUN 开启后立即断网,怎么恢复?
先关闭 TUN,并使用客户端的恢复网络功能或正常退出客户端。恢复后使用最小配置,只启用 TUN 和自动路由,确认网页可用后再单独加入 DNS 劫持、严格路由和 IPv6 设置。
需要单独下载 Wintun 或其他 TUN 驱动吗?
不要从不明来源下载或替换驱动。先查看客户端或内核日志中的接口创建错误,并确认客户端来源、系统权限和防火墙设置;是否自带相关组件应以对应项目的官方发布说明为准。
为什么 TUN 开启后只有部分网站打不开?
优先检查 DNS 增强模式、Fake-IP 过滤、DNS 劫持和 IPv6。先关闭 DNS 劫持做对照,再检查规则命中和日志,不要同时更换节点、DNS 和路由设置。
Windows、macOS 和 Linux 的排查方法一样吗?
基本顺序相同,都是先恢复网络、再查权限、接口、路由和 DNS,但权限机制和接口名称不同:Windows 重点看管理员权限与防火墙,macOS 重点看系统授权和 utun 接口,Linux 还要检查 TUN 权限、路由以及 nftables 或 iptables。