0. 序VMware Workstation(以下简称VMware)是一款非常强大的虚拟机软件,每个爱折腾的开发者的电脑里面或多或少都有几个虚拟机。在使用虚拟机的过程中,我发现很多同学都和我一样,被VMware的网络配置困扰着,比如说:
为了解决这些困惑,我决定打破砂锅问到底,在网上查阅了大量资料之后,总算把VMware的网络配置理顺了,在这篇文章中,我将向大家分享我所理解的VMware网络配置。 1. VMware的网络组件网络组件是构成网络的基础元素,生活中常见的网络组件有路由器、交换机、集线器、网线等。那么VMware为我们提供了哪些基础的网络连接组件呢?从 Vmware的官方文档 可以得知:VMware 中的虚拟网络连接组件包括虚拟交换机、虚拟网络适配器、虚拟 DHCP 服务器和 NAT 设备。如果大家对这几种设备对应的物理网络不了解,建议先去补补计算机网络的基础知识再来看接下来的内容。 1.1 虚拟交换机与物理交换机相似,虚拟交换机也能将网络连接组件连接在一起。虚拟交换机又称为虚拟网络,其名称为 VMnet0、VMnet1、VMnet2,以此类推。有少量虚拟交换机会默认映射到特定网络。Workstation Pro 可根据需要创建虚拟交换机,最多能在 Windows 主机系统上创建 20 个虚拟交换机,在 Linux 主机系统上创建 255 个虚拟交换机。您可以将任意数量的虚拟网络设备连接到 Windows 主机系统的虚拟交换机,最多将 32 个虚拟网络设备连接到 Linux 主机系统的虚拟交换机。 1.2 虚拟网络适配器网络适配器,就是我们平时说的网卡,只不过它是 VMware 虚拟出来的,但是功能却是不折不扣,在使用新建虚拟机向导创建新的虚拟机时,向导会为虚拟机创建一个虚拟网络适配器。虚拟网络适配器在客户机操作系统中显示为 AMD PCNET PCI 适配器或 Intel Pro/1000 MT 服务器适配器。在 Windows Vista、Windows 7 和 Windows 8 客户机操作系统中显示为 Intel Pro/1000 MT 服务器适配器。 1.3 虚拟网桥设备与物理网桥相似,虚拟网桥用于连接两个物理网络,VMware 提供的VMware Bridge Protocol 实现了这一功能,当我们选择桥接模式时,该虚拟网桥为虚拟网络适配器提供了访问物理网络的能力。 1.4 虚拟 DHCP 服务器虚拟动态主机配置协议 (DHCP) 服务器可在未桥接到外部网络的配置中向虚拟机提供 IP 地址。例如,虚拟 DHCP 服务器可在仅主机模式和 NAT 配置中向虚拟机分配 IP 地址。 1.5 虚拟 NAT 设备NAT(Network Address Translation)设备相信大家都很熟悉,我们平时用的路由器基本上都是一个NAT设备,用于为局域网内的计算机提供外网访问能力。VMware NAT 配置中的 NAT 设备可在一个或多个虚拟机以及外部网络之间传送网络数据,识别用于每个虚拟机的传入数据包,并将它们发送到正确的目的地。 2. 桥接模式2.1 桥接模式的原理图 2-1 桥接模式拓扑图 上图是我参照 VMware 官方文档绘制的桥接模式下的 VMware 网络拓扑图。 桥接,所谓的'桥',就是指图 2-1 中的网桥设备,亦即 VMware 提供的虚拟网桥设备。此图展示的是只有一台虚拟机桥接的情况:虚拟机的虚拟网络适配器连接到虚拟网络交换机上,然后虚拟网络交换机通过网桥设备连接到宿主机的网络适配器,这样,虚拟机就可以通过宿主机的网络适配器收发网络数据包了。 2.2 桥接模式的配置从图 2-1 可以看出,桥接模式使用到的网络组件有
接下来,我们就以这几个网络组件为线索,看看配置桥接模式的网络的具体步骤,以及每一个步骤的意义。 2.2.1 实验环境
2.2.2 选择桥接网络2.2.2.1 使用默认桥接网络使用默认桥接网络的步骤如下:
可看到如图 2-2 所示的窗口: 图 2-2 默认桥接模式配置 注意,网络适配器可能有多个,因为你有可能为虚拟机分配了多个虚拟网络适配器。我们选中一个网络适配器,可以看到当前网络连接模式为 NAT,再从窗口右侧栏选择桥接模式,复制物理网络连接状态是自己情况而定,桥接模式默认使用的虚拟交换机是 VMnet0。最后点击确定,即可应用生效。 2.2.2.2 自定义桥接网络自定义桥接网络的步骤如下:
可看到如图 2-3 所示的窗口: 图 2-3 自定义桥接网络 如 1.1 节所述,虚拟交换机一共有 20 个,所以在这里的下拉框中一共可以看到 20 个可供选择的虚拟网络,注意,这 20 个网络并不都是桥接模式,默认情况下只有 VMnet0 是桥接模式,VMnet1 是仅主机模式,VMnet8 是 NAT 模式,其余网络默认都是仅主机模式。所以,在未经过任何配置的情况下,你如果想使用桥接网络,只能选 VMnet0。当然,这些都是可以改变的,对于每一个网络的模式我们都可以进行编辑。这个在后面的章节中,我将展开来讲解。 2.2.3 选择桥接网卡我做实验用的台式机有两张网卡,一张有线网卡,一张无线网卡,确定了将我们的虚拟机连接到哪个虚拟网络(虚拟交换机)之后,我们接下来的任务就是要确定将虚拟交换机连接到宿主机的哪一张网卡上。
图 2-3 编辑桥接网络 这里有几个值得注意的地方:
图 2-4 开启VMware桥接协议 2.2.4 添加桥接网络到目前为止,我们使用的桥接网络都是 VMnet0, 在这一节中,我将演示如何新增一个桥接网络。 2.2.4.1 添加虚拟网络
图 2-5 添加虚拟网络 2.2.4.2 设置虚拟网络为桥接模式选中上一小节添加的虚拟网络(我选的VMnet19), 我们可以看到下方的 VMnet 信息指明它目前的模式为仅主机模式,现在我们只需选中桥接模式,接下来的设置步骤就与 2.2.3 节一样了。 2.2.5 设置虚拟机IP
3. NAT 模式3.1 NAT 模式的原理图 3-1 NAT 模式拓扑图
注:NAT设备的原理和作用此处不作赘述,有兴趣的朋友可参考维基百科:网络地址转换(NAT) 以上的原理描述比较抽象,下面,我通过具体的配置步骤让大家更好地认识 NAT 模式。 3.2 NAT 模式的配置从图 3-1 可以看出,NAT 模式涉及到的网络组件比较多,有:
下面,我依然以这些网络组件为线索来为大家讲解 NAT 模式的配置。 3.2.1 实验环境
3.2.2 选择 NAT 网络3.2.2.1 使用默认 NAT 网络使用默认桥接网络的步骤如下:
3.2.2.2 使用自定义 NAT 网络步骤同 2.2.2.2,如果之前没有经过任何配置,此处只有 VMnet8 是 NAT 模式。 3.2.3 编辑 NAT 网络
图 3-2 编辑 NAT 网络 请注意途中VMnet信息设置栏中的几个红框标记的地方(为方便引用,对每个红框进行了编号),这里涉及到 NAT 模式的一些细节设置,下面我将详细介绍一下:
图 3-3 NAT设置窗口
图 3-4 主机虚拟适配器连接到 VMnet8 图 3-5 主机虚拟适配器未连接到 VMnet8
图 3-6 VMware DHCP Service
3.2.4 配置结果首先,将虚拟机的 IP 和 DNS 获取方式设置为自动获取,然后运行 图 3-7 ipconfig /all 可以看到,图中的各项参数与上文所描述的完全吻合。最后,我们来看看实验最后的 NAT网络拓扑结构: 图 3-8 实验NAT网络拓扑 4. 仅主机模式直接上图! 图 4-1 仅主机模式拓扑图 不难看出,仅主机模式其实基本上和 NAT 模式一样,只是少了一个虚拟 NAT 设备,所以,仅主机模式的虚拟机只能和同一网络的虚拟以及宿主机通信,却不能访问外部网络(就是图左下角的那一坨云),具体配置步骤参照 NAT 模式即可。 5. 总结VMware 提供了强大的网络虚拟功能,几乎能模拟所有的网络实验环境,本文较透彻地分析了三种网络接入模式,其中肯定有错误或不准确的地方,希望大家多多批评指正。 |
|