vmware虚拟机网络设置方法(轻松版)_vmware设置网络-程序员宅基地

技术标签: 网络  vmware  

       引子

        我们在使用vmware虚拟机时,配置频度最高的往往是网络配置,最让人困惑的往往也是网络设置,虚拟机如何实现和宿主机的通信?虚拟机如何实现与宿主机之外的外部主机通信?同一个宿主机内的多个虚拟机之间如何通信?这些问题是否常常困惑着你。打开虚拟机镜像我们可以看到有桥接模式、NAT模式、仅主机模式等多种方式可以选择,如下图所示:

         选择这些模式后到底发生了什么,还需要什么配置才能和虚拟机通上信,很多人可能无法构建起对应的网络形态图像,概念也是是是而非。而网上的方法,也大多数循着不同模式来讲解网络构型,这种就模式论模式的方式,对于初学者来说通常看起来很简单,一上手就犯难,出了问题不知道如何解决。本文希望跳出就着模式讲模式的俗套,让初学者能够更加容易理解虚拟机网络设置的本质所在。

        在讲解虚拟机的网络前,我们回想下我们依靠物理机搭建网络时,我们是怎么办的呢?通常我们会准备一个交换机,用网线将所有物理机的网口和交换机的网口连接起来,在物理机的本地连接中将IP地址设置到同一个网段内,如果物理主机能够互相Ping通那说明网络就联通了。

        那么vmware虚拟机的网络是如何构建的呢?答案是:和在物理环境中搭建一个网络的原理是一模一样的,毫无差别

        只不过虚拟机是无法独立存在的,必须运行在宿主机上,逻辑上可以看作是和物理机一样的主机,如果能够将虚拟机和宿主机通过交换机连起来,理论上就可以进行通信了。道理很简单,然而,虚拟机它本质上只是一个在宿主机上运行的程序,看不见摸不着,我们怎么去连接呢?答案当然是:这些交换机和网线也完全可以用软件去虚拟,我们完全可以在宿主机中预先构建好一系列虚拟网络。

        那么虚拟机网络配置的本质到底是什么呢?下面就让我们带着问题去探索吧。

  1. 虚拟网络是怎么建起来的?虚拟网络是什么样子的?怎么编辑虚拟网络?

     这些虚拟的交换机和网线谁来提供呢,那当然是vmware软件,在宿主机上安装完vmware后,我们除了能够直观看到桌面上的这个图标:

        其实还包括两个宿主机开机自启动的服务:VMware NAT ServiceVMware DHCP Service如下图所示,正是这两个服务为我们构建了虚拟机与宿主机之间的基础网络环境。

         默认情况下,这两个服务会在宿主机中虚拟化出来的网络设施包括:

  • 三个虚拟交换机(VMnet0、VMnet1、VMnet8)
  • 两张虚拟网卡(VMware Network Adapter VMnet1和VMware Network Adapter VMnet8)
  • 一套虚拟NAT服务器+虚拟网关+虚拟DHCP服务器
  • 若干虚拟网线。

        其中两张虚拟网卡(VMware Network Adapter VMnet1和VMware Network Adapter VMnet8)我们还可以在宿主机的本地网络连接中查看到,如下图所示:

        这也说明,这两张网卡并不是为虚拟机使用的,而是给宿主机使用的,等于又为宿主机安装了两张虚拟网卡,通过这两张虚拟网卡建立宿主机与虚拟交换机之间的虚拟连接,打通宿主机与虚拟机的网络通路。

         那么这些虚拟交换机、虚拟网卡、物理网卡之间的连接关系是什么样的呢?其实,vmware已经为我们进行了周到的考虑,这三个虚拟交换机分别有不同的默认连接形式。

        VMnet0的默认连接形式

        若宿主机存在多张物理网卡,会选择其中一张物理网卡桥接到VMnet0上,至于选择哪一张去桥接,可以通过虚拟网络编辑器去设置(后文会详细讲)。这个桥接通路能够生效的前提是桥接的物理网卡对应的本地连接应该是有效状态的,所以,如果虚拟机和宿主机要利用Vmnet0通信,即使选择桥接的网卡没有和外部主机通信的需求,也要接上网线保证本地连接有效。默认情况下,选择为桥接模式的虚拟机会自动接入到Vmnet0虚拟

          VMnet1的默认连接形式

        直接将宿主机的虚拟网卡Vmware network adapter Vmnet1与Vmnet1进行连接。默认情况下,选择仅主机模式的虚拟机会自动接入Vmnet1虚拟交换机。

        VMnet8的默认连接形式

        这种情况是最复杂的,宿主机的虚拟网卡Vmware network adapter Vmnet8会自动接入Vmnet8外,还有虚拟的NAT服务器和网关、虚拟的DHCP设备接入Vmnet8,同时也会将宿主机所有的物理网卡与虚拟的NAT服务器和网关进行互联。这种网络构型虚拟机不占用宿主机的网络IP资源,同时又能和宿主机的外部主机进行通信;NAT服务器实质就是一个网络地址转换服务。默认情况下,选择NAT模式的虚拟机会自动接入Vmnet8。

        综上,我们在宿主机上安装完vmware软件后,其实就已经在宿主机上为我们构建了如下默认网络,等待虚拟机运行起来后选择接入。

         这个默认网络我们还能调整吗?答案当然是肯定的。Vmware为我们提供了“虚拟网络编辑器”去修改虚拟网络设置。运行虚拟网络编辑器的方法如下:

        虚拟网络编辑器主界面:

        我们设置的对象是虚拟网络交换机,所以首先需要选择VMnet0/ VMnet1/ VMnet8中的一个,再进行具体设置。

         针对Vmnet0(桥接),主要就是设置需要桥接到的物理网卡,如下图所示:

         针对Vmnet1(仅主机),主要设置VMware Network Adapter VMnet1虚拟网卡是否连接到虚拟交换机VMnet1上,还有就是DHCP设置。

         针对Vmnet8(NAT),主要配置NAT设置、DHCP设置、VMware Network Adapter VMnet8虚拟网卡是否连接到虚拟交换机VMnet8上,如下图所示:

         此外,还可以通过“创建网络”按钮,增加新的虚拟交换机,但这些交换机的类型只能在以上三种的范畴内。

         可以通过“恢复默认设置”,将虚拟网络一键恢复到默认状态。

 2. 怎么选择网络?

         选择网络发生在运行虚拟机前,我们对虚拟机的网络适配器的网络连接模式配置时。选择网络的本质就是为虚拟机在以上的虚拟网络中选择一个虚拟交换机接入,选择桥接模式、NAT模式或者仅主机模式后会将虚拟机自动接入到对应的虚拟交换机上,这种默认的对应关系是:

