Vmware虚拟机三种网络模式详解

由于Linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有vmware workstations和virtual box等。


在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而VMware的网络连接问题是大家遇到最多问题之一。本期,我们就一起来探讨一下关于VMware Workstations网络连接的三种模式。


VMware为我们提供了三种网络工作模式:


  • Bridged(桥接模式)

  • NAT(网络地址转换模式)

  • Host-Only(仅主机模式)


在VMware虚拟机中,依次点击选项栏的“编辑”、“虚拟网络编辑器”,会显示如下图界面。

Vmware虚拟机三种网络模式详解_java

图中显示:


  • VMnet0表示的是用于桥接模式下的虚拟交换机;


  • VMnet1表示的是用于仅主机模式下的虚拟交换机;


  • VMnet8表示的是用于NAT模式下的虚拟交换机。

Vmware虚拟机三种网络模式详解_java_02

点击更改设置,以管理员身份运行

Vmware虚拟机三种网络模式详解_java_03

虚拟网络编辑器


但是,在我们的主机上对应的有VMware Network Adapter VMnet1VMware Network Adapter VMnet8两块虚拟网卡,它们分别作用于仅主机模式与NAT模式下。


在“网络连接”中我们可以看到这两块虚拟网卡,如果将这两块卸载了,可以在vmware的“编辑”下的“虚拟网络编辑器”中点击“还原默认设置”,可重新将虚拟网卡还原。

Vmware虚拟机三种网络模式详解_java_04

还原默认设置



01

Bridged(桥接模式)


当您将 Workstation Pro 安装到 Windows 或 Linux 主机系统时,系统会设置一个桥接模式网络 (VMnet0)。桥接模式网络连接通过使用主机系统上的网络适配器将虚拟机连接到网络。如果主机系统位于网络中,桥接模式网络连接通常是虚拟机访问该网络的最简单途径。


通过桥接模式网络连接,虚拟机中的虚拟网络适配器可连接到主机系统中的物理网络适配器。虚拟机可通过主机网络适配器连接到主机系统所用的 LAN。桥接模式网络连接支持有线和无线主机网络适配器。


桥接模式网络连接将虚拟机配置为在网络中具有唯一标识,与主机系统相分离,且与主机系统无关。虚拟机可完全参与到网络活动中。它能够访问网络中的其他计算机,也可以被网络中的其他计算机访问,就像是网络中的物理机那样。


其网络结构如下图所示:

桥接模式


点击“编辑虚拟机设置”来设置网卡模式。

设置网卡模式


点击“网络适配器”,选择“桥接模式”,然后“确定”

网络适配器


在进入系统之前,我们先确认一下主机的ip地址、网关、DNS等信息。

主机信息


然后,进入系统编辑网卡配置文件,以linux系统为例,命令为:

cd /etc/sysconfig/network-scripts/

vim ifcfg-eth0

Vmware虚拟机三种网络模式详解_java_05

编辑网卡配置文件


添加内容如下:

Vmware虚拟机三种网络模式详解_java_06

添加内容


编辑完成,保存退出,然后重启虚拟机网卡,使用ping命令ping外网ip,测试能否联网。

测试能否联网


如上图所示,ping 114.114.114.114 地址能ping通,证明桥接模式设置成功。


以上便是桥接模式的设置步骤,桥接模式配置简单,如果在我们的网络环境中IP地址资源相对紧缺或IT管理部门对IP地址使用管理比较严格的话,桥接模式就不太适用了。我们就只能使用虚拟机中另一种网络模式:NAT模式。


02

NAT(地址转换模式)


当您将 Workstation Pro 安装到 Windows 或 Linux 主机系统时,系统会设置一个 NAT 模式网络 (VMnet8)。在您使用新建虚拟机向导创建典型虚拟机时,该向导会将虚拟机配置为使用默认 NAT 模式网络。


使用 NAT 模式网络时,虚拟机在外部网络中不必具有自己的 IP 地址。主机系统上会建立单独的专用网络。在默认配置中,虚拟机会在此专用网络中通过 DHCP 服务器获取地址。


虚拟机和主机系统共享一个网络标识,此标识在外部网络中不可见。NAT 工作时会将虚拟机在专用网络中的 IP 地址转换为主机系统的 IP 地址。当虚拟机发送对网络资源的访问请求时,它会充当网络资源,就像请求来自主机系统一样。


主机系统在 NAT 网络上具有虚拟网络适配器。借助该适配器,主机系统可以与虚拟机相互通信。NAT 设备可在一个或多个虚拟机与外部网络之间传送网络数据,识别用于每个虚拟机的传入数据包,并将它们发送到正确的目的地。


其网络结构如下图所示:

NAT模式


当 IP 地址数量有限或主机系统通过非以太网适配器连接网络时,NAT 将非常有用。


使用 NAT 时,虚拟机可采用很多标准 TCP/IP 协议连接到外部网络中的其他计算机。例如,您可以用 HTTP 浏览 Web 站点,用 FTP 传输文件,用 Telnet 登录其他计算机。也可以使用主机系统上的令牌环适配器连接 TCP/IP 网络。NAT 支持以太网、DSL 和电话调制解调器。


在默认的 NAT 配置中,外部网络中的计算机无法发起对虚拟机的连接。例如,您无法将虚拟机用作 Web 服务器向外部网络中的计算机发送 Web 页面。该功能用于保护客户机操作系统,使之在用户安装安全软件前免受威胁。


