VMware虚拟机三种网络模式:桥接模式,NAT模式,仅主机模式

目录

一、桥接模式

二、NAT模式

三、仅主机模式


虚拟系统:CentOS 6.8

在VMware虚拟网网络编辑器中我们可以看到有三个虚拟交换机分别对应不同的网络模式:

 

VMnet0:用于桥接模式下的虚拟交换机

VMnet1:用于仅主机模式下的虚拟交换机

VMnet8:用于NAT模式下的虚拟交换机

对应地,在Windows主机上对应虚拟了VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,至于为什么没有VMnot0的虚拟网卡,且看下文。 

可见物理机其实有3个IP地址:192.168.1.107,192.168.80.1,192.168.22.1。通过这3个ip地址都可以访问到主机。

 

 

一、桥接模式

桥接模式就是将主机网卡与虚拟的网卡利用虚拟网桥进行通信。类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机IP地址需要与主机在同一网段,如果需要联网,则网关与DNS需要与主机网卡一致。 

所以,桥接模式下的所有虚拟机都是和主机是在同一网段的,可以把它们看成是"平等"的关系,这就会带来一些麻烦,比如192.168.1段下只有254个主机地址,所以桥接模式下虚拟机和物理的总数不能超过这个数字!

配置方法

1、在系统的虚拟机设置中将网络连接模式选择为桥接模式:

2、因为桥接模式虚拟机与宿主机在同一网段下,我们先查看下宿主机的网络信息:

3、接下来在虚拟机中配置网卡(/etc/sysconfig/network-scripts/ifcfg-etho0文件):

注意,网关与DNS需要与主机相同,因为他们在同一网段下~

4、重启网络服务,测试:

 

二、NAT模式

上面说过,桥接模式可能会导致一定的ip资源紧缺,这时候NAT模式时最佳选择。

先看网络结构图:

在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。VMware Network Adapter VMnet8网卡是为了实现主机与虚拟机之间的通信。

可见NAT模式下主机更像是虚拟机们的"路由器",通过VMnet8虚拟网卡为虚拟机分发地址。所以虚拟机和主机不再同一网段下,可以理解为主机是虚拟机的"上级",这也就是为什么桥接模式没有VMnet0这个虚拟网卡,因为桥接模式下的虚拟机和主机是"平等"的,共用同一个路由器呀。

配置方法

1、同上

2、因为主机是虚拟机的"路由器",所以我们需要去查看"路由器"给VMnet8这个交换机分配了哪一网段:

3、同上,修改网卡配置:

4、重启网络服务,测试:

测试主机能否ping通虚拟机:

也就是说,VMnet8网卡的作用仅仅是主机与虚拟机之间的通信,访问外网是不通过VMnet8网卡的

我们可以来做个测试

先把Windows系统中的VMnet8网卡禁用了

再来测试一下

主机ping不通虚拟机

虚拟机可以ping通外网,不过也可以ping通192.168.1.107

而肯定ping不通192.168.80.1

我的理解是这样的,这时候主机和虚拟机就像一个路由器下的两个"主机",但虚拟机的ip是由与主机相连的VMnet8网卡决定的;虚拟机ping主机时,通过共同的路由器可以找到主机;而主机ping虚拟机时,如果有两个物理机,他们给虚拟机分发的网段是相同的,所以对应的虚拟机的ip是可能相同,而此时禁用了VMnet8,一个主机就无法找到对应的虚拟机了(可能与另一台主机下的虚拟机ip相同,此时虚拟机的ip无法再整个网络结构中唯一标识了)。

所以啊,NAT模式下的虚拟机时通过真实主机的ip访问外网

 

三、仅主机模式

仅主机模式可有看成是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。

如果你懂了NAT模式,那理解仅主机模式起来就很简单了~

网络结构图:

 

配置方法

类似前面两种模式

查看VMnet1

所以肯定ping不同外网

有趣的是

主机能ping通虚拟机,而虚拟机不能ping通192.168.1.107

所以我们可以推测,虚拟机ping主机很可能是通过NAT模式下的NAT虚拟设备,而仅主机模式没有这个设备;而主机ping虚拟机是通过VMnet1网卡。而禁用NAT虚拟设备有些困难,我们也不太好验证。

虚拟机自然可以ping通192.168.224.1


网络结构图来自于:https://www.linuxidc.com/Linux/2016-09/135521p3.htm

你可能感兴趣的:(Linux)