FlClash 的 TUN 模式:开启方法与连接问题排查
简答:如果浏览器能用、终端或其他应用不能用,先确认配置和节点正常,再开启 FlClash 的 TUN;桌面端需处理虚拟网卡与权限,Android 需通过系统 VPN 授权。开启后用实际应用、日志和路由状态验证,不要把 TUN 当成自动提速功能。
定义:FlClash 的 TUN 模式是通过虚拟网络接口接管更广泛的系统流量,而系统代理只影响遵循操作系统代理设置的应用。
三步速查:先判断是否真的需要 TUN
- 先试系统代理:打开 FlClash,确认配置已加载、代理组有可用节点,再启用系统代理。若浏览器和常用软件已经正常,通常不必立即开启 TUN。
- 再判断流量范围:如果终端、Git、商店应用、部分游戏或其他不读取系统代理的软件仍无法连接,才考虑 TUN。TUN 扩大的是流量接管范围,不会自动改变节点延迟、带宽或丢包情况。
- 最后才调参数:先使用客户端当前默认值,只处理权限、DNS、路由和冲突;不要先复制一整套陌生 YAML。FlClash v0.9.2 的发布说明显示,TUN 设置和桌面网络行为仍会随版本调整,菜单名称应以当前界面为准。查看 FlClash 发布记录
| 项目 | 系统代理 | TUN |
|---|---|---|
| 接管范围 | 主要影响遵循系统代理的应用 | 通过虚拟网卡接管更广泛的 IP 流量 |
| 适合场景 | 浏览器、常规桌面软件 | 终端、部分商店应用、游戏或不支持代理设置的软件 |
| 权限要求 | 通常较少 | 桌面端可能需要管理员、Helper 或网络扩展授权;Android 需要 VPN 授权 |
| 风险点 | 不支持代理的软件可能直连 | 可能与其他 VPN、虚拟网卡、防火墙或本地网络路由冲突 |
开启前:按顺序检查配置、节点和内核
开启 TUN 前,先把问题缩小到网络接管层。否则订阅失效、节点不可用或规则错误,会被误认为是 TUN 故障。
- 确认 FlClash 已导入配置或订阅,并且当前配置已经选中。
- 确认代理组能够选择节点,并执行一次延迟测试或连接测试。延迟测试只能说明测试请求的结果,不等于持续速度。
- 确认运行模式不是“直连”或其他会绕过代理的模式;需要按规则分流时,选择规则模式并检查规则来源。
- 先启用系统代理测试浏览器。如果系统代理也不能工作,应先排查订阅、节点、DNS 或规则,不要直接开启 TUN。
- 关闭其他 VPN、代理客户端、游戏加速器和可能创建虚拟网卡的网络工具,避免多个程序同时修改默认路由。
- 保存当前配置或导出备份。FlClash 源码中的提示明确提到,Helper 服务不可用时桌面 TUN 不能启用;授权失败时 TUN 会被关闭。查看 FlClash 的权限与 TUN 提示文本
按平台开启:只改必要选项
Windows
- 先退出其他 VPN、虚拟网卡工具和代理客户端。
- 在 FlClash 当前版本的网络或仪表盘区域找到 TUN/虚拟网卡开关,开启后按系统提示授权。
- 如果出现 Helper 不可用、无法授权或开关显示开启但没有网络变化,完全退出 FlClash,再检查 Helper 服务和管理员权限后重试。
- 开启后先测试浏览器,再测试一个原本不读取系统代理的应用;不要同时保留多个程序的系统代理开关。
macOS
- 开启 TUN 后按系统提示允许网络扩展或相关权限。
- 如果配置中指定 TUN 设备名,不要随意套用 Windows 或 Linux 的接口名称。mihomo 文档说明,macOS 的 TUN 设备名需要使用以
utun开头的接口名。 - 先测试网页和终端,再检查局域网设备是否仍可访问;遇到局域网异常时,优先回退到默认配置。
Linux
- 确认当前用户具备创建 TUN、修改路由和防火墙规则所需的权限,并确认发行版的 NetworkManager 没有接管客户端创建的 TUN 接口。
- 开启 TUN 后检查客户端日志、接口和路由。Linux 下
auto-redirect是 mihomo 的 Linux 专用选项,并且要求auto-route开启。 - 若切换 stack 后出现接口占用、旧接口残留或路由表为空,先关闭 TUN、退出客户端并恢复默认参数,再重新启动,不要直接删除正在使用的网卡。
Android
- 在 FlClash 中开启连接或 VPN 功能,并接受 Android 系统 VPN 授权提示。
- 检查是否有其他 VPN、始终连接 VPN、分应用 VPN 或省电策略影响 FlClash。
- 如果 Android 的“私人 DNS”处于强制状态,mihomo 文档提示 DNS 请求可能无法被自动劫持;此时优先检查 DNS 模式和系统网络设置。
不同版本的入口可能变化,因此本文不把未经当前界面核对的菜单路径写成固定结论;请按“网络、TUN、虚拟网卡、VPN”等实际标签定位。
常见 TUN 参数:先理解,再决定是否修改
| 参数 | 作用 | 普通用户建议 |
|---|---|---|
stack | 选择 TUN 协议栈,例如 mixed、gvisor、system 或特定版本支持的其他栈。 | 先用客户端默认值;改动后必须重新验证 TCP、UDP 和局域网。 |
auto-route | 自动添加路由,把流量导入 TUN。 | 需要扩大接管范围时通常保持开启。 |
auto-detect-interface | 自动识别外网出口接口。 | 多网卡、Wi-Fi 与有线同时连接时,必要时再手动指定。 |
dns-hijack | 把匹配的 DNS 请求交给内部 DNS 模块处理。 | 出现 DNS 异常时先看 DNS 模式、规则和系统私人 DNS,不要只改劫持地址。 |
strict-route | 在启用自动路由时强化路由约束,减少部分地址或 DNS 泄漏。 | Windows、Linux、Android 的行为不同;开启后要验证局域网和虚拟机。 |
mtu | 设置最大传输单元,可能影响特殊网络条件下的传输表现。 | 一般保留默认值;只有出现可复现的分片或连接异常时再测试。 |
以上参数说明以 mihomo TUN 配置文档为准。文档还指出,严格路由可能导致某些虚拟机等应用异常,macOS 和 Windows 不能自动劫持发往本地网络的全部 DNS 请求,因此不能把“开启 TUN”理解为所有流量都会被无条件接管。
验证 TUN 是否生效:不要只看开关状态
- 应用验证:先关闭系统代理,只保留 TUN,分别测试浏览器、终端和一个原先不支持代理设置的应用。若只有浏览器正常,说明可能仍是系统代理在工作,或 TUN 没有真正创建。
- 日志验证:在 FlClash 日志中查看 TUN 启动、接口创建、DNS、路由和连接记录。开关显示开启不代表接口、端口和路由已经成功建立。
- Windows 验证:可用系统网络设置或 PowerShell 查看是否出现 FlClash/Meta Tunnel 类接口,并查看路由是否发生变化。命令名称和接口名可能因版本不同而不同。
- Linux 验证:按当前接口名称查看
ip link、ip rule和路由表;如果没有对应策略路由,说明 TUN 可能只是界面状态变化。 - DNS 验证:分别测试域名解析和实际 HTTPS 连接。DNS 能解析而网页连接超时,排查重点应转向节点连接、路由、防火墙和协议栈,而不是继续重复改 DNS。
开启后无法联网:按故障层级分流
- 先回退:关闭 TUN,恢复系统代理或直连,确认基础网络没有被破坏。若关闭后仍断网,重启 FlClash 或恢复系统代理设置,再检查默认路由。
- Helper 或权限失败:Windows 重新检查管理员授权和 Helper 服务;macOS 检查网络扩展授权;Linux 检查 TUN、路由和防火墙权限;Android 重新确认 VPN 授权。
- 接口不存在:不要继续调规则。先重启客户端,确认没有其他 VPN 或虚拟网卡程序占用接口;Windows 还要检查防火墙是否阻止核心程序。
- 接口存在但流量不走:检查
auto-route、auto-detect-interface和当前网络是否发生切换。Linux 重点看策略路由,Windows 重点看防火墙和网络变更后的 TUN 状态。 - DNS 异常:暂时回到客户端默认 DNS 设置,检查
dns-hijack、系统私人 DNS、IPv6 和局域网 DNS;不要在没有日志依据时同时改多个字段。 - 只有部分应用失败:检查规则、局域网绕过、UWP 或应用自身代理策略。TUN 不是“所有应用都必然兼容”,尤其是虚拟机、企业安全软件和其他网络过滤工具。
- Linux 旧接口占用:如果日志明确出现接口 busy,先停止 TUN 和客户端,确认接口不再被使用后再按发行版方式清理残留;涉及删除网卡或路由前必须保留回滚方案。
FlClash 的公开 issue 中曾出现 Windows 网络切换后 TUN 适配器未重新创建、Linux 切换 stack 后接口资源占用等报告。这些是特定版本和环境的公开问题记录,不代表所有用户都会遇到;遇到相同现象时,应优先切回系统代理并记录版本、系统、日志和网络变化。Windows TUN 网络切换问题记录 Linux TUN 接口占用问题记录
FAQ:FlClash 的 TUN 模式常见问题
FlClash 开 TUN 后会自动变快吗?
不会。TUN 主要扩大流量接管范围,延迟、丢包和速度仍取决于节点、线路、协议、DNS 和本地网络。
浏览器能用,还需要开启 TUN 吗?
不一定。如果目标应用遵循系统代理,继续使用系统代理更简单。只有不支持代理设置的应用无法连接时,才有必要测试 TUN。
为什么 TUN 开关显示开启,但应用仍然直连?
检查虚拟网卡、路由、日志和实际应用流量。开关状态不能单独证明接口已创建或路由已生效。
Windows 开启 TUN 一定要管理员权限吗?
桌面 TUN 通常涉及虚拟网卡、路由或 Helper 授权,实际要求随版本和安装方式变化。若提示无法授权或 Helper 不可用,应按提示修复权限后再试。
strict-route 要不要打开?
不要盲目修改。它可能减少部分路由或 DNS 泄漏,但也可能影响虚拟机、局域网和特殊网络。先保留默认值,出现明确需求后再单项测试。
关闭 TUN 后断网怎么办?
先恢复系统代理或直连,退出并重启 FlClash,确认默认路由和 DNS 恢复;仍异常时暂时停用其他 VPN 与虚拟网卡工具,再逐项恢复。
参考资料与版本说明
本文按 2026 年 10 月 27 日检索到的公开资料整理。FlClash 菜单和配置覆盖逻辑可能随版本变化;发布前应以当前客户端界面、项目发布记录和 mihomo 文档为准。本站为独立第三方指南,与 FlClash 项目及其相关服务无关联。
- FlClash GitHub Releases
- FlClash 源码中的界面与权限提示
- mihomo TUN 配置文档
- FlClash Windows TUN 网络切换问题
- FlClash Linux TUN 接口占用问题
常见问题
FlClash 的 TUN 模式会自动提升速度吗?
不会。TUN 解决的是部分应用不走系统代理的问题,不等于更快的节点或线路。
浏览器正常但终端不能用,应该先做什么?
先确认系统代理有效,再关闭其他 VPN 或虚拟网卡,最后开启 TUN 并用终端和日志验证。
TUN 开关开启但没有效果怎么办?
检查虚拟网卡、路由、Helper 或 VPN 权限,不能只看界面开关。
strict-route 是否必须开启?
不是。它可能改善路由约束,也可能影响虚拟机和局域网,应保留默认值后按问题单项测试。
关闭 TUN 后无法联网怎么恢复?
先恢复系统代理或直连,重启 FlClash,确认默认路由和 DNS 恢复,再逐项停用冲突的 VPN 或虚拟网卡工具。