月神云 - 全终端加速服务

Mihomo TUN模式怎么关闭?关闭后仍断网这样恢复

更新于 2026-11-02 · moontoday.store

简答:Mihomo TUN模式通常应先在客户端设置中关闭“ TUN模式”“增强模式”或“虚拟网卡”,再重载配置或重启内核。命令行用户把配置中的 <code>tun.enable</code> 改为 <code>false</code>。关闭TUN不等于关闭系统代理,也不一定会停止服务模式;关闭后仍断网时,按系统代理、DNS、虚拟网卡和路由顺序恢复。

定义:Mihomo TUN模式是通过虚拟网卡和路由接管系统网络流量的工作方式,关闭它就是停止TUN接管并恢复普通网络路径。

先试这一步:关闭TUN并确认状态

本文是第三方使用指南,资料核验日期:2026年11月2日。不同客户端的菜单名称和位置可能随版本变化,但关闭逻辑基本一致:先关闭图形界面的TUN开关,再确认内核或配置没有把它重新打开。

  1. 打开正在使用的Mihomo客户端。进入“设置”“系统设置”“网络”“内核”或类似页面,搜索 TUN、增强模式、虚拟网卡 等关键词。
  2. 关闭TUN开关。等待开关状态变为关闭,或等待客户端提示TUN已停止、虚拟网卡已退出。
  3. 保存并重载。如果客户端提供“重载配置”“重启内核”或“重新激活配置”,在关闭TUN后执行一次。
  4. 观察网络结果。浏览器访问普通网页,检查局域网设备、办公系统或本地服务是否恢复;如果仍不能联网,继续查看下方的异常分流。

Clash Verge Rev 的界面文本中分别存在“模式TUN”和“系统代理”两个开关,说明两者不是同一个功能;其界面提示还说明,TUN接管系统流量时并不要求同时打开系统代理。可参考Clash Verge Rev 的设置字段。

TUN关闭后应检查什么
现象优先检查判定结果
客户端显示关闭,但全网仍断重载配置、重启内核、检查系统代理普通网页和局域网恢复
网页能开,局域网打不开系统代理、DNS、局域网地址是否仍被接管路由器管理页或内网服务可访问
重启客户端后TUN又开启tun.enable、覆写配置、自动启动设置重新启动后仍保持关闭
关闭开关时报错或无响应服务模式、管理员权限、其他VPN冲突客户端能正常停止内核

按配置文件关闭:将tun.enable改为false

如果客户端开关关闭后,TUN仍会在重启时出现,检查当前生效配置,而不是只修改原始订阅文件。Mihomo官方配置文档将 tun.enable 定义为启用TUN的字段,并将 auto-route 定义为自动把全局流量路由到TUN网卡。参考Mihomo官方TUN配置文档。

  1. 先备份当前配置。复制一份正在使用的配置文件,避免误改订阅源或覆盖层。
  2. 找到当前生效的TUN段。常见结构如下:
    tun:
      enable: true
  3. 只修改开关。将 true 改为 false:
    tun:
      enable: false
  4. 保存后重载或重启内核。不要只关闭窗口;要确认客户端已经重新读取配置。
  5. 重新检查。查看客户端状态、连接记录和网络访问结果。如果配置又变回 true,说明订阅更新、Merge/Extend配置、脚本或客户端全局覆盖仍在写入TUN字段。

不建议为了关闭TUN直接删除整个 tun: 段,也不要随意清空系统路由表。删除配置段可能影响客户端的配置合并逻辑,手动清路由则可能影响当前网络和其他软件。更安全的做法是先把明确的启用字段改为 false,再通过客户端重载验证。

如果使用Clash Verge Rev一类带配置覆盖功能的客户端,当前配置可能受到界面开关、扩展配置或脚本影响。项目问题记录中曾出现自定义配置保留 tun.enable: true、导致TUN无法按预期关闭的情况,最终处理方式是让生效配置明确写入 enable: false。这只能说明该类配置覆盖问题曾被报告,不能代表所有版本都会出现同样现象,具体仍应以当前版本的生效配置为准。参考Clash Verge Rev 的相关问题记录。

不要混淆:关闭TUN、系统代理和服务模式

关闭TUN后,客户端可能仍然处于运行状态,系统代理也可能继续生效。应根据目标选择关闭范围:

三个开关的区别
要解决的问题应操作的项目是否必然需要退出客户端
只想停止虚拟网卡接管关闭TUN或虚拟网卡不一定
想让浏览器不再经过本地代理端口关闭系统代理不一定
想完全停止核心和后台服务停止内核、退出客户端或停止服务模式通常需要
想恢复普通网络并排除冲突按TUN、系统代理、内核顺序关闭建议重启一次客户端

官方桌面面板文档也明确区分了系统代理和TUN:系统代理修改操作系统代理设置,TUN则通过网络层路由接管流量;TUN通常需要更高权限或后台辅助服务。参考MetaCubeXD官方说明中的系统代理与TUN区别。

推荐的回滚顺序是:关闭TUN → 关闭系统代理 → 重载或重启内核 → 退出客户端 → 再测试网络。如果只想暂时不用TUN,但仍想让浏览器使用普通代理,可以只关闭TUN,不要同时关闭系统代理;如果目的是完全恢复直连,则两个开关都要检查。

Windows、macOS、Linux和Android的关闭后检查

Windows

  1. 关闭客户端中的TUN或虚拟网卡开关。
  2. 进入系统代理设置,确认没有遗留的手动代理地址和端口。
  3. 如果客户端使用服务模式,先停止内核或退出客户端,再观察网络是否恢复。
  4. 打开网络适配器列表,确认无线或以太网适配器处于启用状态;不要一开始就删除TUN驱动。

