当前位置: 首页 > news >正文

终于有人把VMware虚拟机三种网络模式讲清楚了!

前段时间VMware更新了,你用上最新版了吗?

有几个网工在操作中遇到过各种各样的问题。

比如说由于公司服务器重启导致出现下面的问题:在Xshell里连接虚拟机映射时连接失败;能够连接上虚拟机的映射地址,但git pull时报错无法解析hostname……其实这些都是ip问题导致的,但主要还是虚拟机的网络配置问题不清楚。

所以今天就给你们梳理下VM虚拟机的三种网络工作模式。

01、VMware的三种网络工作模式

vmware为我们提供了三种网络工作模式, 它们分别是:

Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。

进入vmware, 在选项栏的 “编辑” 下的 “虚拟网络编辑器” 中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式)。在这里插入图片描述

我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。

并且在物理机的网络连接中可以看到两张虚拟网卡VMnet1和VMnet8, 这两种网卡分别作用于仅主机模式与NAT模式。

如果将这两块不小心卸载, 可以在vmware的 “编辑” 下的 “虚拟网络编辑器” 中点击 “还原默认设置”。在这里插入图片描述
在这里插入图片描述

那VMnet0呢?这需要先系统了解一下三种模式,你就会有答案了。

02、Bridged-桥接模式

桥接模式是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。

在桥接的作用下, 类似于把物理主机虚拟为一个交换机, 所有设置桥接模式的虚拟机都将连接到这个交换机的一个接口上;

同样物理主机也插在这个交换机中, 所以桥接下的网卡与网卡都是交换模式的, 可以相互访问而不干扰。

虚拟机ip地址需要与主机在同一个网段, 如果虚拟主机要联网, 则要求网关与DNS要与主机的网卡保持一致。

网络的结构如图:在这里插入图片描述

那么在VMware中怎么设置呢?

点击编辑虚拟机设置,这个设置可以设置虚拟机的配置,自然包括网卡。
在这里插入图片描述

找到网络适配器 , 然后找到 桥接模式,点击,然后点击确定。在这里插入图片描述

之后 查看一下主机的ip地址、网关、DNS等信息。在这里插入图片描述

然后进如系统, 打开终端输入 vi /etc/sysconfig/network-scripts/ifcfg-eth0,编辑网卡配置信息。在这里插入图片描述

输入以下内容:在这里插入图片描述

然后ESC返回命令模式,输入 :wq! 保存退出, 然后重启网卡或者重启系统, 然后使用ping命令ping百度 看看能否接收到数据包。

如果能ping通百度, 配置完成。在这里插入图片描述

我们使用Xshell测试一下虚拟机与主机之间的连接,查看是否能够进行信息交换。
在这里插入图片描述

可见主机与虚拟机通信正常。

注意:当前的网络环境是ip资源很缺少或对ip管理比较严格的话, 那桥接模式就不适用。
我们可以把模式设置成NAT模式模式。

03、NAT-地址转换模式

NAT模式是利用 NAT设备 和 DHCP服务器 , 让虚拟机可以联网。

在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。
在这里插入图片描述

这里给你补充一下DHCP和NAT的知识。

DHCP是动态主机配置协议, 是一个局域网的网络协议。

指的是由服务器控制一段IP地址范围, 客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。

担任DHCP服务器的计算机需要安装TCP/IP协议, 并为其设置静态IP地址、子网掩码、默认网关等内容。

打开该功能后, 路由器会根据所在局域网的IP网段自动分配IP地址, 不用自己去设置IP地址, 关闭后则需要自己手动去设置IP地址。

NAT(Network Address Translation, 网络地址转换)是1994年提出的。

当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址), 但现在又想和因特网上的主机通信(并不需要加密)时, 可使用NAT方法。

这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。

装有NAT软件的路由器叫做NAT路由器, 它至少有一个有效的外部全球IP地址(公网IP地址)。

这样, 所有使用本地地址(私网IP地址)的主机在和外界通信时, 都要在NAT路由器上将其本地地址转换成全球IP地址, 才能和因特网连接。

另外, 这种通过使用少量的公有IP 地址(私网地址)代表较多的私有IP 地址的方式, 将有助于减缓可用的IP地址空间的枯竭。

NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。结构图如下:在这里插入图片描述

从上图中我们可以看出, 主机网卡与虚拟NAT设备直接连接, 然后NAT设备与DHCP服务器均链接到VMnet8上, 这样就实现了虚拟机联网。