桥接模式

VMnet0

仅主机模式

VMnet1

NAT模式

VMnet8

        对虚拟机的网络适配器的网络连接模式配置的界面如下:

        如果我们在宿主机中同时运行三个虚拟机,分别设置到桥接模式、仅主机模式和NAT模式,那么这三个虚拟机运行起来后,宿主机内的网络构型变成了如下的形式:

3.怎么使用网络?

        使用网络实质就是在虚拟机已经接入了虚拟交换机,按需配置接入虚拟交换机的网卡的IP等参数,进行数据传输。

        类比于全部实物的情况就是,交换机已经加电,已经用网线将各个需要通信的网卡连接上了,只需要将各个网卡的参数配置到共同网段就可以通信了。例如,虚拟机设置为NAT模式下想和宿主机通信,那么用户需要做的就是:

        首先,在虚拟机内部,设置其网卡的IP,子网掩码,网关等信息,如下图所示:

         然后在宿主机上,找到虚拟网卡VMware Network Adapter VMnet8,将其IP地址配置到虚拟机IP地址同一个网段,即可进行通信。

结语

        总结起来,Vmware虚拟机网络的设置可以用“建网、选网、用网”三个阶段来概括,如下图所示。

 针对这三个阶段分别配置:

        建网阶段利用“虚拟网络编辑器”调整网络构型

        选网阶段对虚拟机的网络适配器网络连接模式配置

        用网阶段我们对用网络通信需求的网卡进行配置

  通过本文的讲解,希望可以帮助你建立虚拟网络的系统认识,实现按需配置使用网络的愿望。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45522766/article/details/121567693

