admin管理员组

文章数量:1598073

  之前在学习linux的时候,为了速度,对于这三种网络模式很是模糊,直接采用桥接模式,也不用怎么配置,网络直接就能通了。由于最近在学习大数据,配置虚拟机网络是必不可少的,在配置的过程也是踩了许多坑,在使用虚拟机软件的时候,,vmware的网络连接问题应该也是大家遇到最多问题之一。写这篇博客也是因为不断的踩坑,然后在解决的过程中,对自己的理解也做一个总结。接下来,我们就一起来探讨一下关于vmware workstations网络连接的三种模式。

  • vmware为我们提供了四种网络连接方式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)以及自定义模式。

  不知道大家有没有听说过虚拟网卡,虚拟网卡主要是建立远程计算机间的局域网。虚拟网卡链接技术就是VPN。比如说你可以和别的地方的几台机子,通过建立虚拟HUB 实现VPN client的链接,这样就算是在这几台远程计算机间建立的局域网,也能和你的机子一起实现局域网的功能。
  可以打开“控制面板”里的“网络连接”,可以看到电脑上有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡。这两块的作用便是对应于接下来我们探讨的网络配置相关。


打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。

  说到这里,善于思考的同学肯定有疑问,为什么在真机上没有VMware Network Adapter VMnet0虚拟网卡呢?那么接下来,我们就一起来看一下这是为什么。

一、Bridged(桥接模式)

1.1 桥接模式原理剖析
  1. 原理:
       Bridge 桥"就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,同时在"桥"上,运行着程序,让局域网A中的所有数据包原封不动的流入B,反之亦然。这样,局域网A和B就无缝的在链路层连接起来了,在桥接时,VMWare网卡和物理网卡应该处于同一IP网段 ,当然要保证两个局域网没有冲突的IP.
      VMWare 的桥也是同样的道理,将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致
  2. 联网方式:
      这一种联网方式最简单,在局域网内,你的主机是怎么联网的,你在虚拟机里就怎么连网。把虚拟机看成局域网内的另一台电脑就行了! 其网络结构如下图所示:

1.2 如何设置桥接模式
1.2.1 基本配置

  接下来,我们就来实际操作一波,首先,安装完系统之后,在开启系统之前,点击“编辑虚拟机设置”来设置网卡模式。

  在桥接模式下,如果电脑主机安装有多块网卡的话,应该手动指定要桥接的那块网卡。点击VMware软件的“编辑”,选“虚拟网络编辑器”,点击VMnet0,在“ 已桥接到” 的地方指定那块用来上网的网卡。如果只有一块上网的网卡,可以不用修改,默认自动连接这块网卡。

  在进入系统之前,我们先确认一下主机的ip地址、网关、DNS等信息。打开cmd ,输入ipconfig -all 即可查看。

1.2.2 虚拟机Ip设置

修改IP地址,使用ipconfig命令不能永久修改
命令:vi /etc/sysconfig/network-scripts/ifcfg-网卡名
网卡名进入/etc/sysconfig/network-scripts/目录查看即可,CentOS7以后不再默认为eth0。

添加内容如下:

1.2.3 网络连接测试和故障排查

编辑完成后,保存退出,然后重启网络服务:service network restart 使用ping命令ping外网ip,测试能否联网。


能ping通外网ip。现在再试试ping下主机:

注:如果ping不通,是因为主机的防火墙,我们尝试把主机的防火墙关掉就可以ping通了

  由于linux会在桥接模式下自动分配Ip地址,所以如果在linux中设置网卡的时候发现,不管设置了什么ip地址的值,结果在使用ifconfig命令查看的时候都显示一个ip地址,无法进行修改。这可能是因为你设置了BOOTPROTO=dhcp,DHCP服务器提供了为客户端自动分配IP地址的功能。所以这个时候你不管在网卡中配置了什么IP地址都是DHCP服务器自动为你的Linux配置的IP地址。所以你可以设置BOOTPROTO=static或者BOOTPROTO=none,这样再通过查看地址就是你设置的地址了.
  这就是桥接模式的设置步骤,相信大家应该学会了如何去设置桥接模式了。桥接模式配置简单,但如果你的网络环境是ip资源很缺少对ip管理比较严格的话,那桥接模式就不太适用了。那么遇到这种情况,我们该如何解决呢?接下来,我们就来认识vmware的另一种网络模式:NAT模式。

二、网络地址转换模式(NAT)

2.1 NAT模式原理剖析

NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:

  1. 原理:
      NAT 是 Network address translate的简称。NAT技术应用在internet网关和路由器上,比如192.168.0.123这个地址要访问internet,它的数据包就要通过一个网关或者路由器,而网关或者路由器拥有一个能访问internet的ip地址,这样的网关和路由器就要在收发数据包时,对数据包的IP协议层数据进行更改(即 NAT),以使私有网段的主机能够顺利访问internet。此技术解决了IP地址稀缺的问题。同样的私有IP可以网关NAT上网。
       VMWare的NAT上网也是同样的道理,它在主机和虚拟机之间用软件伪造出一块网卡,这块网卡和虚拟机的ip处于一个地址段。同时,在这块网卡和主机的网络接口之间进行NAT。虚拟机发出的每一块数据包都会经过虚拟网卡,然后NAT,然后由主机的接口发出。 虚拟网卡和虚拟机处于一个地址段,虚拟机和主机不是同一个地址段主机相当于虚拟机的网关,所以虚拟机能ping到主机的IP,但是主机ping不到虚拟机的IP。
  2. 联网方式:
    (1)动态IP地址。
    主机是静态IP或动态IP,都无所谓,将虚拟机设置成使用DHCP方式上网,Windows下选择“自动获取IP“,linux下开启DHCP服务即可。(这种方法最简单,不用过多的设置,但要在VMware中进行“编辑→虚拟网络设置”,将NAT和DHCP都开启了。一般NAT默认开启,DHCP默认关闭)
    (2)静态IP地址。
    如果不想使用DHCP,也可以手动设置:IP设置与vmnet1同网段,网关设置成vmnet8的网关(在“虚拟网络设置”里的Net选项卡里能找到Gateway)通常是xxx.xxx.xxx.2。
    子网掩码设置与VMnet8相同(设置好IP地址后,子网掩码自动生成)
    DNS设置与主机相同。