NAT 配置具有以下额外功能和限制。


  • NAT 可导致一些性能损失。由于 NAT 要求每个在虚拟机中收发的数据包必须位于 NAT 网络,因此会造成无法避免的性能损失。


  • NAT 并不完全透明。尽管您可以手动配置 NAT 设备来建立服务器连接,但 NAT 通常不允许从网络外部发起连接。在实际环境中,这会导致一部分需要从服务器计算机发起连接的 TCP 和 UDP 协议无法自动运行或根本不运行。


  • NAT 能提供一些防火墙保护。标准 NAT 配置能提供基本的防火墙保护功能,因为 NAT 设备可以从专用 NAT 网络发起连接,但外部网络上的设备通常无法发起对专用 NAT 网络的连接。


首先,设置虚拟机中NAT模式的选项,打开vmware,点击“编辑”下的“虚拟网络编辑器”,依次选择设置“VMnet8 NAT模式”、NAT设置使用本地DHCP服务将IP地址分配给虚拟机、DHCP设置

虚拟网络编辑器


Vmware虚拟机三种网络模式详解_java_07

NAT设置


Vmware虚拟机三种网络模式详解_java_08

DHCP设置


将虚拟机的网络连接模式修改成NAT模式,点击“编辑虚拟机设置”。

Vmware虚拟机三种网络模式详解_java_09

编辑虚拟机设置


点击“网络适配器”,选择“NAT模式”

NAT模式


然后开机启动系统,编辑网卡配置文件,以Linux系统为例,命令为:

cd  /etc/sysconfig/network-scripts/

ls

vim ifcfg-eth0

编辑网卡配置文件


具体配置如下:(改为DHCP)

具体配置


编辑完成,保存退出,然后重启虚拟机网卡服务,动态获取IP地址,使用ping命令ping 114.114.114.114,测试能否联网。

测试能否联网



03

Host-Only(仅主机模式)


当您将 Workstation Pro 安装到 Windows 或 Linux 主机系统时,系统会设置一个仅主机模式网络 (VMnet1)。如果您需要设置独立的虚拟网络,仅主机模式网络连接将非常有用。在仅主机模式网络中,虚拟机和主机虚拟网络适配器均连接到专用以太网络。网络完全包含在主机系统内。


虚拟机和主机系统之间的网络连接由对主机操作系统可见的虚拟网络适配器提供。虚拟 DHCP 服务器可在仅主机模式网络中提供 IP 地址。


在默认配置中,仅主机模式网络中的虚拟机无法连接到 Internet。如果主机系统上安装了适当的路由或代理软件,您可以在主机系统的主机虚拟网络适配器和物理网络适配器之间建立连接,从而将虚拟机连接到令牌环网络或其他非以太网网络。


在 Windows 主机中,您可以结合使用仅主机模式网络连接和 Windows 的 Internet 连接共享功能,让虚拟机能够使用主机系统的拨号网络连接适配器或其他 Internet 连接。


其网络结构如下图所示:

Host-Only模式


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


第一步,还是点“编辑”设置“虚拟网络编辑器”,可以设置DHCP的起始范围。

虚拟网络编辑器


设置虚拟机为Host-Only模式。

设置Host-Only模式


开机启动系统,然后设置网卡文件(还是以Linux系统为例)。


设置网卡文件


保存退出,然后重启网络服务,ping 主机地址192.168.222.1。

Vmware虚拟机三种网络模式详解_java_10

主机网卡信息


Vmware虚拟机三种网络模式详解_java_11

测试与主机通信


与主机互通正常!


ping 外网地址114.114.114.114;

Vmware虚拟机三种网络模式详解_java_12

测试与外网通信


显示网络不可达,为什么呢?


其实上文已经提到,需要设置主机网卡,(也就是说主机模式就是NAT模式去掉的NAT功能),所以我们要通过设置主机网卡达到NAT功能,实现与外网通讯。


设置步骤如下:

1、点击主机网卡属性


Vmware虚拟机三种网络模式详解_java_13


2、依次点击”共享“选项卡,勾选如下复选框,并在家庭网络连接处选择VMware Network Adapter VMnet1,点击确定。



注意:点击确定之后,系统有时会提示VMware Network Adapter VMnet1地址被强制改成192.168.137.1,我试过几次,有时会提示,有时不提示,具体什么原因还没搞明白,但不管是提示还是不提示,VMware Network Adapter VMnet1网卡的地址确实是改成了192.168.137.1,所以,建议大家在这个步骤之后看一下VMware Network Adapter VMnet1网卡的地址。




那现在有人可能会说,既然开了DHCP,把VMware Network Adapter VMnet1网卡的地址改成自动获取不就可以了吗?


答案是不可以,VMware Network Adapter VMnet1网卡是和主机通讯的,相当于一个三层接口,所以无法从虚拟机的DHCP服务获取地址。


只能将虚拟机的DHCP服务地址池改为和VMware Network Adapter VMnet1网卡的地址相同网段来实现。


此时,我们要重新编辑一次虚拟机的网络编辑器

Vmware虚拟机三种网络模式详解_java_14

Vmware虚拟机三种网络模式详解_java_15

再回到Linux系统查看网卡地址

Vmware虚拟机三种网络模式详解_java_16

还是原来的192.168.222.0网段,重启网络服务,再次查看网卡地址已经自动获取为192.168.137.0段地址。


测试与主机和外网的通讯。

Vmware虚拟机三种网络模式详解_java_17


以上就是关于vmware三种网络模式的工作原理及配置详解。