用虚拟机模拟网络的时候,经常纠结用啥方式组网,随手写个博客记录下自己的理解。
先看下VM的版本
物理机用的自己的笔记本,win10。
1.桥接
其实这里的桥接指的是桥接至物理机使用的网络,虚拟网络编辑器里也可以选要接入的网络:
虽然显示的是物理机的网卡,但应该代表了具体的真实网络。通过桥接模式接入网络的虚拟机,逻辑上和物理机应该是平行的,也就是上面提供网络服务的家伙把虚拟机当作真实存在的、独立的设别处理。
同时我们可以在物理机的控制面板->网络和Internet->网络连接里,查看我们的网卡:
这是我们虚拟网络编辑器的设置:
可以发现,设置成桥接模式的VMnet2并不会创建虚拟网卡。
2.NAT
从这个名字我们很难不想到,应该会存在一个虚拟的网关啥的。实际上也是这样,VM会默认提供一个NAT模式的网卡——VMnet8。这个网卡会给虚拟机提供NAT和DHCP的功能(有点像一个路由器了),因此虚拟机也能名正言顺地访问物理机能够访问的网络了(相当于多一跳路由)。
我们可以在虚拟网络编辑器里配置我们想要的NAT和DHCP参数:
3.仅主机
这种方式和NAT一样,也会创建一个虚拟网卡,并且也可以提供DHCP服务,区别就在于其没有NAT网关,因此连接在这种模式下的虚拟机无法访问物理机之外的网络,毕竟没有NAT,虚拟机上的地址只是一堆没有意义的私网地址。但和物理机的通信可以通过这张虚拟网卡实现。因此仅主机模式更像是一个自己玩儿的网络。
本人能力有限,细致的原理也不分析了,如果有什么错误和不足,欢迎批评指正!