> 文档中心 > VMware三种网络模式详解

VMware三种网络模式详解


一、简介

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

查看网络连接
在这里插入图片描述
打开vmware虚拟机,我们可以在选项栏的“编辑”->“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式)
其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机VMnet1表示的是用于仅主机模式(host-only)下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。
在这里插入图片描述

二、Bridged(桥接模式)

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

接下来,我们就来实际操作,如何设置桥接模式?

1)首先,安装完系统之后,在开启系统之前,右击所选虚拟机-》”设置“-》”虚拟设置”来设置网卡模式。
在这里插入图片描述
2) 桥接网卡“编辑”-》“虚拟网络编辑器”-》“更改设置”,设置完后【确认】就行了

【注意】这里需要注意一点的就是虚拟交换机必须桥接到本机电脑使用的网卡,不要选自动,要不然很容易桥接到其它网卡上导致上不了网。还有就是配置虚拟机网卡时虚拟机的ip跟本机同一个网段,网关一样。

在这里插入图片描述
3)查看本机ip,dhcp,dns和网关ipconfig /all
在这里插入图片描述
4)配置ifcfg-ens33网卡配置文件

TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"DEVICE="ens33"ONBOOT="yes"IPV6_PRIVACY="no"HWADDR=00:0C:29:8D:D0:91IPADDR=192.168.0.100NETMASK=255.255.255.0GATEWAY=192.168.0.1DNS1=8.8.8.8

HWADDR地址查找,选择虚拟机右击选择【设置】
在这里插入图片描述
5)重启网卡使配置文件生效
Centos7:

systemctl restart network

Centos8:

nmcli c reload /etc/sysconfig/network-scripts/ifcfg-ens33 # 我验证不行nmcli networking off && nmcli networking on # 验证可行,其它命令自行验证ifdown ens33 && ifup ens33 # 验证可行,其它命令自行验证nmcli con down ens33 && nmcli con up ens33systemctl restart NetworkManager

6)最后在虚拟机中配置好ip和dns,ping验证是否能联网
VMware三种网络模式详解
桥接模式配置简单,但如果你的网络环境是ip资源很缺少或对ip管理比较严格的话,那桥接模式就不太适用了。如果真是这种情况的话,我们该如何解决呢?接下来,我们就来认识vmware的另一种网络模式:NAT模式。

三、NAT(地址转换模式)

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

实际操作

1)首先,安装完系统之后,在开启系统之前,右击所选虚拟机-》”设置“-》”虚拟设置”来设置网卡模式。
在这里插入图片描述
2)查看/设置虚拟网卡适配器的ip,DHCP,网关;【编辑】-》【虚拟网络编辑器】-》【更改设置】
在这里插入图片描述
3)NAT设置
在这里插入图片描述
4)DHCP设置
在这里插入图片描述
5)网卡ifcfg-ens33配置如下

TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"DEVICE="ens33"ONBOOT="yes"IPV6_PRIVACY="no"HWADDR=00:0C:29:8D:D0:91IPADDR=192.168.182.150NETMASK=255.255.255.0GATEWAY=192.168.182.2DNS1=8.8.8.8

HWADDR地址也一样像上面那样查找
6)重启网卡使配置文件生效
Centos7:

systemctl restart network

Centos8:

nmcli c reload /etc/sysconfig/network-scripts/ifcfg-ens33 # 我验证不行nmcli networking off && nmcli networking on # 验证可行,其它命令自行验证ifdown ens33 && ifup ens33 # 验证可行,其它命令自行验证nmcli con down ens33 && nmcli con up ens33systemctl restart NetworkManager

7)设置虚拟机网卡配置,ping验证。
在这里插入图片描述
那么,这就是NAT模式,利用虚拟的NAT设备以及虚拟DHCP服务器来使虚拟机连接外网,而VMware Network Adapter VMnet8虚拟网卡是用来与虚拟机通信的。

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

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

实际操作

1)首先,安装完系统之后,在开启系统之前,右击所选虚拟机-》”设置“-》”虚拟设置”来设置网卡模式。
在这里插入图片描述
2)查看/设置虚拟网卡适配器的ip,DHCP;【编辑】-》【虚拟网络编辑器】-》【更改设置】
在这里插入图片描述
3)DHCP设置
在这里插入图片描述
3)设置虚拟机的网卡配置,本机ping虚拟机验证。在虚拟机里面ping外网不同。
在这里插入图片描述
在本机ping虚拟机,能ping通
在这里插入图片描述
4)host-only模式如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的。接下来,我们就来测试一下。

  • 查看ip,可以看到LAN适配器被设置成使用的ip地址:192.168.137.1在这里插入图片描述
  • 那么接下来,我们就要将虚拟机的DHCP的子网和起始地址进行修改,点击【编辑】-》【虚拟网络编辑器】-》【更改设置】,修改DHCP和子网ip。
    在这里插入图片描述
  • 网卡配置ifcfg-ens33如下
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="9218c235-231d-41ea-80ef-537473ec07e6"DEVICE="ens33"ONBOOT="yes"IPV6_PRIVACY="no"IPADDR=192.168.137.229NETMASK=255.255.255.0GATEWAY=192.168.137.1DNS1=8.8.8.8
  • 重启网卡是配置文件生效
    Centos7:
systemctl restart network

Centos8:

nmcli c reload /etc/sysconfig/network-scripts/ifcfg-ens33 # 我验证不行nmcli networking off && nmcli networking on # 验证可行,其它命令自行验证ifdown ens33 && ifup ens33 # 验证可行,其它命令自行验证nmcli con down ens33 && nmcli con up ens33systemctl restart NetworkManager
  • ping外网验证OK。
    在这里插入图片描述