关于虚拟网络链接方式,网上有很多博文有讲解,但质量参差不齐,甚至有些明显是错误的,误导他人,比如这个
https://www.jianshu.com/p/c62bb377b016,好像煞有其事的讲解,实际有很多地方不太正确。
知乎上的这个讲解比较到位:https://zhuanlan.zhihu.com/p/56658358。
但怎么样都不如自己理解之后,再写出来来得深刻,因此特意对这部分知识笔记如下,并经过一定的实验验证。
1、桥接:
桥接(Bridging):是指依据OSI网络模型的链路层(MAC)的地址,对网络数据包进行转发。因此桥接模式下,相当于把物理主机虚拟为一个交换机。
虚拟机发送数据给真实机,则数据流向是:虚拟机系统->真实网卡->路由器->真实网卡->实体机系统。
所以:
a、虚拟机会接收到路由的DHCP。
b、虚拟机必须与主机同网段,相同DNS。
2、NAT:
NAT(Network Address Translation,网络地址转换),
VirtualBox里的VMware Network Adapter VMnet8看不到,和真实网卡绑定在一起。主机虚拟出一个网卡和虚拟交换机连接,通信。虚拟机和外网通信使用NAT。
所以,
a、主机和虚拟机不同网段。
b、对于路由来说节省了IP资源。
3、仅主机模式,和主机共享
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信。
如果要使得虚拟机能联网,需要将主机网卡共享给VMware Network Adapter VMnet1网卡,如下图
因此,没有特殊需求,不如使用NAT模式。