🧠 什么是 TUN 模式?
TUN 模式是 Clash 客户端(如 Clash Verge Rev、Clash for Windows)提供的一种高级代理方式。它通过在系统中创建一个虚拟网卡(TUN 设备),将所有网络流量(包括 TCP、UDP、ICMP 等)从系统底层重定向到 Clash 内核,由内核根据规则决定走代理还是直连。
与传统的系统代理(仅影响支持代理设置的应用)不同,TUN 模式能够覆盖所有程序,包括命令行工具、游戏、UWP 应用等,实现真正的“全局代理”。
🔧 虚拟网卡与路由表如何协同工作
当 Clash 启用 TUN 模式后,系统会多出一个名为 clash-tun 或 utun 的虚拟网卡。Clash 内核通过修改系统路由表,将原本发往物理网卡的数据包引导至这个虚拟网卡。
简单工作流程:
- 应用程序发起网络请求。
- 系统路由表将请求指向 TUN 虚拟网卡的 IP 地址。
- Clash 内核从虚拟网卡读取数据包,解析目标地址。
- 匹配规则:直连流量直接转发到真实物理网卡;代理流量通过节点加密发送。
路由表是其中最关键的一环。如果系统中残留了其他 VPN 或代理软件创建的虚拟网卡(例如旧版 CFW 的 cfw-tun),就可能出现多条默认路由,导致流量走错接口。
⚖️ TUN 模式的优缺点
✅ 优点
- 真正全局代理,不遗漏任何应用
- 支持 UDP 和 ICMP,游戏、语音通话更稳定
- 无需单独设置每个程序的代理
- 配合规则可实现精细分流
⚠️ 缺点
- 需要管理员/root 权限
- 可能与其它 VPN 软件冲突
- 配置不当易导致断网或 DNS 泄漏
- 对系统资源有一定消耗
🚀 配置优化实践
1. 内核与客户端选择
推荐使用 Clash Verge Rev 并搭配最新版 Clash Meta 内核,它们对 TUN 的兼容性和性能优化更好。你可以从 下载中心 获取安装包。
2. 调整 TUN 相关参数
在配置文件(YAML)中,可以微调以下字段来提升体验:
tun:
enable: true
stack: system # 或 gvisor,Linux 下推荐 system
dns-hijack:
- any:53 # 劫持 DNS 请求防止泄漏
auto-route: true # 自动管理路由表
auto-detect-interface: trueWindows 用户若遇到与 cfw-tun 等旧网卡的冲突,可参考下文排障部分彻底清理。
3. 配合 DNS 设置
TUN 模式下务必启用 DNS 劫持,并配置可信的上游 DNS,否则会出现 DNS 泄漏。请跳至 DNS 泄漏章节 获取完整方案。
🛠️ 常见问题与排障
从 Clash for Windows 迁移到 Clash Verge Rev 后,旧版 CFW 创建的 cfw-tun 虚拟网卡可能未完全删除,导致两条默认路由并存,部分流量走错接口。
彻底清除残留虚拟网卡(Windows):
- 打开“设备管理器” → 查看 → 显示隐藏的设备。
- 在“网络适配器”中找到
cfw-tun,右键卸载(勾选“删除此设备的驱动程序软件”)。 - 以管理员身份运行命令提示符,执行:
netcfg -d(注意:这会重置网络设置,可能需要重启)
- 重启电脑后,再开启 Clash Verge Rev 的 TUN 模式。
macOS / Linux 下的类似冲突:
在终端使用 ifconfig 查看所有网络接口,找到类似 utun 或旧版 Clash 接口,通过系统偏好设置或网络配置文件移除。
开启 TUN 后无法上网?
首先检查 配置文件 中是否有正确的规则和策略组。可临时将模式切换为“全局”测试,若能上网则说明规则需要调整。若全局也不行,检查系统防火墙是否拦截了 Clash 进程。
🔒 彻底解决 DNS 泄漏
DNS 泄漏是指虽然流量走了代理,但 DNS 解析请求仍通过本地网络发送给 ISP,暴露了你访问的网站域名。TUN 模式必须配合 DNS 劫持才能避免此问题。
推荐配置:
dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: fake-ip # 或 redir-host
fake-ip-range: 198.18.0.1/16
nameserver:
- 223.5.5.5
- 114.114.114.114
fallback:
- 8.8.8.8
- 1.1.1.1
fallback-filter:
geoip: true
geoip-code: CN同时确保 Clash 客户端中开启了“DNS 劫持”选项。这样所有 DNS 请求都会被虚拟网卡拦截,并统一由 Clash 处理,避免绕过代理。
更多 DNS 调优技巧,可以参考我们的 自定义规则文章。
📌 总结与行动建议
- 升级到 最新版 Clash Verge Rev,使用 Clash Meta 内核。
- 检查系统虚拟网卡,彻底删除旧版残留。
- 优化 YAML 配置文件中的 TUN 和 DNS 段落。
- 遇到奇怪网络问题时,优先查看路由表和 Clash 日志。