背景

VirtualBox要与宿主主机,或者同局域网的其他主机之间通信,使用桥接模式最方便。但是没有条件上的情况下,只能使用NAT网络的方式。

VirtualBox的5种连接方式

  • NAT :虚拟机可以通过宿主机访问主机能够访问的一切网络,宿主机不能访问虚拟机,虚拟机之间不能访问
  • NAT网络 :在NAT的基础上,虚拟机之间搭建了局域网,可以实现虚拟机之间的相互访问
  • 桥接 :相当于虚拟机与宿主机连接在同一局域网内,相对于宿主机可见,可以看成是一台连接的宿主机。一般情况下,公司里,IP分配是由网管/运维来统筹处理的,他们为了网络的安全性,和方便做统一管理,公司的网关默认都是不允许你的虚拟机网络成功分配到网络资源的,他们会在路由上做限制,导致你的虚拟机无法使用网桥模式。
  • 内部 :虚拟机不能连外网
  • 仅主机(host-only) :虚拟机不能连外网,并且不互通

有条件就选择桥接模式。如果在有限制的网络中时,就不能使用网桥。但发现每台虚拟机都占用真实 IP 地址,造成浪费,而且分布式需要固定 IP,桥接经常导致内网 IP 冲突,所以想要网桥功能的话,一般选择下班之后,回家里(家里的路由不做这种限制)去做实验。

为避免这些问题,我尝试使用 NAT 网络对虚拟机网络进行隔离。

默认情况下,相互之间网络连接情况如下图:

NATNAT网络Bridged Adapter网桥Internal内部Host-only Adapter仅主机
虚拟机 ——> 主机×默认不能,需要设置
主机 ——> 虚拟机默认不能,可配置端口转发默认不能,可配置端口转发×默认不能,需要设置
虚拟机 ——> 其它主机×默认不能,需要设置
其它主机 ——> 虚拟机×默认不能,可配置端口转发默认不能,可配置端口转发×默认不能,需要设置
虚拟机 <——> 虚拟机×同网络下可以

虚机网络具体配置

 

 

在宿主机上访问

 

 

 

在局域网的其他主机上也能访问

注意访问的IP,是宿主主机的IP,也就是虚机所在的真实物理机的IP。

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