VMware Workstation三种网络模式简述

Hazel ·
更新时间:2024-09-20
· 745 次阅读

目录

一、使用桥接网络

桥接到无线网卡

未开机时选择

开机状态下更改

虚拟主机配置ip

配置ip地址

二、NAT模式

三、仅主机模式

四、远程连接

桥接模式的连接

NAT模式连接

五、其它配置

六、最后

VMware Workstation(下面简称vmware是一款非常不错的虚拟化软件,我们经常用于学习、测试等场景,跟它类似的软件还有VirtualBox,而且virtublbox似乎更轻量级些。

在使用vmware创建虚拟机的时候,会选择这台虚拟主机的一些基本配置,其中包括系统类型,cpu数量,内存大小等等一些参数,还有一个就是选择网络类型(也可以说是网络模式)。总共有三种网络类型(四种选择,有一个选项是不使用网络),“使用桥接网络、使用网络地址转换(NAT)、使用仅主机模式网络”,下面我们就来解释一下这几个网络到底是什么意思。

一、使用桥接网络

在刚创建虚拟机的时候,会让我们选择网络类型,如上图所示,在这里也可以随便选择一个,随后在虚拟机设置里面还可以进行再次更改,甚至在后期,系统安装完成之后,在开机状态下,都是可以随时更换虚拟主机的网络模式的。

桥接模式,其实就是把宿主机网卡当成交换机,如果我们的虚拟主机选择桥接模式的网络,就相当于用一根网线把虚拟主机连接到这个交换机上,宿主机也是连接到这个交换机上的,这个交换机又连接到我们家里的wifi,或者其他路由器等等这些网络上。

交换机的前身也叫网桥嘛,当然网桥没有交换机的功能这么强大,最初主要是用来归整网络布局的。

此时,我们的网络拓扑就相当于是“Internet(公网)——家庭路由器——交换机(我们电脑的网卡)——宿主机系统(就是我们本机的系统win7、win10什么的)/虚拟机系统”,宿主机系统和虚拟机系统是在同一个vlan下的“平级主机”(这是我自己瞎编的名词,意思就是连在同一个交换机上的两台主机),所以,虚拟机系统此时的ip应该和宿主机获取到的ip是同一个网段的

一般我们的电脑上都有无线网卡和有线网卡,或者有的朋友需要连接公司的vpn,还有一个vpn的虚拟网卡。这些都是在网络适配器里面可以看到的。所以,理论上桥接模式是可以桥接到这些网卡上的,桥街到不同的网卡上的效果都是不一样的,但是道理是类似的。这里我们只说桥街到无线网卡上的情况。

桥接到无线网卡

在vmware的虚拟网络编辑器中,可以设置虚拟机的各个网络模式的一些参数,比如dhcp的开启或关闭,(子网)网段,租约等等。

打开虚拟网络编辑器,选择vmnet0,将其网络类型设置为桥接模式,然后选择桥接到无线网卡(网卡的名字在宿主机的网络适配器中,右键属性可以看到)

此时,我的vmware软件的vmnet0这个网卡就是桥接模式了,而且是桥接到我的无线网卡上的。然后是虚拟主机选择vmnet0这个网络类型。虚拟主机选择网络类型可以在虚拟机未开机的时候选择,也可以在开机状态下更改。

未开机时选择

虚拟机未开机时,左侧的设备栏里面有当前虚拟主机的各个配置信息,可以在这里随时更改虚拟机的各项配置。这里我们更改网络类型,选择自定义网络的vmnet0网卡,因为上面设置了vmnet0为桥接模式嘛。

当然也可以直接选择“网络连接”里面的第一项“桥接模式”,但是这个桥接模式是自动桥接,而且使用时需要勾选“复制物理网络连接状态”,否则是不能正常使用的。一般情况下我不建议使用这个。

开机状态下更改

在虚拟机开机状态下,vmware的窗口右下角有一个小电脑的图标,右键,然后点击设置,即出现上图一样的设置窗口,就可以更改网络类型了。

虚拟主机配置ip

桥接模式的使用场景其实不单是为了让虚拟机能上网,NAT也能上外网,仅主机模式也有方法上网,所以桥接模式有一个应用场景我觉得还是很方便的,比如我们在虚拟机上搭建了一套测试环境,公司的开发人员或者其他同事需要访问我们的测试环境,此时服务器就可以使用桥接模式,这样同事和我在同一个局域网中,就可以访问我的服务了。NAT模式和仅主机模式要做到同一局域网中很方便的访问虚拟机服务器还是很麻烦的,NAT模式有一个端口映射,应该可以实现这个,仅主机模式如何实现我也不知道,这些我都没有去测试过,因为平时用得非常少,几乎没用到过,所以就忽略了,有兴趣的朋友可以自己尝试一下。

上面说到,虚拟主机在桥接模式下,是和宿主机系统在同一局域网环境的,所以虚拟主机的ip应该是和宿主机的ip在同一个网段,也就是说,此时虚拟主机的ip也是由我们的家庭路由器分配的。比如我的宿主机ip地址是192.168.1.10/24,那虚拟主机的ip也应该是192.168.1.0/24这个网段的某一个合法地址。

又因为我们的家庭路由器一般都开启dhcp功能的,就是说连接到它的设备,只要支持dhcp,都是可以自动获取到ip地址的,当然也可以手动配置。

如上图,我宿主机的无线网卡ip地址是192.168.1.8,且是dhcp自动获取到的,那么我将虚拟主机的ip获取方式设置成dhcp自动获取之后,虚拟主机的ip也应该是这个网段,而且是能够访问外网的。

配置ip地址

我使用的是centos7的系统。

编辑配置文件,更改ip获取方式为dhcp。

重启网络服务之后,可以看到虚拟主机的ip地址已经获取到,为192.168.1.12,而且ping百度也是可以通的。

如果需要配置静态ip的话,直接更改虚拟主机的配置文件,将dhcp改为static,然后添加对应的ip信息也是可以的。不是说我的路由器开启了dhcp,连接到这个路由器的客户端就不能使用静态地址了,当然也是可以的。

二、NAT模式

NAT,我们在网络工程里面的防火墙或者路由器配置中都有配置这个NAT,或者linux系统中iptables也有NAT,还有lvs负载均衡里也有NAT这种模式。这个NAT其实就是地址转换技术,vmware的NAT类型网络,可以把vmware看成是一个路由器,也可以理解为我们宿主机的网卡此时是一个路由器。所有使用这个网络类型的虚拟主机就是连接到这个路由器的终端,所以此时的网络拓扑应该是“Internet(公网)——家庭路由器(wifi)——vmware(路由器)——虚拟主机”,可以看到这个拓扑中有“两个路由器”,所以vmware这个路由器的dhcp分配的ip段就不能和我们家庭路由器分配的ip段相同了,可以在虚拟网络编辑器中设置这个ip段。

如上图,vmnet8作为NAT模式的网卡,我们先设置子网ip为192.168.30.0,掩码是24位,然后点击dhcp设置,可以设置起始和结束ip,以及租约时间。

这里要注意的是,NAT模式的虚拟网卡只能有一个,比如这里我们设置的是vmnet8,那就不能将其他虚拟网卡设置成NAT模式了,软件会提示错误。

设置完成之后,我们将虚拟主机的网卡类型改为自定义的vmnet8网卡,然后重启网络服务,查看ip以及测试是否能上外网。

可以看到,重启网络服务之后,ip变成了192.168.30.131,ping百度也是可以的。

三、仅主机模式

仅主机,从字面意思理解,就是将虚拟主机与外网隔离开,成一个独立的网络环境,就相当于我们有几台电脑,只是用网线连接到一个交换机上了,这个交换机没有与外网相连,是一个独立的局域网环境,当然,也叫只能是同时使用这个模式的虚拟主机之间才能够相互通信,它们不能与外网通信。当然也是有方法让它们可以访问外网的,我在网上看到其他的博文,说是可以可以将本机的网络共享到这个虚拟网卡上,选择了这个网络类型的虚拟主机就可以访问外网了,有兴趣的朋友可以试一试。

仅主机模式我们一般用来做测试用,模拟内网环境。比如做负载均衡集群的时候,调度器一般用双网卡,一个网卡用桥接模式,一个网卡用仅主机模式,桥接网卡模拟外网的客户端来访问,仅主机网卡模拟内网的服务器,通过调度器来响应客户端。

因为一般学习或者测试的场景,使用虚拟机的时候需要先解决一些依赖环境,此时用到yum比较多,所以对网络的依赖也比较大,一般都用NAT或者桥接模式。

能够理解了桥接模式和NAT模式的话,要理解这个仅主机模式应该就比较容易了,所以这里我也就不截图了。

四、远程连接

大多数生产环境中,对于服务器的维护,我们都是采用远程工具,对服务器进行远程连接,然后再做具体的操作的。不管是公司自建的机房,还是云服务器,都是如此。

远程连接的工具一般有xshell,putty,SecureCRT,winscp,vnc等等。。。。。。很多

如果连接云服务,那直接输入公网ip就可以了,这个很简单。要是连接公司内网的服务器,连接vpn之后,也可以很简单的进行远程连接。要是连接我们的虚拟机系统呢???

有朋友可能会疑问,我们的虚拟机系统命名是装在我自己电脑上的,这应该是本地的啊,怎么算是远程连接。其实严格的说,这确实是我们本地计算机上的一个应用,但是我们的目的是拿这个vmwaer来虚拟出一些系统,然后模拟一些真实环境,故,我们用xshell等这些工具去连接这些虚拟系统的时候,就称作是“远程连接”,主要是模拟。

桥接模式的连接

根据上面的描述,桥接模式其实是宿主机和虚拟主机在同一个局域网之类的,他们本来就可以相互访问的,所以这个直接用远程软件连接即可,不需要有什么其他配置。

在虚拟网络编辑器中,我设置了三个虚拟网卡为桥接模式,分别桥接到我的无线网卡、有线网卡、vpn虚拟网卡上,在宿主机的网络适配器中,是没有桥接网卡的虚拟网卡的。

通过xshell远程连接,直接在新建连接中输入虚拟机ip即可。

NAT模式连接

NAT模式,如上所述,vmware类似一个路由器的功能,宿主机以及使用这个模式的虚拟主机都是连接到这个路由器的终端,那么我们的宿主机需要和虚拟主机通信的话,就需要有正确的网络配置,才能通过路由,然后相互转发数据。

我们是将vmnet8作为NAT模式的网卡的,在虚拟网络编辑器中设置了dhcp的子网网段和租约等,还有一个设置是NAT设置,这个是设置NAT模式的网关地址的,也可以设置端口映射,即是把宿主机端口映射到虚拟机,有点类似docker的端口映射功能。

如下图,当我们设置了dhcp的子网的时候,这个网关其实是默认设置了的,当然也可以根据我们自己的喜好更改成其他的ip。

这个端口映射我没有测试,一个是因为平时用得少,另一个是因为……麻烦。。。

在我们宿主机的网络适配器中,有一个vmnet8这个虚拟网卡,我们打开它的配置信息看看ip地址是什么样的。

可以看到,ip地址是192.168.30.1,掩码是24位,网卡和DNS都没有配置。虽然这里的选项是使用静态ip的,但是其实不是我配置的,是vmware自己配置的,而且没有配置网关等信息,我们也可以自己加上,不加也没啥问题。

原因是因为这个vmnet8是在NAT模式下,宿主机连接虚拟主机的一个依赖网卡,相当于是vmware是一个路由器,虚拟主机现在连接到这个路由器的,我们的宿主机通过这个vmnet8连接到路由器的。所以有时候我们给虚拟主机用NAT模式之后,xshell连接不上虚拟主机,很大一部分原因就是因为这里的ip地址没对。只需要将这个地址改成和NAT模式的子网同网段的ip就行,因为NAT设置中默认的网关是192.168.30.2,所以这个ip地址vmware模式设置成192.168.30.1了,也可以改成其他未被占用的ip。

一切就绪之后,同样用xshell连接试试。

仅主机模式的连接和NAT模式就差不多了,大家应该可以自行脑补了。 五、其它配置 添加虚拟网卡

很多时候我们可能会用到多种网络类型,或者同一台虚拟主机上就有多个网卡,每个网卡连接不同的网络类型,加入vmware默认的网络类型不够,就需要我们自己手动添加。

在虚拟网络编辑器中,可以添加网络类型。

点击添加之后,vmware会自动添加一个虚拟网卡,默认的类型是仅主机模式,也可以在某个虚拟网卡上更改它的类型。仅主机可以有很多个,大概十几个吧,具体要看vmware的版本能支持多少个;NAT模式的只能有一个;桥接模式的要根据你的网卡数量,比如我有三个网卡,一个有线一个无线,一个vpn的,那就可以设置三个虚拟网卡为桥接模式 ,然后分别桥接到不同的网卡上。

当我添加了一个虚拟网卡vmnet4之后,点击应用,vmware经过一系列操作之后,会在宿主机的网络适配器中增添一个虚拟网卡vmnet4。

更改虚拟主机的mac地址

有的朋友在使用克隆虚拟机的时候可能会遇到虚拟主机的网络总是出现各种故障,有的也发现了配置文件中的mac地址和使用ifconfig或者ip a命令看到的mac地址不一样,将配置文件的mac地址更改了之后,重启虚拟机之后又变了。这种情况就很尴尬了是吧,所以建议大家一般不要用克隆的虚拟机,容易出各种奇怪的问题。当然这个情况是可以解决的,我忘记了……

有时候发现虚拟机的mac地址不正常,可以用vmware软件重新给它生成一个,然后把这个mac地址写入配置文件,再重启网络服务,一般也能解决一些问题。

在虚拟主机的网络设置中,选择高级,可以设置mac地址。

如上图,正常情况下这个两个地址是对应的,当你发现你的虚拟机网络总是有故障的时候,可以查看一下这里的地址是不是正常的,如果不对,可以将虚拟主机关机,然后生成一个,进行配置。

六、最后

为什么写这个东西呢,因为最近我收到很多小伙伴关于这个虚拟机网络的问题,在运维老鸟看来,这个很简单,但是对于新手朋友来说,他们还没踩过这些坑,并不知道这东西到底咋回事,装个虚拟机装半天之后还不能上网,立马口吐芬芳,没兴趣再玩下去了,这其实对他们的信心还是有点打击的,所以我整理了一下,希望能够对新手朋友有一些帮助,当然文中肯定也有说漏了或者不对的地方,也希望大佬们能够不吝赐教。

还有就是,对于新手朋友来说,多踩坑其实是好事,经验就是从坑里踩来的。


作者:你说菜就菜吧



Workstation VMware

需要 登录 后方可回复, 如果你还没有账号请 注册新账号