clash-verge+vmare主机代理
转载自https://blog.csdn.net/weixin_63594197/article/details/138069939
一、前言
关于这样的教程其实网上的教程有很多,笔者也看过这些教程,但是大多都有问题,最主要的问题是:****当主机ip变化的时候,需要重新配置代理ip.****因此笔者写此文章,记录一下,以便给其他人做参考。
【2024-12-29补充】如果主机是使用代理软件走代理的话,比如clash, 可以直接使用Tun模式。Tun模式下,代理软件会创建一个虚拟网卡,主机上的进程(包括虚拟机)的网络请求都会重定向到这个虚拟网卡。这种模式拦截了所有进程的网络请求,有些进程并不遵守系统代理,比如终端, pip, docker等等,Tun模式专治这种。
章节查阅:
使用系统代理模式,参考 第二章-第七章,以前文章是这种模式,只要配置了http_proxy这类的环境变量,进程可能就会按照环境配置使用代理
使用Tun模式, 参考第八章
系统代理模式与Tun模式区别 参考第八章
推荐使用Tun模式
二、配置的大致过程
- VM软件配置
- 主机配置
- Vm虚拟机配置
以上过程基本不需要敲命令。
三、VM软件配置
1.VM虚拟网络编辑器
打开虚拟网络编辑器(方式:编辑->虚拟网络编辑器),
然后点击更改设置
2.配置VMnet8和VMnet1
VMnet8【子网配置】如下:
【NAT设置】如下:
【DHCP设置】如下:(可以理解为虚拟机的ip范围, 不要跟上图配置的网关冲突了)
【VMnet1】采用默认配置就可以了,当然你也可以按照上述vmnet8的方式修改一个容易记住的ip:
四、主机IP配置
windows进入打开设置->网络
【2024-9-18补充】【可选START // 表示这个这个范围是可有可无的】
双击上述红框,然后配置如下:(这里不要跟之前的网关冲突了)
【2024-9-18补充】【可选END // 表示这个范围是可有可无的】
代理软件要开启【Allow LAN】:(这里要记住端口, 我的是7890)
然击后点:
记住下面的接口ip,这个ip需要在Vm虚拟机中使用, 两个都可以用
在windows终端下输入ipconfig同样可以查到:
五、虚拟机代理ip配置
在配置代理之前需要设置网络适配器, 我们之前配置了VMnet8,在这里可以使用。
5.1 虚拟机上用【设置】配置代理
用【设置】配置代理,代理设置会影响所有图形app, 比如浏览器,shell..
但是却影响不了ssh(用ssh连接虚拟机ubuntu)终端,所以在使用ssh还需要配置代理,参考第七节。
当然这种配置也影响不了很多需要单独配置代理的app, 比如conda, pip, docker等等
进入虚拟机,配置ip,如果是Ubuntu可以参考下面的配置:(注意下图的端口,要跟代理软件的端口一致)
然后可以打开浏览器看外网,或者终端:
六、关于代理ip的选择问题
【2024-9-18补充 START】
按照以上,我们得到了两组代理ip:
VMnet1: 192.168.80.1 VMnet8: 192.168.6.1
用虚拟机ping 上述ip(比如 ping 192.168.80.1), 能ping通就说明虚拟机与主机处于同一局域网下。
笔者的实际情况:笔者上述ip在虚拟机下均可ping通,按道理来说都可以使用的,但在实际情况中,VMnet1能用,VMnet8不能用。
这块笔者并没有了解VM网络背后原理,稀里糊涂就过去了,反正能用就行了^_^。
【2024-9-18补充 END】
之前的配置中,我使用的是VMnet1的网络接口,而不是VMnet8的?
这主要是我发现VMnet8的网络接口发现没有用,这时尝试使用VMnet1发现可以使用代理了.
七、关于ssh代理配置,终端使用代理
ssh连接
1. vscode proxy配置
这样就可以使用一些需要代理的插件,比如copilot
2. ssh远程终端使用代理
在~/.bashrc中添加代理配置:
1 | # 代理 |
source ~/.bashrc
想要使用代理了,终端输入proxy,取消unproxy。
八、【2024-12-29补充】Tun模式
\1. 需要主机代理软件支持Tun模式
\2. 【2024-12-29笔者推荐使用clash-verge-rev】Release Clash Verge Rev v2.0.2 · clash-verge-rev/clash-verge-rev · GitHub
\3. 官方教程文档:快速入门 - Clash Verge Rev Docs
\4. 系统代理和Tun模式区别,截图自上述教程文档: