VMware 为我们提供了三种网络工作模式,它们分别是:
Bridge(桥接模式)
NAT(网络地址转换模式)
Host-Only(仅主机模式)
打开 VMware 虚拟机,我们可以在选项栏「编辑」下的「虚拟网络编辑器」中看到 VMware0(桥接模式)、VMware1(仅主机模式)、VMware8(NAT模式),这些都有什么作用呢?
其实,我们看到的 VMware0 表示的是用于桥接模式下的虚拟交换机;VMware1 表示的是用于仅主机模式下的虚拟交换机;VMware8 表示的是用于 NAT 模式下的虚拟交换机。
同时,在主机上对应的有 VMware Network Adapter VMnet1 和 VMware Network Adapter VMnet8 两块虚拟网卡,它们分别作用于主机模式与 NAT 模式下。在「网络连接」中我们可以看到这两块虚拟网卡,如果将其卸载了,可以在 VMware 的「编辑」下的「虚拟网络编辑器」中点击「还原默认设置」,还原虚拟网卡。
可能有的小伙伴会有疑问,为什么在真机上没有 VMware Network Adapter VMnet0 虚拟网卡呢?接下来,我们一起来看看到底为什么。
什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样连接到这个交换机上,所以所有桥接下的网卡与网卡都是连通的,相互可以访问。在桥接模式下,虚拟机 ip 地址需要与主机在同一个网段,如果需要联网,则网关与 DNS 需要与主机网卡一致。其网络结构如下图所示:
接下来,我们来实际操作,如何设置桥接模式。
首先,安装完系统之后,在开启系统之前,点击「编辑虚拟机设置」来设置网卡模式。
点击「网络适配器」,选择「桥接模式」,然后「确定」。
在进入系统之前,我们先确认一下主机的 ip 地址、网关、DNS 等信息。
然后,进入系统编辑网卡配置文件,命令为
vim /etc/sysconfig/network-scripts/ifcfg-eth0
添加内容如下:
编辑完成,保存退出,然后重启虚拟机网卡,使用 ping 命令测试能否联网。
能 ping 通外网,证明桥接模式设置成功。
那么,主机与虚拟机之间的通信是否正常呢?我们用远程工具来测试下。
主机与虚拟机通信正常。
这就是桥接模式的设置步骤。桥接模式配置简单,但是如果网络环境是 ip 资源很缺少或对 ip 管理比较严格的地方,桥接模式就不太适用了。如果真是这种情况的话,我们该如何解决呢?接下来,我们来了解 VMware 的另一种网络模式:NAT模式。
刚刚我们说到,如果你的网络 ip 资源紧缺,但是又希望虚拟机能够联网,这时 NAT 模式是最好的选择。NAT 模式借助虚拟 NAT 设备和虚拟 DHCP 服务器,使得虚拟机可以联网。其网络结构如下图所示:
在 NAT 模式中,主机网卡直接与虚拟 NAT 设备相连,然后虚拟 NAT 设备与虚拟 DHCP 服务器一起连接虚拟交换机 VMware8 上,这样就实现了虚拟机联网。有人可能会觉得比较奇怪,为什么需要虚拟机网卡 VMware Network Adapter VMnet8 呢?原来我们的 VMware Network Adapter VMware8 虚拟网卡主要是为了实现主机与虚拟机之间的通信。在后面的设置中,我们可以加以验证。
首先,设置虚拟机中 NAT 模式的选项,打开 VMware,点击「编辑」下的 「虚拟网络编辑器」,设置 NAT 参数及 DHCP 参数。
将虚拟机的网络连接模式修改成 NAT 模式,点击「编辑虚拟机设置」。
点击「网络适配器」,选择「NAT模式」:
然后开机启动系统,编辑网卡配置文件,命令为
vim /etc/sysconfig/network-scripts/ifcfg-eth0
具体配置如下:
编辑完成,保存退出,然后重启虚拟机网卡,动态获取 ip 地址,使用 ping 命令测试是否能联网。
之前,我们说过 VMware Network Adapter VMnet8 虚拟网卡的作用,现在我们来测试一下。
如此看来,虚拟机能连通外网,确实不是通过 VMware Network Adapter VMnet8 虚拟网卡,那么我们为什么需要这块虚拟网卡呢?
之前我们就说其作用是主机与虚拟机之间的通信,接下来,我们用远程连接工具来测试一下。
然后,将 VMware Network Adapter VMnet8 启用之后,发现远程工具可以连上虚拟机了。
这就是 NAT 模式了,利用虚拟的 NAT 设备以及虚拟 DHCP 服务器来使虚拟机连接外网,而 VMware Network Adapter8 虚拟网卡用来与虚拟机通信。
Host-Only 模式起始就是 NAT 模式去除了虚拟 NAT 设备,然后使用 VMware Network Adapter VMware1 虚拟网卡连接 VMnet1 虚拟交换机来与虚拟机通信的,Host-Only 模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通信。其网络结构如下如所示:
通过上图,我们可以发现,如果要使得虚拟机能联网,我们可以将主机网卡共享给 VMware Network Adapter VMnet1 网卡,从而达到虚拟机联网的目的。接下来,我们就来测试一下。
首先设置「虚拟网络编辑器」,可以设置 DHCP 的起始范围。
设置虚拟机为 Host-Only 模式。
开机启动系统,然后设置网卡文件。
保存退出,然后重启网卡,利用远程工具测试能否与主机通信。
主机与虚拟机之间可以通信,现在设置虚拟机连通外网。
我们可以看到上图有一个提示,强制将 VMware Network Adapter VMnet1 的 ip 设置成 192.168.137.1,那么接下来,我们将要将虚拟机的 DHCP 的子网和起始地址进行修改。
重新配置网卡,将 VMware Network Adapter VMnet1 虚拟网卡作为虚拟机的路由。
重启网卡,然后通过远程测试工具测试能否连通外网以及主机通信。
测试结果证明,虚拟机可以成功连接外网。
以上就是关于 VMware 三种网络模式的工作原理及配置详解。