虚拟机三种网络模式的配置及原理分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟机三种网络模式的配置及原理分析相关的知识,希望对你有一定的参考价值。

参考技术A 我们首先说一下VMware的几个虚拟设备

  VMnet0:用于虚拟桥接网络下的虚拟交换机

  VMnet1:用于虚拟 Host -Only网络下的虚拟交换机

  VMnet8:用于虚拟NAT网络下的虚拟交换机

  VMware Network Adepter VMnet1(以下下简称Adepter VMnet1):Host用于与Host-Only虚拟网络进行通信的虚拟网卡

  VMware Network Adepter VMnet8(以下下简称Adepter VMnet8):Host用于与NAT虚拟网络进行通信的虚拟网卡

一、NAT模式(最easy的)

  1、虚拟机通过Vmnet8虚拟交换机链接宿主机的Adapter Vmnet8虚拟网卡上,实现与宿主机双向通信;

  2、VMnet8提供虚拟NAT服务和虚拟DHCP服务,虚拟NAT设备与宿主机真实网卡直接相连,实现访问互联网;

  3、此模式下未用到Vmnet1虚拟网卡

二、HOST-ONLY模式(研究一晚上,困)

  1、虚拟机通过Vmnet1交换机链接宿主机Adapter Vmnet1虚拟网卡上,实现宿主机到虚拟机的单项通信(虚拟机此时访问不了宿主机);

  2、Vmnet1提供虚拟DHCP服务;

  3、要想实现虚拟机到宿主机的单项通信和让虚拟机访问外网,需要做:

        1、将宿主机真实网卡适配器开启网络共享模式(ICS);

        2、将Adapter Vmnet1虚拟网卡地址设置为192.168.x.1(固定格式的,一般无需手动更改,通常第1步设置完后,该虚拟网卡的地址会自动填                   写,通常会填写192.168.137.1,但经过测试也可自己修改第三位数字,实际就是虚拟路由。但是,为什么第四位不能设置成别的数 字? 怎                 么强制改都不行,很奇妙。)

        3、将Vmnet1虚拟交换机的IP端子网设为192.168.x.0,此时可以关闭DHCP功能,因为,虚拟机要配置静态ip,不关闭也无所谓;

        4、将虚拟机的网卡地址改为静态的,(我的网卡名叫ens33),具体配置如下:

               TYPE="Ethernet"

               BOOTPROTO=static

               DEFROUTE="yes"

               PEERDNS="yes"

               PEERROUTES="yes"

                IPV4_FAILURE_FATAL="no"

                IPV6INIT="yes"

                IPV6_AUTOCONF="yes"

                IPV6_DEFROUTE="yes"

                IPV6_PEERDNS="yes"

                IPV6_PEERROUTES="yes"

                IPV6_FAILURE_FATAL="no"

                IPV6_ADDR_GEN_MODE="stable-privacy"

                NAME="ens33"

                UUID="c7d8063c-0dc0-4e94-b229-568f0421e678"

                DEVICE="ens33"

                 ONBOOT="yes"

                 IPADDR="192.168.137.128"

                 NETMASK=255.255.255.0

                 GATEWAY=192.168.137.1

                 DNS1=8.8.8.8

                 DNS2=144.144.144.144

          5、重启下network服务,大功告成;那么问题来了:楼主在反复测试的时候发现当把 Adapter Vmnet1虚拟网卡地址设置为192.168.1.1时                      (即与宿主机真实路由地址相同时)会发生奇怪的现象就是,虚拟机可以访问网络但是不能访问宿主机,很诡异,不懂其中原理。

三、Bridged模式(再加一上午)

  1、纯手动配置ip

  2、将虚拟机ip设置成与宿主机真实网卡ip同一网段,并且相同网段和dns网址,具体配置如下:

    TYPE="Ethernet"

    BOOTPROTO=static

    DEFROUTE="yes"

    PEERDNS="yes"

    PEERROUTES="yes"

    IPV4_FAILURE_FATAL="no"

    IPV6INIT="yes"

    IPV6_AUTOCONF="yes"

    IPV6_DEFROUTE="yes"

    IPV6_PEERDNS="yes"

    IPV6_PEERROUTES="yes"

    IPV6_FAILURE_FATAL="no"

    IPV6_ADDR_GEN_MODE="stable-privacy"

    NAME="ens33"

    UUID="c7d8063c-0dc0-4e94-b229-568f0421e678"

    DEVICE="ens33"

    ONBOOT="yes"

    IPADDR="192.168.1.128"

    NETMASK=255.255.255.0

    GATEWAY=192.168.1.1

    DNS1=192.168.1.1

  3、重启下network服务,就可实现宿主机与虚拟机的双向通信,宿主机可访问互联网;