2.2 如何设置NAT模式
2.2.1 基本配置

首先,设置虚拟机中NAT模式的选项,打开vmware,点击“编辑”下的“虚拟网络编辑器”,设置NAT参数及DHCP参数。



将虚拟机的网络连接模式修改成NAT模式,点击“编辑虚拟机设置”,然后点击“网络适配器”,选择“NAT模式”。

2.2.2 虚拟机Ip设置

然后修改IP地址要在这里修改,使用ipconfig命令不能永久修改
命令:vi /etc/sysconfig/network-scripts/ifcfg-网卡名
网卡名进入/etc/sysconfig/network-scripts/目录查看即可,CentOS7以后不再默认为eth0。

注意:BOOTPROTO设置为静态或者动态,如果要设置为静态IP,则将其设置为BOOTPROTO=static或者BOOTPROTO=none。

2.2.3 网络连接测试和故障排查

编辑完成,保存退出,然后重启虚拟机网卡,service network restart 使后台配置成功,使用ping命令ping外网ip,测试能否联网。


我们可以发现我们现在能联网并且主机和虚拟机之间也能相互ping通。
所以VMware Network Adapter VMnet8虚拟网卡的作用是什么?,那我们现在就来测试一下。我们把VMware Network Adapter VMnet8虚拟网卡禁用掉。

禁用之后,我们再ping外网

如此看来,虚拟机能联通外网,确实不是通过VMware Network Adapter VMnet8虚拟网卡,那么为什么要有这块虚拟网卡呢?
之前我们就说VMware Network Adapter VMnet8的作用是主机与虚拟机之间的通信,接下来,我们就用远程连接工具来测试一下。

然后,将VMware Network Adapter VMnet8启用之后,发现远程工具可以连接上虚拟机了。
到这里NAT模式就结束了,相信大家已经会配置NAT模式了,利用虚拟的NAT设备以及虚拟DHCP服务器来使虚拟机连接外网,而VMware Network Adapter VMnet8虚拟网卡是用来与虚拟机通信的。

三、Host-Only(仅主机模式):默认使用VMnet1

3.1 桥接模式原理剖析

  Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:

  1. 原理:
      提供的是主机和虚拟机之间的网络互访。只想让虚拟机和主机之间有数据交换,而不想让虚拟机访问Internet,就要采用这个设置了。 Host-only的条件下,VMWare在真正的Windows系统中,建立一块软网卡。这块网卡可以在网络连接中看到,一般是VMnet1,这块网卡的作用就是使Windows看到虚拟机的IP。

  2. 联网方法:
    (1)动态IP地址。
    像上面那样开启DHCP后,虚拟机直接自动获取IP地址和DNS。就可以和主机相连了。当然,还要进行一些局域网共享的操作,这里不再赘述。
    (2)静态IP地址。
    也可以手动设置,将虚拟机IP设置与VMnet1同网段,网关设置成VMnet1的网关相同,其余设置与VMnet1相同,DNS设置与主机相同。

3.2 如何设置Host-only模式

  通过上面的分析,我们知道只用将主机网卡共享给VMware Network Adapter VMnet1网卡,从而就能达到虚拟机联网的目的。接下来,我们就来测试一下。

3.2.1 基本配置

首先设置“虚拟网络编辑器”,可以设置DHCP的起始范围。

然后设置虚拟机为Host-Only模式。

2.2.2 虚拟机Ip设置

然后修改IP地址要在这里修改,使用ipconfig命令不能永久修改
命令:vi /etc/sysconfig/network-scripts/ifcfg-网卡名
网卡名进入/etc/sysconfig/network-scripts/目录查看即可,CentOS7以后不再默认为eth0。

注意:BOOTPROTO设置为静态或者动态,如果要设置为静态IP,则将其设置为BOOTPROTO=static或者BOOTPROTO=none。

3.2.3 网络连接测试和故障排查

编辑完成,保存退出,然后重启虚拟机网卡,service network restart 使后台配置成功。

现在我们可以看看我们的主机能不能ping通我们的虚拟机。

主机与虚拟机之间可以通信,但是不能和外网通信,现在设置虚拟机联通外网。点击右键“属性”,然后点击“共享”,选择VMware Network Adapter VMnet1

然后我们现在看看VMware Network Adapter VMnet1的IP:

VMware Network Adapter VMnet1的IP被强制设置为了192.168.137.1。
那么接下来,我们就要将虚拟机的DHCP的子网和起始地址进行修改,点击“虚拟网络编辑器”


重新配置网卡,将VMware Network Adapter VMnet1虚拟网卡作为虚拟机的路由。

然后重启网卡,service network restart 使后台配置成功
使用ping命令ping外网ip,测试能否联网。

然后在用主机去ping虚拟机:

测试结果证明可以使得虚拟机连接外网。

到这里关于vmware三种网络模式的工作原理及配置详解就结束了,如果你认真看完,相信你和我一样都掌握了虚拟机的三种网络配置模式。

最后感谢如下链接的参考:https://note.youdao/ynoteshare1/index.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note

----------------------------------------------------------纸上得来终觉浅,绝知此事要躬行---------------------------------------------------------

本文标签: 三种详解虚拟机模式网络