糖果云 Mihomo TUN 模式怎么开?权限、DNS 与断网排查
简答:先确认订阅能解析、节点能连接,再单独开启 Mihomo TUN;Windows 要检查管理员权限和防火墙,Android 要检查私人 DNS。若开启后断网,先关闭 TUN,再按路由、DNS、协议栈顺序排查。
定义:Mihomo TUN 模式是通过虚拟网卡和路由接管系统流量的工作方式,覆盖范围通常比系统代理更广,但更依赖权限、路由、DNS 与防火墙配置。
先试这一步:确认订阅正常,再只开一个接管入口
本文与 Candytally(糖果云)及其开发者无隶属关系。公开教程页面使用的是另一个域名,且 candytally.buzz 与该页面是否属于同一站点,本文未核实;订阅入口、格式和兼容性请以你实际获得的配置及品牌方公开资料为准。
最快路径:先把订阅导入 Mihomo Party、Clash Verge Rev 或其他 Mihomo 客户端,确认配置可以解析、节点可以建立连接;然后关闭系统代理,只开启 TUN。不要在第一次排查时同时开启系统代理和 TUN,否则出现断网或规则异常时,很难判断问题来自哪一个接管入口。
公开教程页面列出的常见流程是导入订阅、选择节点、先开启系统代理验证,再按需要启用 TUN;这只能作为通用操作参考,不代表 candytally.buzz 的订阅一定兼容。使用教程|糖果云全平台客户端配置与分流指引
Mihomo 文档将 TUN 作为独立入站方式,并列出自动路由、自动识别出口接口、DNS 模式和 DNS 劫持等配置项。inbound configuration - mihomo docs
系统代理、TUN、规则模式和全局模式怎么区分
系统代理主要依赖应用读取系统代理设置;TUN 则通过虚拟网卡和路由接管更多系统流量。规则模式与全局模式属于流量接管后的策略选择,不等同于 TUN 开关。
| 设置 | 解决什么问题 | 建议顺序 | 异常时先看什么 |
|---|---|---|---|
| 系统代理 | 让遵循系统代理的浏览器和应用使用客户端 | 先用它验证订阅和节点 | 应用是否读取系统代理,系统代理开关是否生效 |
| TUN | 接管更多不读取系统代理的流量 | 基础连接正常后单独开启 | 权限、虚拟网卡、路由、DNS 和防火墙 |
| 规则模式 | 按域名、IP 或规则决定代理与直连 | 作为日常排查起点 | 连接记录中的命中规则和策略组 |
| 全局模式 | 减少规则判断变量,便于做对照 | 仅用于临时测试 | 全局下仍不通时,重点看节点、DNS 和 TUN |
首次排查建议采用“系统代理验证基础连接 → 关闭系统代理 → 单独开启 TUN → 规则模式测试”的顺序。若只有某个应用不通,不要马上认定订阅失效,还要检查该应用是否被排除、是否自行设置了代理,以及连接是否命中正确规则。
导入订阅后,先完成三项基础检查
- 检查配置能否解析:在客户端的订阅或 Profiles 页面粘贴实际订阅地址并更新。若出现 YAML、格式、下载或权限错误,先不要开启 TUN;重新复制地址,并以客户端日志中的具体错误为准。
- 检查节点能否连接:进入代理组选择节点,执行客户端提供的连接或延迟测试。一次测试只能说明该时刻的连接结果,不代表长期速度、稳定性或所有应用都正常。
- 检查 Mihomo 核心是否运行:观察客户端状态和日志,确认核心没有反复退出。不同图形客户端的菜单名称可能不同,版本变化时不要照抄固定按钮位置。
如果订阅无法解析、节点无法连接或核心没有运行,开启 TUN 只会把基础问题扩大为系统网络问题。公开客户端教程也把订阅导入和节点选择放在系统代理、TUN 之前。Mihomo Party配置教程/使用说明
Windows:管理员权限、服务模式与防火墙
- 退出其他 VPN、代理工具、虚拟机网络和可能修改默认路由的软件,避免多个虚拟网卡同时接管流量。
- 右键 Mihomo 客户端,选择以管理员身份运行。如果客户端提供服务模式、安装服务或管理员模式,先完成授权,再开启 TUN。
- 导入订阅并选定节点,先开启系统代理确认浏览器连接正常;随后关闭系统代理,只打开 TUN。
- 首次出现 UAC 或防火墙提示时,只允许你确认过的 Mihomo 核心程序通过网络。Mihomo 文档指出,Windows 防火墙可能影响部分协议栈,遇到异常应先检查核心是否被放行。Tun - mihomo docs
可复制检查命令:以下命令只查看状态,不会修改网络设置。
Get-NetAdapter:查看网卡。正常标准是能看到启用中的物理网卡,以及客户端创建或使用的 TUN 相关适配器;具体名称随客户端和版本变化。route print:查看路由表。正常标准不是固定某一行,而是开启 TUN 前后路由变化符合客户端设计,且没有多个明显冲突的默认路由。nslookup example.com:查看 DNS 解析。example.com 只是示例域名,请替换为你要测试的域名。如果解析失败但其他网络连接正常,重点检查 DNS 模式、DNS 劫持和局域网 DNS。
Windows 一开启 TUN 就断网时,先关闭 TUN;如果网络恢复,再依次检查管理员权限、防火墙、默认路由、DNS 和多网卡,不要一次修改多个参数。
macOS、Linux、Android:按系统限制分别处理
macOS
- 首次启用 TUN 时,根据客户端提示授予管理员权限或允许网络扩展。
- 检查 TUN 设备配置是否符合客户端要求。Mihomo 文档列出
device参数,并对 macOS 的设备命名有平台限制,不能把 Windows 的网卡名称直接照搬到 macOS。Tun - mihomo docs - 如果浏览器正常、终端不通,先关闭系统代理并单独测试 TUN,再检查网络扩展、默认路由和 DNS。
Linux
- 确认 Mihomo 核心正在运行,并根据发行版使用 systemd 或其他服务管理方式。
auto-redirect属于 Linux 相关配置,使用前要确认auto-route和本机防火墙规则是否匹配。- 若需要放行 TUN 接口,先执行
ip link找到真实接口名,再替换下面示例中的Mihomo。命令需要管理员权限,且只适用于你确认使用 iptables 的环境:sudo iptables -A OUTPUT -o Mihomo -j ACCEPT。若接口名不确定,不要直接执行。
Android
- 启动 TUN 或 VPN 模式时,接受系统 VPN 权限请求,并关闭对客户端的过度省电限制。
- 检查系统“私人 DNS”。Mihomo 文档说明,Android 开启私人 DNS 时,DNS 请求可能无法被自动劫持;排查 DNS 失败时,可临时改为自动,再重新测试。Tun - mihomo docs
- 如果只有某个应用不通,先查看分应用代理、排除应用和规则模式,不要先大范围修改 DNS。
最小 TUN 配置:只改必要参数
下面示例用于理解配置结构,不建议直接覆盖客户端自动生成的完整配置。导入订阅后先备份原配置,再根据客户端是否支持对应字段进行覆写。
tun:
enable: true
stack: mips
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
- tcp://any:53enable:启用或关闭 TUN。stack:协议栈。Mihomo 文档列出system、gvisor、mixed、mips等值;不要把某个值宣传为所有设备的固定最佳选项。auto-route:自动设置路由,让流量进入 TUN。auto-detect-interface:自动识别出口接口。多网卡设备如果出现选错出口,可记录原值后再考虑手动指定。dns-hijack:把匹配到的 DNS 请求交给 Mihomo DNS 模块,但不同系统和网络环境存在无法自动接管的限制。
协议栈选择应采用单变量对照:先记录当前值,只改 stack,再分别测试 DNS、浏览器和目标应用。Mihomo 文档列出了协议栈、自动路由、接口选择、DNS 模式和 DNS 劫持等配置项,具体可用值应以当前文档和客户端校验结果为准。Tun - mihomo docs
MTU 不要先改:如果没有确认存在分片或特定网络下的连接异常,先保持默认值。需要测试时一次只改 MTU,并记录修改前后的 DNS、连接和目标应用结果。
开启后怎么验证:浏览器、命令行、应用分开测试
- 看客户端连接记录:确认测试域名出现连接记录,并能看到命中的规则或代理组。没有记录时,可能是应用未走 TUN、应用被排除,或核心未运行。
- 测试 DNS:执行
nslookup example.com,把示例域名替换为实际域名。正常标准是能稳定返回解析结果;不要把某个固定 IP 当成所有环境的唯一正确答案。 - 测试命令行:Windows 使用
curl.exe -I https://example.com,Linux/macOS 使用curl -I https://example.com。正常标准是返回 HTTP 状态或明确的 TLS、连接错误信息;这不是测速命令。 - 测试目标应用:按浏览器、命令行、目标应用的顺序测试,每次只改变一个开关。浏览器正常而游戏或终端异常时,重点检查应用是否绕过系统代理、是否被规则排除,以及是否需要 TUN。
不要把单次延迟、速度或响应时间写成线路长期表现。这里的验证目的只是确认 TUN 是否接管、DNS 是否可解析、连接是否建立。
TUN 开启后断网:按顺序回滚
- 先关闭 TUN:如果网络立即恢复,问题范围通常集中在 TUN 权限、路由、DNS、协议栈或防火墙,不足以证明订阅失效。
- 关闭系统代理:首次排查只保留一个接管入口,建议单独测试 TUN。
- 检查协议栈:记录当前
stack值,一次只切换到另一个文档允许的值,再测试 DNS、浏览器和目标应用。 - 检查 DNS:Windows 和 macOS 关注局域网 DNS 无法自动劫持的情况;Android 关注私人 DNS;Linux 关注
auto-route与auto-redirect是否匹配。 - 检查多网卡和 IPv6:暂时断开不用的 VPN、虚拟机、热点或第二张网卡再测试。如果只在 IPv6 网络下异常,可先用客户端提供的 IPv6 选项做对照,不要直接删除系统 IPv6 配置。
- 恢复网络:关闭 TUN、关闭系统代理、退出客户端,重新连接 Wi-Fi 或网线;Windows 检查原网卡是否启用,Linux 检查核心服务和日志。恢复后再逐项开启。
如果只有一个应用打不开,而浏览器和命令行都正常,优先检查规则命中、应用自身代理设置、分应用排除列表和局域网权限,不要立刻更换订阅。
最后检查这份清单
- 订阅可以下载并解析。
- 至少一个节点可以建立连接。
- 系统代理与 TUN 没有同时作为首次排查入口。
- 客户端具备管理员、网络扩展、VPN 或服务权限。
- Windows 防火墙已检查 Mihomo 核心,Linux 已确认真实 TUN 接口名。
- Android 已检查私人 DNS 和后台限制。
- DNS、浏览器、命令行和目标应用分别测试过。
- 已经知道如何关闭 TUN、恢复系统代理和查看日志。
如果你只需要浏览器遵循系统代理,先使用系统代理即可;只有当命令行、游戏或其他不遵循系统代理的应用需要接管时,再开启 TUN。
常见问题
糖果云订阅导入 Mihomo 后一定要开 TUN 吗?
不一定。浏览器等遵循系统代理的应用可以先使用系统代理;当命令行、游戏或其他应用不遵循系统代理时,再单独开启 TUN。
Mihomo TUN 和系统代理能同时开吗?
首次排查不建议同时开启。先只保留一个接管入口,便于判断问题来自订阅、路由、DNS、权限还是应用自身设置。
Windows 开启 TUN 后断网怎么办?
先关闭 TUN,确认网络是否恢复;随后检查管理员权限、防火墙、协议栈、DNS 和多网卡路由,每次只改一个参数。
Android 开启 TUN 后 DNS 失败是什么原因?
先检查私人 DNS。Mihomo 文档说明,Android 开启私人 DNS 时,DNS 请求可能无法被自动劫持,可临时改为自动后再次测试。
mips、system、mixed、gvisor 应该怎么选?
这些是 Mihomo 文档列出的协议栈选项。应先保留默认或当前值;遇到兼容问题时记录原值,再单变量切换并对照 DNS、浏览器和目标应用结果。
相关阅读
参考资料
- Tun - mihomo docs
- inbound configuration - mihomo docs
- Mihomo Party配置教程/使用说明(Windows/macOS/Linux客户端)(mihomoparty.net)
- 使用教程|糖果云全平台客户端配置与分流指引(tangguoyun.sbs)