老忘记虚拟机的网络连接方式之间的区别,刚好看到了一篇讲的很清楚的文章,记录一下。

  

  VirtualBox中有4种网络连接方式:

    1. NAT

    2. Bridged Adapter

    3. Internal

    4. Host-only Adapter

  VMWare中有三种,其实他跟VMWare的网络连接方式都是一样的概念,只是比VMWare多了Internal方式。


  先来一张图,通过这张图就很容易看出这4种方式的区别:

    

virtualbox centos8 链接不了外网 virtualbox怎么连接网络_IP

  再来用文字做详细的解释(其实归结起来就是上面的那张图)


  1、 NAT

  NAT:  Network Address Translation,网络地址转换

  NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:

    Guest访问网络的所有数据都是由主机提供的,Guest并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Guest的存在。

    Guest可以访问主机能访问到的所有网络,但是对于主机以及主机网络上的其他机器,Guest又是不可见的,甚至主机也访问不到Guest。

  虚拟机与主机的关系:只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。

  虚拟机与网络中其他主机的关系:只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。

  虚拟机与虚拟机的关系:相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。


  2、 Bridged Adapter(网桥模式)

  网桥模式,你可以这样理解:

    它是通过主机网卡,架设了一条桥,直接连入到网络中了。因此,它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和在网络中的真实机器一样。

    网桥模式下的虚拟机,你把它认为是真实计算机就行了。

  虚拟机与主机的关系:可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问。

  虚拟机与网络中其他主机的关系:可以互相访问,同样因为虚拟机在真实网络段中有独立IP,虚拟机与所有网络其他主机处于同一网络段中,彼此可以通过各自IP互相访问。

  虚拟机与虚拟机的关系:可以互相访问,原因同上。


  3、 Internal(内网模式)

  内网模式,顾名思义就是内部网络模式:

    虚拟机与外网完全断开,只实现虚拟机与虚拟机之间的内部网络模式。

  虚拟机与主机的关系:不能相互访问,彼此不属于同一个网络,无法相互访问。

  虚拟机与网络中其他主机的关系:不能相互访问,理由同上。

  虚拟机与虚拟机的关系:可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。如上配置图中,名称为intnet。


  4、 Host-only Adapter(主机模式)

  主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才可以玩转。可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。

  我们可以理解为Guest在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,比如(网卡共享、网卡桥接等)。

  虚拟机与主机的关系:默认不能相互访问,双方不属于同一IP段,host-only网卡默认IP段为192.168.56.X 子网掩码为255.255.255.0,后面的虚拟机被分配到的也都是这个网段。通过网卡共享、网卡桥接等,可以实现虚拟机与主机相互访问。

  虚拟机与网络主机的关系:默认不能相互访问,原因同上,通过设置,可以实现互相访问。

  虚拟机与虚拟机的关系:默认可以相互访问,都是同处于一个网段。


  通过对以上几种网络模式的了解,我们就可以灵活运用,模拟组建出我们所想要的任何一种网络环境了。

  比如我想模拟出来一台主机,监控一个局域网上网情况的网络环境。

    首先,我开启了两台虚拟机vhost1 和 vhost2,当然如果硬件允许,我同样可以再增加vhost3、 vhost4...

    所有的vhost我都设置成internat内网模式,网络名称为intnal,网关为192.168.56.100,意思就是通过192.168.56.100网卡上网。

    其中有一台vhost1我设置为双网卡,一张为内网模式(192.168.56.100),一张为网桥模式(192.168.1.101)。

    两张网卡设置双网卡共享上网,虚拟机之间为局域网,其中有一台虚拟机vhost1通过与外网相连,所有局域网中的虚拟机又通过vhost1来实现上外网。

    这样vhost1就可以监控整个虚拟机局域网上网情况了。



  VMWare支持三种类型的网络:NAT,  Bridged,  Host-only。

  1.NAT

  这种方式下,虚拟机的网卡连接到宿主的VMnet8上。此时系统的VMWare NAT Service服务就充当了路由器的作用,负责将虚拟机发到VMnet8的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过VMnet8发送给虚拟机。VMWare DHCP Service负责为虚拟机提供DHCP服务。

  

virtualbox centos8 链接不了外网 virtualbox怎么连接网络_IP_02


  2.Bridged

  这种方式下,虚拟机就像一台真正的计算机一样,直接连接到实际的网络上,与宿主机没有任何联系。

  

virtualbox centos8 链接不了外网 virtualbox怎么连接网络_NAT_03


  3.Host-only

  这种方式下,虚拟机的网卡连接到宿主的VMnet1上,但系统并不为虚拟机提供任何路由服务,因此虚拟机只能和宿主机进行通信,而不能连接到实际网络上。

  

virtualbox centos8 链接不了外网 virtualbox怎么连接网络_IP_04