VMware的三种网络模式
VMware的三种网络模式
以下文章来源于网络技术平台 ,作者弗克斯
混迹网络行业10余年,现为世界50强金融科技公司网络专家。分享计算机网络知识,让学习变得更有趣,让网络变得更简单。
VMware我用的比较少,最近在配置网络模式时,又忘了这三种模式的区别。时间能抹平记忆,确实是好记性不如烂笔头,只能再梳理一遍,并记录下来,供以后参考。
使用VMware创建虚拟机,配置虚拟机网络时,有三个选项,分别是桥接模式、NAT模式、仅主机模式。虽然有后缀进行了简单描述,但是真没看懂是什么意思,也不知道这三种模式如何使用。那就先去官网查查看,找到产品文档,打开网络连接章节,结果看得更晕,虽然写的是中文,但是很难理解,讲的也不连贯,怀疑这些文档是直接谷歌翻译过来的。
看来还是要自己动手,才能丰衣足食。VMware是通过虚拟网络,即虚拟交换机,来连接物理机和虚拟机,实现虚拟机的数据传输。安装完VMware后,我的电脑(也叫物理机、宿主机)多了三个虚拟网卡,查看路径:控制面板\网络和 Internet\网络连接,分别是VMnet0(即Host-Only)、VMnet1、VMnet8,对应的网络类型分别是桥接模式、主机模式、NAT模式,也就是三种不同的虚拟网络。当然,还可以在物理机上创建新的虚拟网卡,或修改现有虚拟网卡类型,进行灵活的配置。
桥接模式
先来看看桥接模式,官方解释:将虚拟机直接连接到外部网络,再看看VMware上的网络配置,查看路径是:编辑---虚拟网络编辑器---更改设置,就能看桥接模式的详细配置。
桥接模式,使用VMnet0连接到物理机的网络上。点击“自动设置”按钮,勾选对应的物理机网卡。我电脑现在是使用的无线网卡(即物理网卡)上网,就选了桥接无线网卡。
桥接模式的网络拓扑是这样的:
虚拟机连接VMnet0虚拟交换机,虚拟交换机和物理机的网卡桥接,共享物理网卡的网络,从而实现虚拟机访问外网。虚拟机和物理机在同一个网络内,虚拟机的IP地址也是由同一网段的DHCP服务器分配的。
VMnet0有什么用?
VMware0没啥用,桥接可以上网的物理网卡,虚拟机就可以直接上网。而VMnet0是为物理机创建的虚拟桥接网卡,桥接VMnet0,只能实现VMnet0虚拟网络内互通,无法访问外网,效果跟主机模式是一样的。
桥接模式下,复制物理网络连接状态是什么功能?
虚拟机选择桥接模式时,有一个可选项:复制物理网络连接状态。这个功能是在物理机网络切换时使用,比如物理网卡从有线网络切换到无线网络时,虚拟机能检测到网络变化,并进行重连接,切换到物理机的无线网络中。不开启这个功能,虚拟机是不会检测物理网卡状态变化的。
物理机ping不通虚拟机,虚拟机也ping不通物理机,是为什么?
网络配置正确的情况下,物理机或虚拟机的防火墙,默认是开启状态,会禁ping。关闭防火墙功能,即可互相ping通。
NAT模式
我们就先看看NAT模式,因为主机模式是缩减版的NAT模式。理解了NAT模式,也就理解了主机模式。NAT模式官方解释是:与虚拟机共享主机的IP地址。再看看NAT模式的详情配置,查看路径是:编辑---虚拟网络编辑器---更改设置。
NAT模式下,可以配置多个参数,比如NAT配置和DHCP配置。要配置参数,首先要知道网络拓扑是什么样的:
首先是物理机的VMnet8网卡,连接到了VMnet8虚拟交换机,DHCP服务器自动给虚拟机分配192.168.5.0/24网段的IP地址,实现物理机和虚拟机、虚拟机之间的网络互联,但是还不能访问外网。然后查看另外一条链路,是物理网卡和NAT设备相连,实现NAT功能。通过默认配置,可以发现VMnet8网络的网关地址是192.168.5.2,也就是NAT设备。通过NAT链路,192.168.5.0/24网段就能转换成192.168.0.100访问外网。
与桥接模式对比,NAT模式把虚拟网络和物理机网络进行了隔离,安全性提升了;NAT模式使用自定义网段,不消耗物理网络的IP地址资源,扩展性增强了;NAT模式下,需要做NAT映射,才能访问虚拟机,配置变复杂,不利于管理和运维。
主机模式
主机模式,官方解释是:在专用网络内连接虚拟机。这里的专用网络,指的是私有网络,也叫局域网。物理机通过VMnet1网卡和主机模式的虚拟网络连接起来,实现物理机和虚拟机的互联,但是无法访问外网。
主机模式的网络拓扑很简单,就是NAT模式减少了NAT设备。配置页面也可以发现,对比NAT模式,只是少了NAT配置项。
物理机上各个网卡之间的网络是相互隔离的,要想跟对应的网卡或网络通信时,必须要配置成同网段的地址才能通信。DHCP的配置,也可以根据实际情况,进行地址池配置修改,还可以关闭DHCP功能,使用静态配置。
以上内容,是结合官网资料,以及网络实验验证的结论。实验部分,很容易,页面点两下,数字改一下就行,就不在这里赘述了。如有兴趣,可以自己手动验证一下。
end