文章目录

  • 一、虚拟机网络通信的前提
  • 1.虚拟机硬件基础
  • 2.通信基础
  • 二、VM提供的虚拟网络组件
  • 1.虚拟网卡及虚拟交换机
  • 2.虚拟网桥
  • 3.虚拟DHCP服务器
  • 4.虚拟NAT服务器
  • 5.主机虚拟<网卡/网络适配器>
  • 三、VMware提供的三种通信方式
  • 1.桥接模式(VMnet0虚拟交换机)
  • 2.仅主机模式(VMnet1虚拟交换机)
  • 3.NAT模式(VMnet8虚拟交换机)
  • 四、总结


文章开始前先感谢我们的运维大佬,没有他就没有这篇文章

一、虚拟机网络通信的前提

1.虚拟机硬件基础

当安装虚拟机时,虚拟机软件(如VMware)会为操作系统(CentOS7)提供硬件的运行环境,如CPU、内存、网络以及磁盘等资源。

2.通信基础

我们知道,两台终端在同一个网段下通信使用交换机,两台终端不在同一个网段下通信使用路由器转发。主机与虚拟机的通信是组成的是一个局域网,因此最核心的点是VMware需要提供一个虚拟交换机,通过虚拟交换机让两者通信,具体提供的组件如下

二、VM提供的虚拟网络组件

1.虚拟网卡及虚拟交换机

(1)虚拟<网卡/网络适配器>,下图标识1,所指是一块虚拟网卡,虚拟网卡是在虚拟PC安装时自动安装的,可以点击下方继续添加

(2)虚拟交换机,下图标识2,我这里包含20台虚拟交换机,好像是在VMware11后自动安装了20台。这里选择哪个虚拟交换机(VMnet0~19),就是将这块网卡与之相连

两台虚拟机redis集群部署 两台虚拟机通信_linux

2.虚拟网桥

只在虚拟网卡连接到VMnet0(桥接)虚拟交换机上才应用虚拟网桥

3.虚拟DHCP服务器

下图是连接在VMnet1交换机上的虚拟DHCP服务器的DHCP设置,通过该设置可以设置局域网中ip起始地址、结束地址及子网掩码和广播地址等。

两台虚拟机redis集群部署 两台虚拟机通信_两台虚拟机redis集群部署_02

4.虚拟NAT服务器

上图是连接在VMnet8(NAT)虚拟交换机上的虚拟NAT服务器及其设置,通过NAT设置可以设置网关IP及DNS等

两台虚拟机redis集群部署 两台虚拟机通信_linux_03

5.主机虚拟<网卡/网络适配器>

两台虚拟机redis集群部署 两台虚拟机通信_网络_04

  • 1和2都是主机虚拟网卡
  • 1和VMnet1虚拟交换机相连
  • 2和VMnet8虚拟交换机相连
  • 3是主机网卡

综上所述

虚拟机提供了三种虚拟交换机和主机进行通信,分别是桥接模式(VMnet0虚拟交换机)、仅主机模式(VMnet1虚拟交换机)、NAT模式(VMnet8虚拟交换机),下面看看这三个模式下虚拟机时如何和主机是如何通信的

三、VMware提供的三种通信方式

1.桥接模式(VMnet0虚拟交换机)

两台虚拟机redis集群部署 两台虚拟机通信_交换机_05

如何获取ip?

桥接模式下,需要手动给虚拟机配置IP地址、子网掩码,并且需要和主机在同一网段

虚拟机和宿主机的通信

如上图所示,虚拟机通过虚拟网卡向外发送消息,由虚拟交换机进行转发到虚拟网桥到达主机网卡,最后由主机接收消息。

和宿主机外的网络通信

桥接模式下虚拟机就像是局域网中的一台独立主机,它可以访问网内任何一台机器,可以访问局域网下的路由器连接internet。

2.仅主机模式(VMnet1虚拟交换机)

两台虚拟机redis集群部署 两台虚拟机通信_交换机_06

如何获取ip?

从图中可以看出,仅主机模式和桥接模式多了个DHCP服务器,即如果虚拟机和主机都不指定ip情况下,两者一登录会向虚拟DHCP服务器请求ip地址。如下图是windows主机虚拟网卡配置ip图

两台虚拟机redis集群部署 两台虚拟机通信_局域网_07


如果为windows配置使用下面ip地址则windows为固定ip,该ip地址不会被回收,属于手动分配方式

虚拟机和宿主机的通信过程

和桥接模式一样,虚拟机通过虚拟网卡向外发送消息,由虚拟交换机进行转发到虚拟网桥到达主机网卡,最后由主机接收消息。

和宿主机外的网络通信

在仅主机模式下访问不了局域网其他主机和internet,因为没有net服务为它做转发

3.NAT模式(VMnet8虚拟交换机)

两台虚拟机redis集群部署 两台虚拟机通信_交换机_08

如何获取ip?

和仅主机模式一样

宿主机和虚拟机如何通信?

和仅主机模式一样

如何和宿主机外的网络通信

从图中可以看出NAT模式比仅主机模式多了一个NAT设备,当虚拟机需要和宿主机外的网络通信时,则可以通过虚拟NAT服务器进行转发

四、总结

VMware为centos系统提供了全面的网络通信环境,总结上述所说形成以下导图

两台虚拟机redis集群部署 两台虚拟机通信_交换机_09