Windows客户端的菜单可能使用“系统代理”“模式TUN”或“虚拟网卡”等不同文字,需以当前版本界面为准。

macOS

  1. 关闭TUN后检查当前网络服务的代理和DNS设置。
  2. 如果使用了后台服务或权限辅助组件,正常退出客户端,让它完成清理。
  3. 重新连接Wi-Fi或有线网络,再访问局域网地址和普通网页。

Mihomo官方文档指出,macOS的TUN设备名称有平台限制;因此不建议通过手动删除网卡名称来处理关闭问题,应优先使用客户端开关和正常退出流程。参考官方TUN字段说明。

Linux或Docker

  1. 先关闭配置中的 tun.enable 并重启Mihomo进程或容器。
  2. 如果配置启用了 auto-redirect,确认相关防火墙重定向规则由客户端或容器正常撤销。
  3. 检查容器是否仍占用网络命名空间、TUN设备或管理权限。

官方文档说明,auto-redirect 仅支持Linux,并依赖 auto-route;因此Linux环境关闭后若仍有异常,应优先检查容器、iptables或nftables状态,而不是直接清空全部防火墙规则。

Android

  1. 在客户端的VPN、TUN或增强模式设置中关闭开关。
  2. 确认系统VPN状态栏已经消失,再测试移动网络和Wi-Fi。
  3. 如仍无法联网,关闭其他VPN应用并重新连接当前网络。

Android上的TUN通常与系统VPN权限相关,客户端界面可能不提供与桌面端完全相同的配置字段;找不到 tun.enable 时,应优先使用客户端内置开关。

关闭后仍然断网:按这个顺序排查

  1. 先确认TUN真的停止。客户端状态、虚拟网卡、连接记录或日志应显示关闭;如果状态仍为启用,回到当前生效配置检查 tun.enable。
  2. 检查系统代理。浏览器打不开但命令行或其他软件正常时,常见原因是浏览器仍使用旧的代理地址;关闭系统代理或恢复为自动检测。
  3. 排除其他VPN和网络工具。暂时退出其他VPN、网络过滤器、抓包工具或加速软件,避免多个虚拟网卡同时接管流量。
  4. 重启客户端和网络连接。正常退出Mihomo,断开并重新连接Wi-Fi或以太网,再测试。
  5. 检查DNS。如果可以访问IP但不能打开域名,检查系统DNS是否仍指向客户端、本地虚拟网卡或失效的手动地址。
  6. 最后再检查路由。只有在确认TUN、系统代理和DNS都已恢复后,才查看是否存在残留路由;不要在不了解影响范围时直接执行清空全部路由的命令。

如果图形客户端提供“恢复网络”或类似按钮,应优先使用该按钮。官方桌面面板说明中提到,TUN异常时可以使用网络恢复功能,正常退出也会尝试拆除TUN路由并恢复网络;强制结束进程后,可能需要重新打开客户端再执行恢复。参考官方桌面应用说明。

如何防止TUN重启后自动开启

  1. 检查当前配置中是否仍有 tun.enable: true。
  2. 检查客户端的扩展配置、Merge配置、脚本或订阅转换结果是否重新写入TUN段。
  3. 检查客户端是否启用了自动启动、服务模式或启动时恢复上次状态。
  4. 关闭TUN后保存配置,再完全退出客户端并重新打开验证。
  5. 如果仍自动开启,暂时新建一份最小配置,仅保留 tun.enable: false 做对照测试,以区分客户端开关问题和订阅覆写问题。

不要把订阅链接本身当作配置格式证明,也不要在没有备份的情况下直接修改远程订阅内容。更稳妥的做法是确认客户端实际加载的配置来源,再修改对应的本地覆盖层。

常见问题

关闭Mihomo TUN模式会删除订阅、节点或规则吗?

通常不会。关闭TUN只改变流量接管方式,不等于删除配置、订阅或节点;但如果客户端把TUN开关写入配置,重载或更新订阅时仍可能改变该字段。关闭后应检查当前生效配置。

关闭TUN后还需要关闭系统代理吗?

不一定。TUN和系统代理是两个独立功能:只想停止虚拟网卡时可只关闭TUN;如果希望浏览器和其他应用完全不再使用本地代理,还要关闭系统代理。

为什么我把tun.enable改成false,重启后又变成true?

常见原因是修改了原始订阅而不是当前生效配置,或者客户端的扩展配置、脚本、Merge层和启动状态覆盖了该字段。请先备份,再检查实际加载的配置来源和覆盖顺序。

关闭TUN后仍然无法上网怎么办?

先确认TUN状态已关闭,再检查系统代理、DNS、其他VPN、虚拟网卡和网络连接。建议按“关闭TUN—关闭系统代理—退出其他VPN—重启客户端—重连网络”的顺序操作,不要直接清空路由表。

可以直接删除TUN虚拟网卡或驱动吗?

不建议把删除驱动作为第一步。先用客户端开关、正常退出或网络恢复功能拆除TUN;只有确认客户端已经卸载服务且驱动确实损坏时,才按对应客户端和系统的官方卸载流程处理。

相关阅读

参考资料

  1. Mihomo官方TUN配置文档
  2. MetaCubeXD官方项目说明:系统代理、TUN与网络恢复
  3. Clash Verge Rev设置字段:TUN模式与系统代理
  4. Clash Verge Rev问题记录:tun.enable配置覆盖导致TUN未关闭