Clash Verge 中 Tun 模式与系统代理有什么区别?

有朋友遇到这样的上网情况:开启 tun 模式后,有时能上网,有时不能上网;但只开系统代理时却能正常上网。朋友对此有了疑问:tun 模式在这里充当什么作用?tun 模式下,代理程序会创建一张虚拟网卡,通过配置操作系统的路由将网络请求重定向到这张虚拟网卡,代理程序从虚拟网卡中读取并处理这些网络请求。与系统代理不同的是,该步骤发生在网络请求程序发出请求之后,因此这种方法不依赖开发人员的意愿。

Clash Verge 中的 Tun 模式

前言

有朋友遇到这样的上网情况:

开启 tun 模式后,有时能上网,有时不能上网;但只开系统代理时却能正常上网。

朋友对此有了疑问:tun 模式在这里充当什么作用?

TUN 模式与系统代理模式

一张表格解答该问题:

代理模式说明特点
系统代理1. 代理程序会在系统 “约定” 的特定位置(如注册表、系统变量等)设置好代理程序监听请求的端口信息,进行网络请求的应用会 自发性 地尝试读取这部分信息,并将请求发送至代理程序。不同操作系统的 “约定” 方式各异。
2. 系统代理更像是一种行业内的**“约定”,并非所有程序都遵守这种非强制性的“约定”**,最终采取哪种方式发生请求往往取决于开发人员的意愿。
1. 具有自发性,网络请求程序尝试使用”约定“配置或使用网络请求程序里额外指定的配置。
2. 不能代理 UDP 流量(如游戏数据包)。
Tun 模式代理程序会创建一张虚拟网卡,通过配置操作系统的路由将网络请求 重定向 到这张虚拟网卡,代理程序从虚拟网卡中读取并处理这些网络请求。
与系统代理不同的是,该步骤发生在网络请求程序发出请求之后,因此这种方法不依赖开发人员的意愿。
1. 拦截和处理所有流量 (TCP/UDP) 重定向到本地的代理程序。
2. 网络请求程序无需额外配置。

一句话解释

TUN 模式下,Clash Verge 设置了一个虚拟网卡,所有流量都会经过这个虚拟网卡,由不得你走不走代理,所有的流量都会被接管分流。

系统代理模式,就是字面上的将系统的代理设置设置为 Clash,而软件是否走系统代理,则是看软件自身,常见的例子就是终端你需要手动设置环境变量才能让里面的请求走代理。

使用 Hugo 构建
主题 Stack,作者 Jimmy