快速理解 VirtualBox 的四种网络连接方式

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

  1. NAT
  2. Bridged Adapter
  3. Internal
  4. Host-only Adapter

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

要让自己(或别人)理解深刻,方法就是做比较和打比方,比较之间的不同和相同,拿熟知的事物打比方。先来一张图,通过这张图就很容易看出这 4 种方式的区别:

快速理解 VirtualBox 的四种网络连接方式

(注:此图直接取至 Finalbug 的 Blog,表示感谢)

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

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,后面的虚拟机被分配到的也都是这个网段。通过网卡共享、网卡桥接等,可以实现虚拟机于主机相互访问。

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

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

以上关于这 4 种连接方式的文字解释,基本上抄自于 (转)VirtualBox 网络设置与应用详解(图解+文字)这篇文章,但没有找到此文的原始出处。

关于这几种连接方式,理解 VMWare 的三种网络连接模式 (bridged、NAT、host-only)里的解释只是换了文字来表述,虽然显得重复,但为了理解,干脆就写成了这两篇 Blog。

Update:我刚装上 VirtualBox 的时候所有的网络连接方式都试过了,但虚拟机和虚拟机之间就是不能相互访问,Ping 都 Ping 不通,我在想难道 VirtualBox 的网络设置有这么复杂吗,后来想到是不是 Windows XP 的防火墙的问题,关闭之,一切就正常了,Fuck!

转自网络:https://penpenguanguan.com/997.html

相关推荐