其中VMnet8虚拟网卡为了实现主机与虚拟机之间的沟通。

打开vmware的虚拟网络编辑器,可以设置NAT参数及DHCP参数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

NAT参数

DHCP参数

同样,点击虚拟机设置调整网络模式。
在这里插入图片描述
在这里插入图片描述

进系统,敲命令vi /etc/sysconfig/network-scripts/ifcfg-eth0。
在这里插入图片描述
在这里插入图片描述

保存退出,ping百度。在这里插入图片描述

现在我们来验证一下VMnet8的作用。禁用VMnet8,进入虚拟机重新ping百度。
在这里插入图片描述
在这里插入图片描述

能通,用Xshell测试,发现不能连接。在这里插入图片描述

重新启动网卡VMnet8发现可以连接上了。

总结:用虚拟NAT设备和虚拟DHCP服务器来让虚拟机联网 而VMnet8是用来主机与虚拟机通信。

04、Host-Only-仅主机模式

Host-Only就是NAT模式删了NAT设备, 用VMnet1网卡连接VMnet1虚拟交换机来与虚拟机通信的, 可见Host-Only将虚拟机与外部网络隔离, 虚拟机只与主机相互通讯。

网络的结构如图:在这里插入图片描述

要使虚拟机能上网, 可以把主机的网卡共享给VMnet1网卡。

同样,打开虚拟网络编辑器,然后配置一下 DHCP设置,配置一下起始和终止IP。在这里插入图片描述

设置虚拟机的联网模式:在这里插入图片描述

然后同样操作。在这里插入图片描述

保存退出, 然后重启网卡, 测试与主机之间的连通性。在这里插入图片描述

可以通讯,这时我们让虚拟机通信。

主机进入网络连接,鼠标右击上网的网卡属性,选择共享选项卡,勾选共享,下方选择vM1网卡,点击确定。在这里插入图片描述

点击确定,强制将VM1的ip设置成 192.168.137.1,然后调整虚拟机的DHCP的子网和起始地址。在这里插入图片描述

配置网卡, VM1网卡作为路由。
在这里插入图片描述

重启网卡, 然后测试能否ping通百度以及远程登录。
在这里插入图片描述

测试结果证明可以使得虚拟机连接外网。

步骤基本和NAT一样,设置固定IP时虚拟机IP要和VMnet1在同一网段,网关一致,DNS地址要和主机相同。

文章声明

本文素材整理自网络,由网络工程师俱乐部排版成文,转载请注明出处,侵删。

相关文章:

终于有人把VMware虚拟机三种网络模式讲清楚了!

前段时间VMware更新了,你用上最新版了吗? 有几个网工在操作中遇到过各种各样的问题。 比如说由于公司服务器重启导致出现下面的问题:在Xshell里连接虚拟机映射时连接失败;能够连接上虚拟机的映射地址,但git pull时报…...

Flutter实践二:repository模式

1.repository 几乎所有的APP,从简单的到最复杂的,在它们的架构里几乎都包括状态管理和数据源这两部分。状态管理常见的有Bloc、Cubit、Provider、ViewModel等,数据源则是一些直接和数据库或者网络客户端进行交互,取得相应的数据&…...

交换机Vlan和端口配置(H3C)

交换机Vlan配置(H3C) 配置VLAN配置VLAN接口的IP地址开启ARP网关保护功能,配置被保护的网关IP地址 配置VLAN Vlan物理端口3GigabitEthernet 1/0/1 ~ GigabitEthernet 1/0/14 ;GigabitEthernet 2/0/1 ~ GigabitEthernet 2/0/1450Gi…...

vue自定义指令控制权限

1、在main.js中注册全局指令 import Vue from vue;// 按钮权限控制指令 Vue.directive(permission, {inserted: (el, binding)>{const { value } binding;// 判断当前用户是否拥有该按钮权限if (!checkPermission(value)) {el.parentNode.removeChild(el);}} }); // 判断…...

jquery获取url参数

使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作,下面通过文字说明加代码分析的形式给大家解析,具体详情请看下文。 1、jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javascript的基…...

SpringBoot和Spring源码下载

1.下载:在一个空的干净地创建一个文件夹叫springsourcecode,其实叫什么都行的。 git clone https://github.com/spring-projects/spring-framework.git 2.JDK要和gradle匹配 我们要21的,今天为止2023年11月13日,idea是2023.2。 …...

