VMware虚拟机共享主机v2rayN

目录

🌼前言

🌼解释

🚩操作

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/783353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

红黑树介绍及插入操作的实现

🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生 🙈个人主页🎉:GOTXX 🐼个人WeChat:ILXOXVJE 🐼本文由GOTXX原创,首发CSDN&…

windows平台虚拟机安装

windows平台虚拟机安装 1. 安装VMwareWorkstationPro 1.1 软件下载 官网下载 官网 百度网盘下载 版本 VMwareWorkstationPro16 链接:https://pan.baidu.com/s/1LidMxoM9e4a4CANixyRoyg?pwd1157 提取码:1157 1.2 软件安装 软件安装注意事项 软件…

代码学习第32天---动态规划

随想录日记part32 t i m e : time: time: 2024.03.30 主要内容:今天开始要学习动态规划的相关知识了,今天的内容主要涉及两个方面: 不同路径 ; 不同路径 II。 62.不同路径 63. 不同路径 II 动态…

Canvas实现圆点动画

示例效果图&#xff1a; 话不多说直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><t…

Unity类银河恶魔城学习记录11-10 p112 Items drop源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili ItemObject_Trigger.cs using System.Collections; using System.Collecti…

P28—P31:变量

P28-变量的定义 什么是变量&#xff1f; 从本质上来说&#xff0c;变量就是一块内存空间&#xff0c;而这块内存空间有数据类型、名字、字面值。变量包含三部分&#xff1a;数据类型、名字、字面值&#xff08;数据&#xff09;变量是内存中存储的基本单元。 数据类型的作用&a…

Linux 查看磁盘信息:df与du命令详解

一、df 1.简介 df 是 disk free的缩写&#xff0c;从UNIX和类UNIX操作系统的早期开始&#xff0c;它就是UNIX和类UNIX操作系统的一部分。它被设计为一种工具&#xff0c;用于监视系统上已使用和可用的磁盘空间数量。 df 命令主要用于需要检查文件系统上已使用和可用的磁盘空…

第十三届蓝桥杯JavaA组省赛真题 - GCD

解题思路&#xff1a; 找规律 最大的最小公因数就是两数的差值 5 7 gcd2 1 3 gcd2 1 4 gcd3 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);long a scan.nextLong();long b scan.ne…

查找--二分查找(Binary Search)

二分查找属于静态查找表&#xff0c;当以有序表表示静态查找表时&#xff0c;查找函数可用折半查找来实现。 查找过程&#xff1a;先确定待查记录所在的范围&#xff08;区间&#xff09;&#xff0c;然后逐步缩小范围直到找到或找不到该记录为止。 以处于区间中间位置记录的…

Linux appimage如何正确打开

在之前的文章中&#xff0c;提到使用appimage软件非常方便。 但是首次使用会遇到这样的问题&#xff1a; 1. 双击打不开 2. 在终端打开提示&#xff1a; /home/roy/software/appimage/Obsidian-1.5.11.AppImage dlopen(): error loading libfuse.so.2 AppImages require …

Python下载bing每日壁纸并实现win11 壁纸自动切换

前言: 爬虫哪家强,当然是python 我是属于啥语言都用,都懂点,不精通,实际工作中能能够顶上就可以。去年写的抓取bing每日的壁纸&#xff0c;保存到本地&#xff0c;并上传到阿里云oss&#xff0c;如果只是本地壁纸切换&#xff0c;存下来就行&#xff0c;一直想做个壁纸站点&…

vuees6新语法

vue的学习网站&#xff1a; https://www.runoob.com/vue2/vue-tutorial.html1.Vue的介绍 学习目标 说出什么是Vue能够说出Vue的好处能够说出Vue的特点 内容讲解 【1】Vue介绍 1.vue属于一个前端框架&#xff0c;底层使用原生js编写的。主要用来进行前端和后台服务器之间的…

CubeIDE 下如何将版本号和日期关联。

1. 使用__DATE__ 和__TIME__获取编译日期和时间。 2. 将__DATE__ 和__TIME__转换成UINT 3. 将转换后的数赋值给版本号。 4. 设置工程保证每次都会重新编译对应文件。 对应函数如下&#xff1a; uint8_t VER_MAIN; uint8_t VER_SUB; uint8_t VER_MIN; #include <stdlib.…

我为什么愿意当韭菜

这几年&#xff0c;为了提升自己&#xff0c;我给无数的我认为优秀的人和课付过费。但我从来不认为自己有被割过韭菜。 如果非要说是韭菜&#xff0c;那我认为这个社会每个人都是韭菜&#xff0c;就看是甘愿被割&#xff0c;还是不甘愿。没办法&#xff0c;只有被割才能获得自己…

Python|OpenCV-实现检测人脸以及性别检测(12)

前言 本文是该专栏的第13篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 性别检测是计算机视觉领域里面的一个重要学习领域,简单的来说,它可以实现自动识别一张图片中的人物性别。为此在本文中,笔者将结合OpenCV和Tensorflow来实现对一张图进行“图片中的人物人…

PTA L2-043 龙龙送外卖

龙龙是“饱了呀”外卖软件的注册骑手&#xff0c;负责送帕特小区的外卖。帕特小区的构造非常特别&#xff0c;都是双向道路且没有构成环 —— 你可以简单地认为小区的路构成了一棵树&#xff0c;根结点是外卖站&#xff0c;树上的结点就是要送餐的地址。 每到中午 12 点&#…

OSCP靶场--Access

OSCP靶场–Access 考点( 文件上传[黑名单apache.htaccess绕过] Kerberoasting SeManageVolume滥用提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.216.187 -sV -sC -Pn --min-rate 2500 -p- Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-3…

高端的电子画册,手机打开你见过吗?

手机阅读的高端电子画册&#xff0c;你见过吗&#xff1f;随着移动互联网的发展&#xff0c;越来越多的人选择在手机上阅读电子画册&#xff0c;而不是传统的纸质画册。这种趋势不仅节省了纸张资源&#xff0c;还提升了阅读体验。用户可以通过触摸屏幕、放大缩小、翻页等操作与…

腾讯研发部分编程题汇总做题笔记---Java

朋友圈(后端开发卷) 现在有 105 个用户&#xff0c;编号为 1- 105&#xff0c;现在已知有 m 对关系&#xff0c;每一对关系给你两个数 x 和 y &#xff0c;代表编号为 x 的用户和编号为 y 的用户是在一个圈子中&#xff0c;例如&#xff1a; A 和 B 在一个圈子中&#xff0c; B…

【C++】标准库类型string

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 string类简介 在实际开发中会经常使用字符串,所谓的字符串就是指一连串的字符,它由许多单个字符连接而成。字符串中可以包含任意任意字符,这些字符必须包含在一对英文双引号( " …