Clash icon indicating copy to clipboard operation
Clash copied to clipboard

请问下增强模式是做了什么处理

Open mawendaxiong opened this issue 2 years ago • 2 comments

最近使用过程中发现,虚拟机无法连接外网,打开了增强模式后才能访问外网,就算程序退出了虚拟机也无法访问. 然后个人发现: 发现1:不开增强模式,ping百度的延迟在40ms左右,开了增强模式延迟在1ms左右 发现2:开了增强模式后,终端不用再额外配置http_proxyhttps_proxy也能直接访问谷歌了

所以想搞明白增强模式的原理以及到底做了些什么事情,下次出现网络问题我好排查

mawendaxiong avatar Jul 17 '22 05:07 mawendaxiong

正常来说,代理只是对你浏览器生效了。但是你其他应用没生效,比如 使用idea下载部分github或者某些别的官方仓库依赖会失败,这时候都是开增强模式下载依赖。简单来说,开增强模式下idea自带terminal 使用ping www.google.com可以ping通,反之不通。其他应用也是一样。

zhouchitc avatar Oct 12 '22 08:10 zhouchitc

增强模式创建了TUN虚拟网卡(需要root权限,macOS下可以通过HelperTools的方式处理,比如ClashX-Pro的Helper文件位于 /Library/PrivilegedHelperTools/com.west2online.ClashXPro.ProxyConfigHelper),并配置路由表,目的是将数据转发到TUN设备上,但是由于TUN模式处于网络层,需要通过gVisor/System网络栈来获取传输层的数据,经过本地端处理后,将数据转发到服务节点。

不过由于使用了TUN模式,一般需要设置本地的DNS服务器,目的是使用FakeIP地址......具体的细节可以看clash源码 :)

josexy avatar Nov 18 '22 01:11 josexy