VMware虚拟机共享主机v2rayN

news/2024/7/27 11:55:42/文章来源:https://blog.csdn.net/csdner250/article/details/137168407

目录

🌼前言

🌼解释

🚩操作

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.luyixian.cn/news_show_1034495.aspx

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

相关文章

【面试八股总结】传输控制协议TCP(三)

参考资料 :小林Coding、阿秀、代码随想录 一、TCP拥塞控制⭐ 1. 慢启动 – Slow Start 慢启动是指TCP连接刚建立,一点一点地提速,试探一下网络的承受能力,以免直接扰乱了网络通道的秩序。 慢启动算法: 初始拥塞窗口…

探索设计模式的魅力:AI大模型如何赋能C/S模式,开创服务新纪元

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 AI大模型如何赋能C/S模式,开创服务新纪元 数字化飞速发展的时代,AI大模型…

提升常州小程序软件开发的搜索排名:关键步骤解析

在移动互联网的浪潮中,小程序作为连接用户与服务的桥梁,其重要性日益凸显。对于常州的小程序软件开发企业来说,如何让自己的产品在浩如烟海的互联网信息中脱颖而出,提升搜索排名,成为了亟待解决的问题。本文将为您解析…

C++面向对象程序设计 - 访问对象中成员的3种方法

在C程序中访问对象的成员变量和成员函数,有三种方法: 通过对象名和成员运算符访问对象中的成员;通过指向对象的指针访问对象中的成员;通过对象的引用变量访问对象中的成员 在了解访问对象中成员的3种方法前,先了解下C…

稀碎从零算法笔记Day37-LeetCode:所有可能的真二叉树

今天的每日一题,感觉理解的还不够深,有待加深理解 题型:树、分治、递归 链接:894. 所有可能的真二叉树 - 力扣(LeetCode) 来源:LeetCode 题目描述 给你一个整数 n ,请你找出所有…

第五篇:3.4 用户归因和受众(User attribution and audience) - IAB/MRC及《增强现实广告效果测量指南1.0》

翻译计划 第一篇概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇广告效果测量定义和其他矩阵之- 3.1 广告印象(AD Impression)第三篇广告效果测量定义和其他矩阵之- 3.2 可见性 (Viewability)第四篇广…

解析Flutter应用在iOS环境中的性能优化技巧

本文探讨了使用Flutter开发的iOS应用能否上架,以及上架的具体流程。苹果提供了App Store作为正式上架渠道,同时也有TestFlight供开发者进行内测。合规并通过审核后,Flutter应用可以顺利上架。但上架过程可能存在一些挑战,因此可能…

STM32-03基于HAL库(CubeMX+MDK+Proteus)输入检测案例(按键控制LED)

文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式,生成代码四、MDK打开生成项目,编写HAL库的按键检测代码五、运行仿真程序,调试代码 一、功能需求分析 搭建完成开发STM32开发环境之后,开始GPIO…

【嵌入式硬件】光耦

1.光耦作用 光耦一般用于信号的隔离。当两个电路的电源参考点不相关时,使用光耦可以保证在两边不共地的情况下,完成信号的传输。 2.光耦原理 光耦的原理图如下所示,其内部可以看做一个特殊的“三极管”; 一般的三极管是通过基极B和发射极E间的电流,去控制集电极C和发射极…

01 Python进阶:正则表达式

re.match函数 使用 Python 中的 re 模块时,可以通过 re.match() 函数来尝试从字符串的开头匹配一个模式。以下是一个简单的详解和举例: import re# 定义一个正则表达式模式 pattern r^[a-z] # 匹配开头的小写字母序列# 要匹配的字符串 text "h…

牛客2024年愚人节比赛(A-K)

比赛链接 毕竟是娱乐场,放平心态打吧。。。 只有A一个考了数学期望,其他的基本都是acmer特有的脑筋急转弯,看个乐呵即可。 A 我是欧皇,赚到盆满钵满! 思路: 我们有 p 1 p_1 p1​ 的概率直接拿到一件实…

使用Excel连接Azure DevOps自动退出的问题

Azure DevOps Server (原名TFS)是微软公司的软件开发管理平台,也是著名的软件开发过程管理工具;系统中记录了软件开发过程中的需求、问题、缺陷和迭代计划等各种软件开发工作项数据。 对于工作项数据的批量操作(例如新增和编辑),Excel是一个非…

DevOps与CI/CD简介

DevOps 是一种软件开发和运维的文化、实践和方法论,旨在通过加强开发团队和运维团队之间的合作和沟通,实现快速、高效、可靠的软件交付和运维。DevOps 是由 Development(开发)和 Operations(运维)两个单词组…

【随笔】Git -- 高级命令(下篇)(八)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

QA测试开发工程师面试题满分问答5: 内存溢出和内存泄漏问题

概念阐述 内存溢出(Memory Overflow)和内存泄漏(Memory Leak)是与计算机程序中的内存管理相关的问题,它们描述了不同的情况。 内存溢出是指程序在申请内存时,要求的内存超出了系统所能提供的可用内存资源…

文本自动粘贴编辑器:支持自动粘贴并筛选手机号码,让信息处理更轻松

在信息时代的浪潮中,文本处理已成为我们日常工作与生活的重要组成部分。无论是商务沟通、社交互动还是个人事务处理,手机号码的筛选与粘贴都显得尤为关键。然而,传统的文本处理方式效率低下、易出错,已无法满足现代人的高效需求。…

文心一言 vs GPT-4 ----全面横向比较

文心一言 (Wenxin Yiyan) 和 GPT-4 是两个强大的人工智能语言模型,它们在处理自然语言方面表现出了出色的能力。但它们有一些关键的区别和优势。以下是它们的横向比较: 公司和平台: * 文心一言是由百度开发的中文语言模型,专门为…

【C语言】——指针七:数组和指针试题解析

【C语言】——指针七: 前言一、 s i z e o f sizeof sizeof 与 s t r l e n strlen strlen 的对比1.1、 s i z e o f sizeof sizeof1.2、 s t r l e n strlen strlen1.3、 s i z e o f sizeof sizeof 和 s t r l e n strlen strlen 对比 二、数组和指针笔试题解析…

monitor link 联合smart link配合应对复杂的网络

monitor link关键词:上行和下行端口,当上行端口异常,下行端口立即down掉,也就是一种联动机制 如果上行端口里面是smart link方式,则当主从端口都出问题时候,下行端口才会down掉 monitor link 配置步骤 1创…

【LeetCode: 96. 不同的二叉搜索树 + 动态规划】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…