嵌入式中VMware 三种网络模式的详解与配置方法

今天梳理下 VMware虚拟机的三种网络工作模式。

相信通过这两篇文章,能够帮助你全面搞懂虚拟机的网络工作模式和配置。

VMware的三种网络工作模式

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

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

进入vmware,  在选项栏的 "编辑" 下的 "虚拟网络编辑器" 中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式)。

图片

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

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

如果将这两块不小心卸载,  可以在vmware的 "编辑" 下的 "虚拟网络编辑器" 中点击 "还原默认设置"。

图片

图片

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

Bridged-桥接模式

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

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

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

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

网络的结构如图:

图片

那么在VMware中怎么设置呢?

点击编辑虚拟机设置,这个设置可以设置虚拟机的配置,自然包括网卡。

图片

找到网络适配器 ,  然后找到 桥接模式,点击,然后点击确定。

图片

之后  查看一下主机的ip地址、网关、DNS等信息。

图片

然后进入系统,  打开终端输入 vi /etc/sysconfig/network-scripts/ifcfg-eth0,编辑网卡配置信息。

图片

输入以下内容:

图片

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

如果能ping通百度,  配置完成。

图片

我们使用Xshell测试一下虚拟机与主机之间的连接,查看是否能够进行信息交换。

图片

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

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

我们可以把模式设置成NAT模式模式。

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百度。

图片

图片

能 ping 通,用Xshell测试,发现不能连接。

图片

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

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

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地址要和主机相同。

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

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

相关文章

以太网帧格式及ARP协议简介

在以太网中,一个主机和另一个主机进行通信,必须要知道目的主机的MAC地址(物理地址),只要知道目的主机的IP地址,就可以通过ARP协议获取目的主机的MAC地址。 1、ARP协议简介 ARP(Address Resolut…

Unity项目从built-in升级到URP(包含早期版本和2023版本)

unity不同版本的升级URP的方式不一样,但是大体流程是相似的 首先是加载URP包 Windows -> package manager,在unity registry中找到Universal RP 2023版本: 更早的版本: 创建URP资源和渲染器​​ 有些版本在加载时会自动创建&#…

高级FPGA开发之基础协议PCIe

基础协议之PCIe部分 一、TLP包的包头 在PCIe的系统中,tlp包的包头的结构有许多部分是相似的,通过掌握这些常规的包头,能帮助理解在PCIe总线上各个设备之间如何进行数据的收发。 通用的字段 通用字段作用Fmt决定了包头是3DW还是3DW&#xff…

Python tkinter (14) —— 按键事件

本文主要介绍Python tkinter 几种按键事件及其示例。 目录 按键事件 响应所有按键事件 窗体绑定事件 响应特殊按键事件 指定按键事件 组合按键事件 总结 tkinter系列文章 python tkinter窗口简单实现 Python tkinter (1) —— Label标签 Python tkinter (2) —— But…

【Python】【完整代码】解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细)

目录 1.示例: 1.1 实现代码1:列数为常量 运行结果: 1.2 实现代码2:列数为变量 运行结果: 1.示例: 开发需求:读取Excel文件,统计第3列到第5列中每列的"False"字段占…

Linux第41步_移植ST公司uboot的第2步_修改网络驱动_USB OTG设备树_LCD驱动_以及编译和烧写测试

移植ST公司uboot的第1步,创建配置文件、设备树、修改电源管理和sdmmc节点后,还需要进一部修改,如:网络驱动、USB OTG设备树、LCD驱动,以及编译和烧写测试。 一、在虚拟机中,使用VSCode打开my_uboot工作区 …

日志报错 git -c dif.mnemonicprefix=false -c core.guotepath=false 解决方法

前言: 在进行下面操作前,必须确保,你是否安装了Git。 查看Git 在命令行窗口中输入`git --version`: 如果这个命令成功显示了Git的版本信息,这表明Git已经被安装。 1. 使用Sourcetree SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端…

Spring事件之注解@EventListener讲解

文章目录 1 注解EventListener1.1 示例Demo1.1.1 简单例子1.1.2 解耦1.1.3 Spring事件 1.2 深入EventListener1.2.1 debug调试1.2.2 问题一: Spring是怎么知道要去触发这个方法1.2.3 问题二:ApplicationListenerMethodAdapter1.2.4 问题三:Si…

Python算法题集_矩阵置零

Python算法题集_矩阵置零 题73:矩阵置零1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【三层循环】2) 改进版一【纵横计数器】3) 改进版二【原地算法】 4. 最优算法 本文为Python算法题集之一的代码示例 题73:矩阵置零…

python爬虫5

1.selenium交互 无页面浏览器速度更快 #配置好的自己不用管 from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionschrome_options Options()chrome_options.add_argument(‐‐headless)chrome_options.add_argument(‐‐disable‐gpu)# path…

vue不同环境配置不同打包命令

这个需求非常普遍,通常情况我们在开发的时候一般会有三个环境:开发环境、测试环境、生产环境,我们一步步来看下。 vue环境变量是什么? 指的是在不同地方(开发环境、测试环境、生产环境),变量就…

C语言经典面试题——翻转单词顺序VS左旋转字符串

目录 1. 翻转单词顺序1.1 题目描述1.2 解法1.3 完整代码 2. 左旋转字符串2.1 题目描述2.1.1 解法一:2.1.2 解法二:2.1.2.1 strcpy2.1.2.2 strcat2.1.2.3 完整代码 2.1.3 解法三: 1. 翻转单词顺序 1.1 题目描述 输入一个英文句子,…