clash TUN模式
简介
Tun 模式可以通过新建一个 Tun 虚拟网卡接受操作系统的三层流量,从而拓展 Clash 入口(inbound) 转发能力。Tun 模式有以下潜在的优点:
- 提升 Clash 处理 UDP 的能力
- 从Inbound发回三层流量时,IP 源地址可由 Clash 控制,因此在使用 socks5或shadowsoks协议时,可以表达 socks5/ss 协议发回的 UDP 流量中不同的源IP地址。因此,有可能通过 OutBound 代理实现 STUN因此,对在代理条件下很多游戏的体验会有提升。
- 可以劫持任何三层流量,Clash 可以在任何IP地址和任何端口提供某些服务,非常灵活因而可以实现 DNS 劫持
- 可以与操作系统的网络栈结合,利用 iptables 等组件的能力
实现
Tun 模式的核心问题有两个:
- 使用操作系统的 API 建立 Tun NIC(Network Interface Card),得到 IP Packet
- 由三层IP Packet 重组传输层 TCP stream / UDP Packet,交由 Clash 进行转发
其中,创建 NIC 并得到三层网络包可以由一系列系统调用实现。而由三层流量重组四层流量需要用户态网络栈。因为 Clash 使用 Go 语言,PR393 使用了 gvisor 的网络栈。gvisor 的网络栈前身是 netstack 。
配置
首先在setting中配置相关的策略
然后编写相关的策略,下图是我写的内容
mixin:
dns:
enable: true
enhanced-mode: redir-host
nameserver:
- 8.8.8.8
- 223.5.5.5
- 114.114.114.114
tun:
enable: true
stack: gvisor
dns-hijack:
- 182.18.0.2:53
auto-route: true
auto-detect-interface: true
最后,在首页打开services Mode模式,即可
当出现绿色的小地球就代表了成功
标签:TUN,clash,模式,Clash,流量,Tun,三层,true From: https://www.cnblogs.com/rain-me/p/16621323.html