
TUN模式与普通代理的工作机制差异
普通代理在应用层依赖应用主动配合
普通代理模式(系统代理)工作在应用层,通过修改操作系统的HTTP/HTTPS代理设置来引导流量走向。浏览器、邮件客户端等遵循系统代理设置的应用会主动将请求发送到Clash指定的代理端口(默认7890),再由Clash决定转发或直连。这种方式的局限性在于它完全依赖应用程序的配合,若应用不读取系统代理配置,流量将直接绕过Clash通道。许多游戏、命令行工具和UWP应用默认忽略系统代理设置,在普通代理模式下无法被代理,导致用户虽然开启了Clash但部分软件仍然无法联网。
TUN模式在网络层强制接管所有流量
TUN模式工作在网络层,通过创建虚拟网卡的方式接管系统级别的全部网络流量。当TUN模式启用时,Clash会在操作系统中创建一个虚拟网卡设备,并修改系统路由表将所有网络流量指向该虚拟网卡,Clash从虚拟网卡读取数据包后根据规则系统进行处理。应用程序完全感知不到代理的存在,因为它们的请求被系统路由层透明地重定向到了TUN网卡,而非通过应用层代理设置。无论应用是否支持代理配置,其所有TCP和UDP流量都会被TUN模式捕获并进入Clash的规则匹配流程。
两者在流量覆盖范围上的根本区别
普通代理模式仅覆盖那些主动遵循系统代理设置的应用程序流量,覆盖范围局限于TCP协议的HTTP/HTTPS请求。TUN模式则覆盖全部网络流量,包括所有应用的TCP和UDP流量、ICMP协议以及系统服务和后台进程的通信请求。TUN模式下,从浏览器网页浏览到游戏UDP通信,从系统更新到命令行的curl请求,所有流量都经过虚拟网卡进入Clash处理。两者的根本区别在于:普通代理是“邀请制”,应用自愿参与;TUN模式是“强制制”,系统层面统一接管。
普通代理模式的适用场景与局限
普通代理适合浏览器和大多数桌面应用
对于日常使用浏览器上网的用户,普通代理模式完全能够满足需求,且配置简单资源占用低。Chrome、Edge、Firefox等主流浏览器默认遵循系统代理设置,配合SwitchyOmega等代理插件可灵活切换代理状态。Telegram、Discord、微信等大多数桌面应用同样支持系统代理配置,普通代理模式能够正常处理这些应用的HTTP和HTTPS流量。普通代理的优势在于不修改系统网络栈,关闭后系统网络环境完全恢复原状,不会对非代理流量产生任何影响。
普通代理无法覆盖命令行工具和UWP应用
在普通代理模式下,命令行工具(如curl、git、pip、npm)默认不读取系统代理环境变量,导致这些工具的流量绕过代理通道。Windows应用商店的UWP应用(如哔哩哔哩、Netflix)受系统回环限制,默认不会通过本地代理连接网络。部分使用自有网络栈的Electron应用和Go程序同样可能忽略系统代理配置。用户在这些场景下会感到困惑——Clash已经开启但特定软件就是无法联网,原因正是这些应用不遵循系统代理设置。
普通代理对UDP流量的支持有限
普通代理模式主要处理TCP协议的流量,对UDP协议的支持能力极为有限,这是其架构层面的固有局限。游戏通信、VoIP语音通话、QUIC协议(HTTP/3)等依赖于UDP传输的应用在普通代理模式下可能完全无法被代理。虽然SOCKS5协议支持UDP转发,但系统代理模式通常使用HTTP代理,UDP流量缺乏标准化的系统代理机制。遇到UDP相关应用时需要依赖Clash的TUN模式或其他UDP转发方案才能正常使用。
TUN模式的核心优势与工作机制
虚拟网卡实现全流量接管
TUN模式的核心机制是创建一张虚拟网卡,让操作系统将所有网络流量路由到这张网卡上。当TUN模式启用时,Clash通过操作系统的TUN驱动创建一个虚拟网络接口,并修改系统路由表将默认路由指向该接口,使得所有出站流量首先经过虚拟网卡而非物理网卡。Clash从虚拟网卡读取数据包,解析其目标地址后送入规则系统匹配,根据匹配结果决定转发到代理节点还是直连发送。这种机制在系统网络层面实现了流量的统一入口,应用层完全无需感知代理的存在。
TUN模式完整支持UDP和ICMP协议
TUN模式在网络层工作,天然支持包括TCP、UDP和ICMP在内的所有IP协议类型,弥补了普通代理在这方面的短板。游戏中的UDP通信、VoIP语音数据包、QUIC协议的HTTP/3流量以及ping命令的ICMP请求均可被TUN模式完整捕获和代理。对于支持UDP转发的代理节点,TUN模式可将UDP流量封装后通过代理通道传输,实现游戏加速和实时通信的代理需求。这种全面的协议支持使得TUN模式成为游戏玩家和VoIP重度用户的首选方案。
TUN模式的流量仍然受分流规则控制
TUN模式接管全部流量后,每条流量仍然需要经过Clash的规则系统匹配,由规则决定是走代理节点还是直连放行。用户开启TUN模式后可继续使用规则模式分流,国内网站通过GEOIP,CN,DIRECT规则直连,境外网站通过MATCH,PROXY规则走代理。TUN模式只是改变了流量进入Clash的途径,并未改变规则系统的分流逻辑。部分用户误以为TUN模式等同于全局代理,实际上TUN模式与规则模式、全局模式是正交的——TUN模式决定流量如何进入Clash,运行模式决定进入后的处理策略。
TUN模式与普通代理的适用场景对比
普通代理适合轻量日常使用
对于主要使用浏览器和常见桌面应用的轻量用户,普通代理模式完全满足需求且配置简单资源占用低。普通代理的优点是关闭后系统网络环境完全恢复原状,不留下任何网络配置残留,适合在公共网络或个人设备上交替使用代理和直连的场景。普通代理的资源消耗低于TUN模式,在低性能设备上对系统响应速度的影响更小。如果日常使用不涉及命令行工具、UWP应用或UDP通信,普通代理模式是足够且高效的选择。
TUN模式适合全面代理需求
当用户需要代理命令行工具、UWP应用、游戏等不遵循系统代理设置的软件时,TUN模式是唯一能够统一覆盖所有流量的方案。TUN模式适合需要全局网络管理的场景,例如在公共WiFi上通过代理保护所有应用的隐私,或需对不同应用的流量进行精细化规则控制。TUN模式的全面接管能力确保了任何软件都不会因不遵循系统代理而绕过代理通道,在网络审查严格的环境中具有更高的可靠性。
两者可根据使用场景灵活切换
普通代理和TUN模式并非互斥的选择,用户可根据当前网络环境和使用需求灵活切换。日常办公和网页浏览时可使用普通代理模式,降低资源消耗;当需要运行命令行工具、游戏或UWP应用时切换至TUN模式,确保这些应用的流量被正确代理。Clash Verge Rev等客户端在设置中提供了快速切换TUN模式开关的界面,用户无需修改配置文件即可在两种模式间切换。了解两种模式的特点后,根据实际需求选择最适合的方案即可。
开启TUN模式的配置方法与注意事项
在Clash Verge Rev中开启TUN模式
在Clash Verge Rev中开启TUN模式的操作路径较为简单,用户只需在设置页面中找到并启用TUN模式开关即可。打开Clash Verge Rev后点击左侧「设置」标签页,找到”TUN模式”或”TUN Mode”选项,将开关切换至开启状态。首次开启时系统可能提示安装虚拟网卡服务,需授权并确保服务成功启动。开启后Clash会在系统中创建虚拟网卡并修改路由表,所有流量将经过TUN网卡进入Clash处理。若TUN模式开关无法打开或打开后没有效果,通常是因为系统缺少WinTUN驱动文件。
Windows系统需要WinTUN驱动
Windows系统下开启TUN模式需要WinTUN驱动程序的支持,该驱动是Clash创建TUN虚拟网卡的底层依赖。若系统中缺少WinTUN驱动,Clash的TUN模式将无法正常启用,开关可能显示为灰色或开启后无任何效果。用户需从WinTUN官方发布页面下载适用于当前系统架构的驱动程序(wintun.dll),将其放入Clash的安装目录或配置目录中。放置完成后重启Clash客户端,TUN模式即可正常启用。部分Clash Verge Rev版本在首次开启TUN模式时会自动提示下载和安装WinTUN驱动,按照提示操作即可。
与其他虚拟网卡软件的冲突处理
TUN模式创建虚拟网卡并修改系统路由表,若同时运行其他使用虚拟网卡的程序可能产生路由冲突导致网络异常。游戏加速器、企业VPN、虚拟机网络等软件都可能创建虚拟网卡并与Clash的TUN网卡争抢路由资源,表现为开启TUN模式后网络完全中断或部分网站无法访问。解决方法是在使用游戏加速器时关闭Clash的TUN模式仅使用系统代理模式,或在Clash规则中为冲突进程添加PROCESS-NAME直连规则。若确认无其他虚拟网卡软件仍在运行但TUN模式仍存在冲突,可在设备管理器中检查并卸载残留的虚拟网卡设备。
常见问题FAQ
TUN模式和全局模式是一回事吗?
不是。TUN模式决定“流量如何进入Clash”,全局模式决定“流量进入后如何处理”。TUN模式通过虚拟网卡接管全部流量,将这些流量送入Clash的规则系统;全局模式则在规则系统处理后将所有流量都送到代理节点。TUN模式可与规则模式搭配使用,实现国内直连、国外代理的效果,与全局模式是两个不同层面的概念。
TUN模式能代理哪些普通代理无法代理的流量?
TUN模式能代理命令行工具(如curl、git、pip)、UWP应用(Windows商店应用)、游戏UDP通信、QUIC协议流量(HTTP/3)以及ICMP协议(ping命令)。这些流量在普通代理模式下通常绕过系统代理设置,TUN模式通过网络层的强制接管实现了统一代理。
开启TUN模式后国内网站会变慢吗?
不会。TUN模式接管流量后仍然经过规则系统匹配,GEOIP,CN,DIRECT规则会让国内网站流量直连放行,不经过代理节点,速度与未开启TUN模式时相同。只有当分流规则将国内网站误判为境外流量时才会变慢,这属于规则配置问题而非TUN模式本身的问题。
TUN模式开启后游戏加速器无法同时使用怎么办?
游戏加速器和Clash的TUN模式都会创建虚拟网卡修改路由表,同时运行可能产生路由冲突导致网络中断。建议在使用游戏加速器时关闭Clash的TUN模式,仅使用系统代理模式。若需同时使用,可在Clash规则中为游戏加速器进程添加PROCESS-NAME直连规则,或在加速器中设置仅对游戏进程生效而绕过Clash的TUN网卡。