【算法练习Day49】每日温度下一个更大元素 I

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 每日温度下一个更大元素 I总…...

Maven打包时跳过测试代码

Maven 打包时会把一些用于测试的类或文件也一起打包,无疑增加了打包失败的风险,也加剧了文件占用磁盘的大小。 所以本次写一下如何跳过测试类。 命令行方式跳过测试 我们可以用两种命令来跳过测试 mvn clean package -DskipTestsmvn clean package -D…...

2023-2024 年适用于 Windows 电脑的顶级视频录制软件

想捕捉您正在在线观看的视频吗?使用网络摄像头录制视频会议以供日后参考。正在寻找可以完成这些任务的视频捕捉软件?这篇文章说明了一切。以下是一些适用于 Windows PC 的最佳视频录制工具。 什么是视频录制软件? 顾名思义,视频捕…...

2023-11-14 mysql-主从复制-重置主从连接-记录

摘要: mysql的主从复制, 当从库执行binlog出错后, 会中止主从复制. 此时需要重置主从连接, 以重建主从关系. 主库操作: 一. 清理同步的数据库 drop database test;二. 重置主库状态 reset master;reset slave all;三. 检测主库状态 show master status;mysql> show master…...

go语言学习之旅之安装sdk环境,hello world!

学无止境 为什么学习Go语言 高效编程: Go语言被设计为一门高效的编程语言。其编译速度快,执行速度也相对较快,适合用于构建高性能的应用程序。 并发支持: Go语言天生支持并发编程,通过goroutine和channel提供了简单而…...

《Linux从练气到飞升》No.28 Linux中的线程同步

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…...

爬取动态网页内容的库

爬取动态网页内容时,传统的 Python 爬虫库(如 Requests、BeautifulSoup)可能无法直接获取 JavaScript 动态生成的内容。为了处理这种情况,你可以使用一些特别设计的库,它们能够模拟浏览器行为,执行 JavaScr…...

Ubuntu 安装常见问题

1. 安装oh my zsh 搜狗输入法不能用 vim /etc/environmentexport XIM_PROGRAMfcitx export XIMfcitx export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERS“imfcitx” export LANG“zh_CN.UTF-8”配置完后重启,稍等一会,右上角会有个…...

大数据分析师职业技能提升好考吗?含金量高不高

随着大数据时代的到来,大数据分析技能需求已经成为很多企业和机构的必备要求。大数据分析师证书成为当下的热门之一,那么大数据分析师证书需要具备哪些条件呢? 首先,报考大数据分析师证书需要具备以下方面的条件: …...

JumpServer2023漏洞复现合集

本文主要复现JumpServer2023年出现的大批量漏洞,既是分享也是为了记录自己的成长,近期会持续更新。 1. JumpServer MongoDB远程代码执行漏洞(CVE-2023-43651) 1.1 漏洞级别 高危 1.2 漏洞描述 经过身份验证的用户可以利用Mon…...

【Linux】Ubuntu16.04配置repo

Ubuntu16.04配置repo失败 在学习韦东山Linux嵌入式开发过程中,使用repo获取内核及工具链: git clone https://e.coding.net/codebug8/repo.gitmkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk../repo/repo init -u https://gitee.com/weidongshan/m…...

uniapp小程序更新逻辑,按实际开发为主

小程序更新: uniapp小程序更新逻辑 uni.getUpdateManager() 方法参数说明onCheckForUpdatecallback当向小程序后台请求完新版本信息,会进行回调onUpdateReadycallback当新版本下载完成,会进行回调onUpdateFailedcallback当新版本下载失败,会…...

骨传导蓝牙耳机哪款好?这五款骨传导耳机闭眼入都不会错!

随着科技的发展,数码产品更新换代的速度也是越来越快,如今无线蓝牙耳机已经占据主流,特别是运动爱好者,很多人都会为自己挑选一款好用的运动耳机,而骨传导耳机异军突起,凭借听歌不入耳、佩戴舒适稳固等特性…...

数据库操作入门:PyMongo 和 MongoDB 的基本用法

MongoDB MongoDB是一种流行的NoSQL数据库,它将数据存储在类似JSON的文档中,使数据库非常灵活和可扩展 PyMongo Python需要一个MongoDB驱动程序来访问MongoDB数据库。在本教程中,我们将使用MongoDB驱动程序 “PyMongo”。建议使用PIP来安装…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...