请注意:本文编写于 2021-05-12,其中某些信息可能已经失去时效性。
前言
无论使用何种虚拟机管理软件都不可避免的要接触到虚拟机网络这一概念,本文整理了常见的几类网络模式:
- 未指定
- 内部模式
- 桥接模式
- NAT 模式
- 主机网络模式
注:后文展示的全部图片均为便于理解的理解模型,而非拓扑图。
名词
宿主机(host):安装虚拟机软件的机器 虚拟机(guest):被虚拟机软件构建出的虚构机器
未指定 | Not Attached
虚拟机有虚拟网卡但是没有链接网线。
内部模式 | Internal
虚拟机与外部环境完全断开,只允许虚拟机之间互相访问。
桥接模式 | Bridge Networking
桥接模式类似于在主机内部虚拟出一个交换机,通过这台交换机连接了所有(使用桥接模式的)虚拟机和(当前)宿主机。宿主机和虚拟机对于外部网络来说处于相同地位,即对于外部网络来说宿主机和虚拟机是不同主机。
NAT 模式 | Network Address Translation
在 NAT 模式下,就是让虚拟机借助 NAT 功能通过宿主机所在的网络来访问公网,虚拟机和宿主机不再同一个网络中。虚拟机向外网发送的请求数据会交由 NAT 网络适配器加上「特殊标记」后并以宿主机的名义转发出去,外网返回的响应数据也是先由主机接收让后再交由 NAT 网络适配器根据「特殊标记」进行识别并转发给对应的虚拟机。
严格来说 NAT 模式又可分为:NAT 和 NAT 网络两种模式:
NAT
通过虚拟 NAT 设备将宿主机与虚拟机进行网络隔离,虚拟机与虚拟机也进行网络隔离,每台虚拟机单独拥有一台虚拟 NAT 设备。
NAT 网络
通过虚拟 NAT 设备在宿主机和虚拟机之间进行网络隔离,虚拟机之间可以互相连通,所有虚拟机共享一台虚拟 NAT 设备。
主机网络模式 | Host-only
(默认情况下)仅限于宿主机内部访问的网络,虚拟机之间相互连通,虚拟机和宿主机之间也相互连通,但虚拟机不能访问外部网络。可以通过配置使得虚拟机可以通过宿主机的网卡访问外部网络。
同一台宿主机可以创建多个 Host-only 模式的虚拟网络,处于同一个 Host-only 虚拟网络中的虚拟机可以相互通信。如果处于不同虚拟网络,则默认不能通信。
参考
- 猿大白:虚拟机网络模型详解,看这篇就够了(图文并茂)
- CWH:virtualbox 常用网络模式解释和配置
- K0rz3n:VMware 使用注意事项以及三种网络模式的拓扑分析
- RQ:VirtualBox 网络模式总结
- 喵了个咪乎:为什么内网渗透要用NAT模式