VMWare的host-only/bridged/NAT连接图文介绍

1 VMware简介

  VMWare虚拟机软件是一个“虚拟PC”软件,它使我们可以在一台机器上同时运行二个或更多Windows、Linux等系统。

如果我们需要使用多个系统的话,传统的方式有两种:

1.使用多台设备:如一台安装windows系统,一台安装Linux系统
//缺点:购买多台设备成本较高
2.使用多启动系统:安装windows/Linux双系统
//缺点:同一时刻只能使用一个系统,切换操作系统时需要重启设备

VMWare则可以让我们在同一时刻使用多个系统。下图是VMWare的简单结构图,学习VMWare我们首先要清楚两个概念:①host系统:我们电脑上的系统,如我的电脑安装的Win10系统;②guest系统:虚拟机上安装的系统,如下图中的Win7和Centos7

  VMWare软件安装和在VMWare上添加虚拟机在网上有很多优秀的文章,我们以在Win10上运行Centos7为例

VMware下载https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html

安装步骤可以参考:https://www.jianshu.com/p/ce08cdbc4ddb?utm_source=tuicool&utm_medium=referral

centos iso文件下载https://www.centos.org/download/

VMWare15的秘钥

YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8
UG5J2-0ME12-M89WY-NPWXX-WQH88
UA5DR-2ZD4H-089FY-6YQ5T-YPRX6
GA590-86Y05-4806Y-X4PEE-ZV8E0
ZF582-0NW5N-H8D2P-0XZEE-Z22VA
YA18K-0WY8P-H85DY-L4NZG-X7RAD

  我们安装了两台Centos7的虚拟机安装完成后效果如下:

2 VMWare三种虚拟网络连接

2.1 host-only(仅主机模式)

  host-only模式下不需要hostl联网,下图是host-only模式的基本结构,VMWare会给Host(我们的电脑)生成了一个虚拟网卡,IP为192.168.196.1(不同的电脑生成的IP不一定相同),同时为guest(两台虚拟机)分别生成了虚拟网卡,虚拟机的IP我们可以自己添加。在host-only模式下:guest1和guest2,所有guest和host中的虚拟网卡,host的虚拟网卡和host的真正IP都可以ping通。

  我们也可以设置两个host-only网络,guest1和guest2连接host-onlyA网络,guest3和guest4连接host-onlyB网络,这时guest1和guest2可以ping通,但是host-onlyA网络上的guest不能ping通host-onlyB网络上的guest,如guest1不能ping通guest3,通过这种方式我们可以将多个guest分割在不同的网络下。

配置host-only虚拟网络步骤

第一步:配置虚拟机连接方式

第二步:编辑虚拟网络

  打开网络连接后就看到了VMnet默认生成的两块虚拟网卡,VMnet1是Host-only模式的虚拟网卡,(VMnet8用于NAT模式,下文会介绍):

控制台输入 ipconfig /all ,查看VMnet1的IP如下

我们的电脑可以ping通VMWare生成的虚拟网卡的:

第三步:配置虚拟机网卡

  虚拟机的IP要和主机上的虚拟网卡(VMnet1,本文的IP为192.168.196.1)在同一频段,打开Centos虚拟机,查看IP(ens33网卡 中的inet就是虚拟机的IP),初始状态没有IP(如果有IP的话通过 ip addr del dev ens33 192.xxx.xxx.xxx/24 删除IP)。

查看ip,如果有默认IP删除默认IP:

      给虚拟机添加IP:

至此,host-only模式的配置就完成了,我们可以通过 ping 192.168.196.1 ping通host上的虚拟网卡。我们可以重复以上步骤添加一个新的host-only连接的虚拟机(IP为192.168.196.8),这两台虚拟机也是可以ping通的。

2.2 bridged(桥接模式)

       桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,虚拟机ip地址需要与主机在同一个网段,相互可以访问而不干扰。在桥接模式下,各个虚拟机、虚拟机和主机、虚拟机和同一网络环境下的其他设备都是可以相互访问的。

配置bridged虚拟网络步骤

