VMware虚拟机共享主机v2rayN

发布于:2024-03-31 ⋅ 阅读:(146) ⋅ 点赞:(0)

目录

🌼前言

🌼解释

🚩操作

1)VMware -- 虚拟网络编辑器

2)VMware -- 网络适配器

3)主机 IP 地址

4)v2rayN 代理端口

5)VMware -- 网络代理(Network proxy)

🎂结果

🌼拓展


🌼前言

起因

刚做完 TinyWebServer 这个项目,在 VMware-Ubuntu 下了 vscode 重写一次源码接口,写完跑通后,打算上传到 Github,于是有了这篇文章

版本

Windows:Windows 10 家庭中文版,64 位操作系统, 基于 x64 的处理器

VMware:VMware® Workstation 17 Pro,17.0.0 build-20800274

Ubuntu:Ubuntu 16.04.7 LTS

v2rayN:v2rayN - V6.23

🌼解释

网络地址转换

1)NAT 即 网络地址转换,可以将私有网络的 IP 地址映射到公有网络的 IP 地址上,以实现多个设备共享同一个公共 IP 地址来访问互联网。

2)而 VMware 共享本地代理这个过程,就用到了 NAT

3)首先,VMware-Ubuntu是一个虚拟机,在私有网络运行。主机通过 NAT 将虚拟机的 IP 地址映射到自己的公共 IP 上,再通过 V2rayN 访问其他网站

4)当 Ubuntu 通过虚拟网络发出请求时,它的请求会被 NAT 转换成主机的公共 IP,并通过主机的 V2rayN 转发到互联网上。

5)这样,Ubuntu 就能借助主机的代理访问其他网站,而外部网络只能看到主机的 IP,并不知道具体是哪个虚拟机在通信。

VMware

路由器是连接不同设备的桥梁(硬件),而 VMware 具有 “虚拟网络” 的功能,我们可以借助这个功能,虚拟出一个 “路由器” ,只需将主机和虚拟机连接在同一个 “路由器” 下,就可以实现双向通信,这就是虚拟机可以使用主机代理的原因

🚩操作

1)VMware -- 虚拟网络编辑器

首先,默认你的虚拟机是配置过的,选择 VMnet8 下面 3 个框勾选上

我们可以将这个 NAT 类型的虚拟网,看成一个虚拟的路由器,于是只需要同时将主机和虚拟机连接在这个“路由器”下,就可以实现双向通信了

(“将主机虚拟适配器连接到此网络”✔ -- 主机就能连接到这个“路由器”)

2)VMware -- 网络适配器

在虚拟机运行的时候,这个地方,右键 -- 设置 -- 网络适配器,点击“自定义”,修改为

VMnet8(NAT模式),然后确认

到此为止,主机和虚拟机,已经连接在同一个 “虚拟路由器” 下,接下来,只需要知道主机在该 “虚拟路由器” 下的 IP 地址和代理端口,即可完成代理的配置。

3)主机 IP 地址

3,4步为第 5 步 网络代理做准备

Ctrl + Alt + Del 打开任务管理器 -- 性能,找到VMnet8,这个 IPv4 地址就是主机在 “虚拟路由器” 下的 IP 地址

4)v2rayN 代理端口

 

设置 -- 参数设置 -- 允许来自局域网连接

底部看到的,局域网对应的协议(socks/http)和端口号(10808/10809),

就是主机在该 “虚拟路由器” 下的代理端口

5)VMware -- 网络代理(Network proxy)

 打开 Ubuntu,找到设置

找到网络

点击网络代理(Network proxy),Method 改为手动(Manual),

输入 3,4 步的 IP 和 端口完成配置

🎂结果

 

此时主机 v2rayN 出现了来自虚拟机的访问记录,配置成功

🌼拓展

1)

Ubuntu 设置中的代理设置,其本质是添加环境变量 http_proxyhttps_proxyALL_PROXY 等。

只有能够主动检测并读取这些环境变量的软件,才能自动使用代理,比如 git 的 http 协议模式,wgetcurlpip 等。

某些软件包的代理可能需要额外进行手动配置,比如 git 的 ssh 模式和 git 协议模式

虚拟机 “网络适配器” 的 NAT 模式,默认也是指向 VMnet8 的,不过为了清晰起见,上面还是使用 “自定义” 指向 VMnet8

2)

其实不单止 Ubuntu 里上传项目到 Github,需要虚拟机共享主机代理

只要是需要 Linux 环境的情况,都会用到

比如,有些程序 Windows 跑不了,只能在 mac 或 Linux 跑,那么就需要在 VMware 上安装 Ubuntu

或者,有些项目,Windows 下无法 git clone

或者有些文件命名不被 Windows 支持

或者层级嵌套太深.....

3)

那么什么是 “代理” 呢,它是中转站,用来中转你上网的数据流量。

通常包含 2 部分:代理软件 && 代理服务器

步骤:

  • 浏览器发送数据到软件
  • 软件把你的数据发送到服务器
  • 服务器发送数据到目标网站

4)

什么是“监听端口”呢

代理软件要正常工作,需要开启一个“监听端口”。

浏览器通过这个端口和代理软件建立连接。

只有建立了连接,浏览器才能把数据发送到代理软件上。

端口是一个数字,1 ~ 65535


网站公告

今日签到

点亮在社区的每一天
去签到