Clash 的 TAP 模式
最近为 WSL2 下 fq 有点烦恼,因为正常的 clash 即使开启全局模式也无法代理 UWP 应用的流量,对于这种情况,我往往采用 VPN,使用 wireguard 来代理全局所有的流量(以前使用 linux 虚拟机的时候,可以通过这样来让虚拟机 fq)。但我发现 WSL2 有独立的虚拟网卡,以至于 wireguard 竟然无法代理 WSL2 的流量。为了让自己目前的主力 linux 系统 WSL2 能够科学上网,我权衡了一下成本和利弊,最终选择了简单易上手的 clash 的 TAP 模式。
以下是 clash 的 TAP 模式的介绍:
对于不遵循系统代理的软件,TAP 模式可以接管其流量并交由 CFW 处理
对于 0.13.8 及以后版本,更推荐使用TUN 模式
步骤
为了避免不必要的麻烦,将 clash 先更新到最新版本,仓库传送门
下载后解压即用,更新启动界面后如下,
安装 TAP 网卡,
使用的 Profile 中包含如下 listen 设置:
dns:
enable: true
enhanced-mode: redir-host # 或 fake-ip
listen: 0.0.0.0:53
nameserver:
- 223.5.5.5
修改后可以看到网络适配器中多了 cfw-tap
的虚拟网卡,并且处于正常状态(乐,这底层 VPN 协议也是 wireguard 呀,点赞🥳)
至此,TAP 模式就已经成功启动了
效果
ping
一下谷歌,可以看到 ICMP
协议也能代理了,成功力
这下我可以把 WSL2 的 apt 源也换回到 ubuntu 的官方源了,
docker 官方的自动安装脚本也能获取到了(之前 WSL2 上安装 docker 也为此事苦恼,由于 WSL2 的特殊性,按照正常安装方法会失败,一种说法说使用 docker 官方脚本可以安装,另一种是配合 docker desktop 安装)
git clone 测试(怪,不知道是节点原因还是啥,开始测几次还挺慢的)
Reference
https://github.com/Fndroid/clash_for_windows_pkg
https://docs.cfw.lbyczf.com/
Comments | 2 条评论
TAP模式真的对WSL2起作用吗?我记得WSL2的流量是直接从虚拟交换机上外网了,不会经过TAP网卡
@duanyll 有作用确实有作用,怎么做到的我也不懂呢
。TAP和TUN模式对WSL2都行,不过都不是很完美,比如经常无法SSH上Github或者apt更新不了