四、最后问题,如何让虚拟机提供互联网服务?即,使任何互联网上的主机可以访问局域网内的虚拟机

  1、设置自己的路由器,将转发地址和端口映射到虚拟机的ip和端口上即可

  2、上述方法没有经过验证,不知道三种网络模式是否都支持

五、总结原理,其实经过一番折腾后不难发现:

  1、NAT模式和Host-Only模式在局域网内互联的方式是相同的:

     NAT的链路:宿主机 <----->Adapter Vmnet8虚拟网卡 <----->Vmnet8虚拟交换机<----->虚拟机虚拟网卡(ens33)<----->虚拟机

     Host-Only的链路:宿主机<----->Adapter Vmnet1虚拟网卡 <----->Vmnet1虚拟交换机<----->虚拟机虚拟网卡(ens33)<----->虚拟机

2、在连接互联网方面,NAT模式通过虚拟的NAT服务实现上网,Host-Only模式通过宿主机的真实网卡的网络共享上网

      NAT的链路:互联网<----->物理路由器<----->NAT虚拟服务<----->VMnet8虚拟交换机<----->虚拟机虚拟网卡(ens33)<----->虚拟机

      Host-Only的链路:互联网<----->物理路由器<----->Adapter Vmnet1虚拟网卡共享宿主机真实网卡的网络<----->VMnet1虚拟交换机<----->                                         虚拟机虚拟网卡(ens33)<----->虚拟机

3、至于Bridged模式实际可理解为与宿主机同一局域网内的设备

      类似于把宿主机虚拟为一个交换机,所有桥接设置的虚拟机通过VMnet0虚拟交换机连接到这个交换机的一个接口上,宿主机也同样插在这个         交换机当中。

      链路:物理路由器<----->VMnet0虚拟交换机与宿主机真实网卡桥接<----->虚拟机虚拟网卡(ens33)<----->虚拟机

(以上属于个人分析,有待考证,如有错误,还望指正)

vmware虚拟机三种网络连接方式

目录

 

正文

一、概述

vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)NAT(网络地址转换模式)Host-Only(仅主机模式)

打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。

技术图片

同时,在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,它们分别作用于仅主机模式与NAT模式下。在“网络连接”中我们可以看到这两块虚拟网卡,如果将这两块卸载了,可以在vmware的“编辑”下的“虚拟网络编辑器”中点击“还原默认设置”,可重新将虚拟网卡还原。

技术图片

为什么在真机上没有VMware Network Adapter VMnet0虚拟网卡呢?那么接下来,我们就一起来看一下这是为什么。

二、Bridged(桥接模式)

什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。其网络结构如下图所示:

技术图片

 

 

三、NAT(地址转换模式)

如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:

技术图片

 

 在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。在之后的设置步骤中,我们可以加以验证。

首先,设置虚拟机中NAT模式的选项,打开vmware,点击“编辑”下的“虚拟网络编辑器”,设置NAT参数及DHCP参数。

技术图片

 

 技术图片

 

 技术图片

 

 技术图片

四、Host-Only(仅主机模式)

Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:

技术图片

 

 通过上图,我们可以发现,如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的。接下来,我们就来测试一下。

首先设置“虚拟网络编辑器”,可以设置DHCP的起始范围。

技术图片

 

 技术图片

 

 主机与虚拟机之间可以通信,现在设置虚拟机联通外网。

技术图片

 

 我们可以看到上图有一个提示,强制将VMware Network Adapter VMnet1的ip设置成192.168.137.1,那么接下来,我们就要将虚拟机的DHCP的子网和起始地址进行修改,点击“虚拟网络编辑器”

技术图片

 

 重新配置网卡,将VMware Network Adapter VMnet1虚拟网卡作为虚拟机的路由。

技术图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

技术图片

以上是关于虚拟机三种网络模式的配置及原理分析的主要内容,如果未能解决你的问题,请参考以下文章

VMware虚拟机三种网络模式

虚拟机三种网络配置总结

VMwara虚拟机三种网络模式

虚拟机三种网络模式

虚拟机三种网络模式的选择和讲解。

vmware虚拟机三种网络连接方式