第一步:编辑虚拟网络

  打开【虚拟网络编辑器】,选择桥接的外部网络(可以选择一个,也可以选择多个外部网络),这里选择的是本机连接的无线网络。

第二步:配置虚拟机连接方式

   打开虚拟机中【设置】,选择网卡配置为桥接模式。

第三步:配置虚拟机网卡

    虚拟机的IP要和主机在同一频段上,通过命令 ipconfig 查看主机IP为192.168.11.240

       我们在Centos中通过 ip addr add dev ens33 192.168.11.7/24 给虚拟机添加IP:

  然后测试与Host和其他连接同一无线网络的设备的连接,都可以ping通。重复以上步骤添加一台新的虚拟机,虚拟机相互也是可以ping通的。通过Bridged模式连接,只需要host可以连接Internet,不需要配置其他项虚拟机就可以上网。

  桥接模式配置简单,但如果你的网络环境的IP资源不足,那桥接模式就不太适用了。面对这个问题,我们该如何解决呢?接下来的NAT模式可以很好地解决IP资源不足的问题。

2.3 NAT模式

       在介绍VMWare的NAT模式前,我们需要先简单了解下NAT(Network Address Translation,网络地址转换)。我们都知道IP4中的IP地址是有限的,但是世界上的联网设备却有亿万台,每台设备分配一个公网IP是不现实的,那么到底是怎么分配IP让亿万台设备都联网呢?

  这就要用到NAT网关,大部分情况下电脑的IP都是私网IP,如下图某公司的ip有192.168.11.240,192.168.11.250,192.168.11.260,这些都是私网IP,现在我们通过电脑1访问百度:首先电脑1对www.baidu.com进行DNS解析获取百度服务器的IP(104.193.88.123),NAT网关记录我们的私网IP,然后通过公网IP123.7.1.1去访问外网,找到百度的服务器,获取资源后再通过NAT网关找到请求资源的设备IP(192.168.11.240),将资源返回给电脑1。电脑1,2,3都是通过NAT网关使用同一个公网IP(123.7.1.1)请求外网资源的。现实中上述过程要复杂的多,这里的重点不是介绍NAT原理,所以只做一个浅显的介绍。

  现在我们看一下VMWare的NAT模式,丑陋的示意图如下:我们可以看到虚拟机和主机的连接有两种方式:①通过VMNet8虚拟网卡连接,这种连接主要是为了让Host和虚拟机通信 ②通过虚拟网关连接到host的真实网卡,这种连接主要是为了让虚拟机能够连接外网,所有的虚拟机连接外网都是通过Host进行的,这里Host的IP对虚拟机来说就是"公网IP"。

现在我们对VMWare的NAT模式有了一个基本的认识,那么怎么去配置NAT模式呢?

NAT模式配置

第一步:配置虚拟网络 这里就采用VMWare默认生成的VMnet8

 第二步:配置虚拟网络 

第三步:配置虚拟机网卡

  Bridged模式配置网卡只需要添加IP即可,NAT模式中配置虚拟机网卡稍微复杂一点:要配置网卡的IP、DNS和网关等,在Centos命令框中执行以下命令:

//设置虚拟机IP
ip addr add dev ens33 192.168.70.7/24
//设置虚拟机默认网关
ip route add default via 192.168.70.2
//设置DNS
    //第一步:编辑NetworkManager.conf
vim /etc/NetworkManager/NetworkManager.conf
在Main下添加内容 【dns=none】
    //第二步:指定DNS
vi /etc/resolv.conf
添加内容 【nameserver 192.168.70.2

  完成以上步骤,NAT配置就完成了,测试如下:

3 简单总结

  VMWare是一款非常适合用来学习Linux和网络通信的软件,配置也十分简单。个人觉得如果我们仅仅是为了实现主机-虚拟机的通信,可以选择Host-only模式;如果我们想让网络环境中的其他设备直接访问虚拟机最好使用Bridged模式,其他情况选用官方推荐的NAT模式即可。

 

posted @ 2019-02-22 13:25  捞月亮的猴子  阅读(1569)  评论(0编辑  收藏  举报