智能推荐

Linux笔记-ubuntu16.04磁盘分区和挂载_ubuntu special device does not exist-程序员宅基地

文章浏览阅读4.1k次。1、检查磁盘和分区情况lsblk查看整体分区和磁盘情况fdisk -l能够查看到当前主机上已连接上的磁盘df -h能够查看到分区已经挂载的磁盘。2、磁盘分区、格式化:fdisk /dev/sdb根据帮助新建分区注意:最后输入w,保存更改并推出fdisk -l找到物理磁盘devvdb下创建的分区。mkfs.ext4 /dev/sdb2格式化上述找到的分区。3、挂载磁盘:mkdir /datamoun..._ubuntu special device does not exist

java的outputstream_java中outputStream与inputStream的相互转换-程序员宅基地

文章浏览阅读1.6k次。/*做一个功能验证,要用到inputStream与outputStream的转换,本以为很简单的东东搞了蛮久,从"程序员 闫帆"处取得一段代码*/package com.boco.test;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.InputStream;impor..._outputstream转inputstream

linux常用命令学习总结(超详细)_linux 命令 ps -ef|grep java-程序员宅基地

文章浏览阅读3.3w次,点赞109次,收藏1.1k次。作为一个程序员,我们在进行项目部署和运维时,经常会用到一些linux命令,可是这些命令老是忘记,每次用到的时候都要去谷歌百度,很是麻烦!这不,为了自己使用方便,对常见的linux命令进行了系统的总结,以便在用到时能够快速地找到相关命令,同时有需要的朋友也可以参考搜藏该篇文章!文章对讲到的每个命令都有详细的参数解释,并且给出一些常用例子,因此也非常适合用来学习!全文命令分为以下6个模块:1、..._linux 命令 ps -ef|grep java

Android 横屏显示的开机动画_android显示中设置完屏幕方向后重启时开机动画也是对应方向-程序员宅基地

文章浏览阅读131次。在 Android 开发中,开机动画是一个重要的用户体验元素。默认情况下,Android 设备的开机动画是竖屏显示的,但是有时候我们可能希望将开机动画改为横屏显示。本文将详细介绍如何实现 Android 横屏显示的开机动画,并提供相应的源代码。首先,我们需要创建一个自定义的开机动画布局。希望本文对你理解如何实现 Android 横屏显示的开机动画有所帮助。通过自定义布局和设置活动的显示方向,你可以轻松地创建适合自己应用的开机动画。现在,你可以编译和运行应用程序,即可看到横屏显示的开机动画效果。_android显示中设置完屏幕方向后重启时开机动画也是对应方向

【264】 Windows 批处理(CMD)-程序员宅基地

文章浏览阅读227次。参考:Windows Commands 微软官方帮助参考:DOS命令自学小窍门:巧用help命令参考:bat批处理的注释语句  打开文件夹:start D:\abc打开D盘abc文件夹  打开exe文件:D:\Windows-Linux\putty.exeputty.exe【在同一个文件夹内】  输出空行:echo.参考:批处理 ..._windows gp批处理

数据分析和数据开发的区别_de 数据开发-程序员宅基地

文章浏览阅读4.6k次,点赞5次,收藏10次。数据分析(DA)和数据开发/数据仓库工程师(DE)究竟有什么区别,工作职责和工作内容上的差异是什么?一般都知道,数仓偏开发,主要是技术层面的工作,负责ETL、数仓、分布式计算、大数据运维等。数分偏业务,通过分析数据、建模、搭建指标体系,找出规律,给业务赋能。数仓同学日常负责一个业务整个数据体系的构建,也就是传说中的“数据仓库”。这个仓库中既有最底层的明细数据表,也有一层一层做过计算和组合的聚合数据表。数据分析师在日常工作中,经常会使用各种聚合表做一些简单的可视化或更复杂的分析,来监控业务的核心指标或者_de 数据开发

