概述
# | 英文 | 中文 |
---|---|---|
1 | NAT | 网络地址转换模式(Network Address Translation) |
2 | Bridged Adapter | 桥接模式 |
3 | Internal | 内部网络模式 |
4 | Host-only Adapter | 主机模式 |
VMWare 中有三种,其实他跟 VirtualBox 的网络连接方式都是一样概念,只是 VirtualBox 比 VMWare 多了 Internal 方式。
要让自己(或别人)理解深刻,方法就是做比较和打比方,比较之间的不同和相同,拿熟知的事物打比方。先来一张图,通过这张图就很容易看出这4种方式的区别:
图 :这个是图片说明 |
---|
四种模式介绍
NAT
NAT 的全称是 Network Address Translation,网络地址转换。NAT 模式是最简单的实现虚拟机上网的方式,你可以这样理解:
- Guest 访问网络的所有数据都是由主机提供的,Guest 并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到 Guest 的存在;
- Guest 可以访问主机能访问到的所有网络,但是对于主机以及主机网络上的其他机器,Guest 又是不可见的,甚至主机也访问不到 Guest;
此外,虚拟机和主机的关系是:
- 虚拟机与主机的关系:只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。
- 虚拟机与网络中其他主机的关系:只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。
- 虚拟机与虚拟机的关系:相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。
虚拟机的 IP 示例
一台虚拟机的多个网卡可以被设定使用 NAT, 第一个网卡连接了到专用网 10.0.2.0,第二个网卡连接到专用网络 10.0.3.0 等等。默认得到的客户端 IP(IP Address)是 10.0.2.15,网关(Gateway)是 10.0.2.2,域名服务器(DNS)是 10.0.2.3,可以手动参考这个进行修改。
IP:10.0.2.15
网关:10.0.2.2
DNS:10.0.2.3
Bridged Adapter
网桥模式,你可以这样理解:
- 它是通过主机网卡,架设了一条桥,直接连入到网络中了。因此,它使得虚拟机能被分配到一个网络中独立的 IP,所有网络功能完全和在网络中的真实机器一样;
- 网桥模式下的虚拟机,你把它认为是真实计算机就行了;
在网桥模式下,主机和虚拟机的关系是:
- 虚拟机与主机的关系:可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问;
- 虚拟机于网络中其他主机的关系:可以相互访问,同样因为虚拟机在真实网络段中有独立IP,虚拟机与所有网络其他主机处于同一网络段中,彼此可以通过各自IP相互访问;
- 虚拟机与虚拟机的关系:可以相互访问,原因同上;
虚拟机的 IP 一般是 DHCP 分配的,与主机的”本地连接”的 IP 是同一网段的,虚拟机能与主机互相通信。
Internal
内网模式,顾名思义就是内部网络模式:
- 虚拟机与外网完全断开,只实现虚拟机与虚拟机之间的内部网络模式。
在内网模式下,主机与虚拟机之间的关系是:
- 虚拟机与主机的关系:不能相互访问,彼此不属于同一个网络,无法相互访问;
- 虚拟机与网络中其他主机的关系:不能相互访问,理由同上;
- 虚拟机与虚拟机的关系:可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。如上配置图中,名称为 intnet;
在内网模式下,虚拟机的 IP 是由 VirtualBox 的 DHCP 服务器会为它分配,一般得到的是 192.168.56.101,因为是从 101 起分的,也可手工指定 192.168.56.*。
Host-only Adapter
主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。我们可以理解为 Guest 在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,比如(网卡共享、网卡桥接等)。
在主机模式下,主机与虚拟机之间的关系是:
- 虚拟机与主机的关系:默认不能相互访问,双方不属于同一 IP 段;
- host-only 网卡默认 IP 段为 192.168.56.X 子网掩码为 255.255.255.0,后面的虚拟机被分配到的也都是这个网段。
- 通过网卡共享、网卡桥接等,可以实现虚拟机与主机相互访问;
- 虚拟机与网络主机的关系:默认不能相互访问,原因同上,通过设置,可以实现相互访问;
- 虚拟机与虚拟机的关系:默认可以相互访问,都是同处于一个网段;
扩展内容
NAT 设置端口映射
在 NAT 模式下,如果你想要在主机中暴露一个虚拟机中的服务,你可以通过使用命令行工具 VboxManage 代理。你需要知道虚拟机的服务使用哪个端口,然后决定在主机上使用哪个端口。通常虚拟机和主机使用同一个端口,但是如果主机中端口被使用或者不希望使用相同的端口,也可以使用不同的端口,例如使用主机上的 10080 端口映射虚拟机中的 80 端口 。在主机上提供一个服务需要使用一个端口,你能使用在主机上没有准备用来提供服务的任何端口。这里是一个设置新的 NAT 例子,在虚拟机的网络配置一下即可:
图 :这个是图片说明 |
---|