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模式

二、配置的大致过程

  1. VM软件配置
  2. 主机配置
  3. Vm虚拟机配置

以上过程基本不需要敲命令。

三、VM软件配置

1.VM虚拟网络编辑器

打开虚拟网络编辑器(方式:编辑->虚拟网络编辑器),

img

然后点击更改设置

img

2.配置VMnet8和VMnet1

VMnet8【子网配置】如下:

img

【NAT设置】如下:

img

img

【DHCP设置】如下:(可以理解为虚拟机的ip范围, 不要跟上图配置的网关冲突了)

img

【VMnet1】采用默认配置就可以了,当然你也可以按照上述vmnet8的方式修改一个容易记住的ip:

img

四、主机IP配置

windows进入打开设置->网络

【2024-9-18补充】【可选START // 表示这个这个范围是可有可无的】

img

img

img

双击上述红框,然后配置如下:(这里不要跟之前的网关冲突了)
img

【2024-9-18补充】【可选END // 表示这个范围是可有可无的】

代理软件要开启【Allow LAN】:(这里要记住端口, 我的是7890)

img

然击后点:
img

记住下面的接口ip,这个ip需要在Vm虚拟机中使用, 两个都可以用
img

在windows终端下输入ipconfig同样可以查到:
img

五、虚拟机代理ip配置

在配置代理之前需要设置网络适配器, 我们之前配置了VMnet8,在这里可以使用。

img

5.1 虚拟机上用【设置】配置代理

用【设置】配置代理,代理设置会影响所有图形app, 比如浏览器,shell..

但是却影响不了ssh(用ssh连接虚拟机ubuntu)终端,所以在使用ssh还需要配置代理,参考第七节。

当然这种配置也影响不了很多需要单独配置代理的app, 比如conda, pip, docker等等

进入虚拟机,配置ip,如果是Ubuntu可以参考下面的配置:(注意下图的端口,要跟代理软件的端口一致)

img

然后可以打开浏览器看外网,或者终端:

img

六、关于代理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的?

img

这主要是我发现VMnet8的网络接口发现没有用,这时尝试使用VMnet1发现可以使用代理了.

七、关于ssh代理配置,终端使用代理

ssh连接

1. vscode proxy配置

img这样就可以使用一些需要代理的插件,比如copilot

2. ssh远程终端使用代理

在~/.bashrc中添加代理配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 代理
export hostip=192.168.80.1
export post=7890
alias proxy='
export http_proxy=http://${hostip}:${post}
export https_proxy=http://${hostip}:${post}
export ALL_PROXY=http://${hostip}:${post}
export all_proxy=socks://${hostip}:${post}
'
alias unproxy='
unset ALL_PROXY
unset https_proxy
unset http_proxy
unset all_proxy
'
alias echoproxy='
echo $ALL_PROXY
echo $all_proxy
echo $https_proxy
echo $http_proxy

'

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模式区别,截图自上述教程文档:
img

Comments