随便推点

kotlin函数的默认参数_kotlin默认参数-程序员宅基地

文章浏览阅读3.1k次。文章目录默认参数这里不介绍最基本的函数声明和调用默认参数和Java有着明显的不同官方文档函数参数可以有默认值,当省略相应的参数时使用默认值。与其他语言相比,这可以减少重载数量例子:可以看到,假设都有默认值,省略的是后面的默认参数,想省略前面的默认参数,需要指定参数。目前可以先理解为,省略默认参数的时候,也是从第一个参数开始匹配..._kotlin默认参数

Excel从txt导入文本并将空行删除_excel怎么转成txt文本空行-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏4次。Excel从txt导入文本并将空行删除前言一、从txt文件导入文本内容方法:例子:二、把导入的文本内容中的空行删除方法:例子总结前言经常会有数据保存成文本格式,但在数据处理的时候又习惯使用Excel进行处理。下面记录了如何导入文本数据以及,将不必要的空行删除。一、从txt文件导入文本内容方法:“数据”选项卡–>“获取数据”下拉菜单–>“自文件”–>“从文本/CSV”,然后选择需要导入的txt文件即可。从txt文件导入文本,txt中每一行会分别对应导入到Excel表格的各行中。_excel怎么转成txt文本空行

element-ui滚动组件关闭下拉菜单的问题总结_element下拉框禁止下拉-程序员宅基地

文章浏览阅读2.6k次。element-ui滚动组件关闭下拉菜单的问题一、问题说明目前前端项目中有一个现象是在一个弹窗或者页面中,滚动鼠标内容跟随滚动,打开的下拉菜单也跟随滚动,超出部分显示很不合理,测试同事提过相关问题的bug单,但因为时间问题只是修改了单个页面,这个问题属于全局性问题,所以这次把整改的思路整理一下:先看图二:描述问题由于下拉菜单包含(s-select-dropdown、s-time-pane1、s-picker-pane1、下拉菜单、自定义的下拉等),含有默认层级z-index,高出s-dialog的_element下拉框禁止下拉

人工智能AI:TensorFlow Keras PyTorch MXNet PaddlePaddle 深度学习实战 part2_python深度学习:基于tensorflow和keras的计算机视觉项目实战-程序员宅基地

文章浏览阅读1k次。日萌社大数据、AI、python、C++学习资源链接:https://pan.baidu.com/s/1rXzERBEhVr08mEeKln8oqQ提取码:0t54链接:https://pan.baidu.com/s/1BkGfhuejd2JZznvJHaRiow提取码:am12tensorflow 2.0 深度学习(第一部分 part1)tensorflow 2.0 深度学习(第一部分 part2)tensorflow 2.0 深度学习(第一部分 part3)t..._python深度学习:基于tensorflow和keras的计算机视觉项目实战

java案例RSA分段加密解密,签名验签,公钥加密私钥解密,私钥加密公钥解密,解密乱码怎么解决_java rsa 公钥加密字符串私钥无法解密-程序员宅基地

文章浏览阅读1.3k次。java案例RSA分段加密解密,签名验签,公钥加密私钥解密,私钥加密公钥解密,解密乱码怎么解决_java rsa 公钥加密字符串私钥无法解密

常见的 Kerberos 错误消息_kadmin: communication failure with server while in-程序员宅基地

文章浏览阅读1.1w次,点赞2次,收藏10次。http://docs.oracle.com/cd/E19253-01/819-7061/trouble-6/index.html列出了 Kerberos 命令、Kerberos 守护进程、PAM 框架、GSS 接口、NFS 服务和 Kerberos 库的常见错误消息All authentication systems disabled; connection refused _kadmin: communication failure with server while initializing kadmin interfac

推荐文章

热门文章

相关标签