大家好,我是黄药师,从今天开始坚持写博客.
简介:
VM(VMware Workstation简称VM,后面都将用VM代替阐述)是一款功能强大的虚拟化软件.VM支持在
单一的桌面上同时运行多款不同的操作系统,能够模拟完整的网络环境,支持pxe功能.实时快照,等等多种强
大的功能.能够测试软件和部署新的业务测试.同时节约了很多资源.节约了企业成本.所以对于广大的互联
网从业者是不可多得的好工具.
本文中作者使用的软件以及操作系统版本:
VM 11.1.2版本
win10 专业版
由于本文只讨论VM的网络连接的三种模式,所以对于虚拟机怎么虚拟CPU,内存,等等硬件,不做赘述.
一,首先思考的问题是:
在现实生活中,多台机器是怎么实现互联通信的呢?需要什么设备呢?在虚拟机中是怎么实现呢?
答:在现实生活中,我们将多台机器实现互联通信的一般都是通过将多台主含有物理网卡的主机连接到交换
机组建局域网,或者当在多个不同网段的局域网可以通过路由来实现多台主机的连接和通信.
简而言之,主要的设备有:含有物理网卡设备的主机,交换机,网线,路由器.
在虚拟机软件中也同样需要这些设备,毕竟这些都是必备的东西,但是和现实中的方法不同的是,虚拟机软
件是通过软件的形式来模拟这些物理设备的.
二,那么我们来看看被模拟出来以及需要被用到的真实的设备在有哪些呢?下图分晓.
网卡设备:
1,主机host的物理以及虚拟网卡设备,如下图
如图一:
标识一:是VM软件虚拟出来的一个vmnet1虚拟网卡设备 (注意:vmnet1代表是虚拟网卡设备,
标识二:是VM软件虚拟出来的一个vmnet8虚拟网卡设备 (而VMnet1和VMnet8代表的是虚拟
标识三:是host主机本身自带一个真实的物理物理网卡设备 (交换机,区别在于VM是否大写
2,主机guest的虚拟网卡设备,如下图
简介:
标识一:是VM软件虚拟出来的guest主机的虚拟网卡设备.
标识二:可以通过添加按钮给guest主机添加额外的虚拟网卡设
备.
(注,此功能很好用尤其在练习heartbeat监控心跳的时候,可以
单独虚拟一个网卡设备来监控彼此的心跳信息)
3,VM软件虚拟出来的交换机有哪些呢?如下图:
标识三: 哇,是不是很惊讶?VM虚拟机软件给我虚拟了
10个交换机(VMnet0~9).这下是不怕不够用了!!!!!! 哈
哈………..
以上的VM虚拟机软件和host主机帮我们解决了,设备的问题,但是光有设备就可以了吗??????显然是
不够的,把网络设备都相互连接上但是没有ip地址还是不可以解决的彼此互连通信的问题.那么VM软件
是怎么解决的呢.那就是通过通过模拟dhcp服务,来分配给guest主机ip地址子网掩码,等等网络参数来
解决的.还面对一个问题那就是怎么解决内部guest主机链接互联网的问题,这里VM软件是通过模拟nat
服务的方式来解决的.
三,那么dhcp服务,和nat服务怎么查看呢,见下图
1,dhcp分别为在VMnet1(交换机)和VMnet8(交换机)提供在不同网段的dhcp服务
这是VMnet1上的图示:
标识一:如图标识一可以得知,guest的虚拟网卡设备连接到VMnet1(交换机)上
标识二:如图标识二可以得知,通过使用本地dhcp服务给guest分配ip地址
注意(此网段使用的ip段是192.168.23.x/24)
这是VMnet8上的如图所示
标识一:如图标识二可以得知,guest的虚拟网卡设备连接到VMnet8(交换机)上
标识二:如图标识三可以得知,通过使用本地dhcp服务给guest分配ip地址
注意(此网段使用的ip段是192.168.10.x/24)
从上可以知道虚拟机软件是如何通过dhcp本地服务给guest分配ip地址的.
四,我们要解决的是怎么解决guest链接外部互联网的,一种是通过桥接还有一种就是
通过nat服务来进行地址转换的.桥接模式以及其他两模式怎么实现接下来会慢慢揭晓
,首先我们看看dhcp服务和nat服务怎么来的是?
答:其实就是安装VM安装的服务,至于怎么查看,如下图
win+r 接着 输入services.msc
就可以找到这两个服务了.就是通过两个服务提供dhcp和NAT解决方案的.
好了以上介绍完了VM虚拟机软件是如何通过模拟虚拟设备以及服务来解决问题的,好了
食材已经准备好了,准备下厨炒菜.说说三种网络链接的模式了.
五,三种模式详解过程.(桥接模式,仅主机模式,nat模式)
上图是拓扑图
guest主机的网卡连接虚拟交换机上,然后通过虚拟网桥和host主机上真实物理网卡进行桥接,原理大概是这样的.把VM软件通过把网卡设置成混杂模式来达到监控多个ip地址的能力.这样的话,guest主机是通过主机网卡设备链接到外网的,这样桥接模式下的guest主机和host主机享受同样的地位.如果家里有路由器,那么路由器就像对待真实主机一样对待guest主机,通过路由器的dhcp功能直接给guest分配一个ip地址.如果有多个虚拟机同理,他们的地位都是等同地位的.相当于真实的主机.
上图是拓扑图
虚拟机内部有个多个guest主机.他们都是通过dhcp服务分别都分配得到一个ip地址.由于内部guest分配
的ip地址都是同一个网段的,所以彼此都是可以连接通信的,但是面对一个问题,host主机真实物理网卡的ip
地址不再一个网段怎么和内部guest主机进行通信呢,host主机通过VM软件虚拟的vmnet网卡来链接
VMnet1交换机上来进行与其他内部guest主机的通信.可以通过win+r 输入cmd然后再输入ipconfig 就
可以查看到vmnet1虚拟网卡设备的ip和VMnet1下dhcp分配的ip地址段在同一网段.但是这样仅仅可以
host和内部的guest主机们进行通信无法连接外网,因为没有路由设备.
如下图
上图是拓扑图
从上图可以看出,该拓扑图和上面的host-only拓扑图很相似,只不过是多了一个NAT服务连接外部网络,其实这里vmnet8虚拟网卡只是通过连接VMnet8的虚拟交换机来与内部的guest主机进行通信而已,即使把这个虚拟网卡禁用掉,内部的guest主机依旧可以上网的,所以vmnet8虚拟网卡和内部guest的网卡也是相对独立的.vmnet8 仅仅是host连接内部VMnet8网段的桥梁而已,并不为VMnet8虚拟交换机的网段提供路由功能.处于虚拟NAT网络下的Guest是使用虚拟的NAT服务器连接的Internet的。
总结,通过以上的学习可以知道,内部的guest要想与外部的网络进行通信,无非就是需要,dhcp服务,nat服务,虚
拟交换机.但是对于nat模式是怎么运作的原理没有进行详细的介绍.但是在接下来的网络服务继续进行总结.