虚拟机网络模式说明
虚拟机网络模式说明
NAT模式
安装好虚拟机后的默认网络连接方式就是NAT(Network Address Translation),意即网络地址转换,VirtualBox会自动生成一个NAT网络适配器用于虚拟机和宿主机进行通信,一台宿主机只能有一个NAT网络适配器。
该模式下虚拟机对外部不可见,所有的网络请求都加上一个标识该虚拟机的标记后,以宿主机的名义与外网进行通信。一台宿主机上的多个虚拟机可以通过NAT网络适配器彼此进行通信。
虽然外网无法直接访问到虚拟机,但是可以通过修改NAT网络适配器的配置,将主机的端口A上的数据直接转发给虚拟机的端口B,这样外部计算机就可以通过访问宿主机的端口A达到访问虚拟机端口B的效果。
桥接模式
桥接模式的思想就是虚拟机通过其虚拟网卡将数据发送到宿主机的物理网卡上,然后物理网卡代为将数据发送出去。接收数据也是同样的道理,但是物理网卡必须接到路由器上,虚拟机和宿主机位于同一个网段内。
上图中"桥接宿主主机物理网卡"和”宿主主机物理网卡“是同一块网卡。
从上图可以看出,其实可以把"虚拟机"看成一台真是物理计算机,多台虚拟机通信需要设置其ip地址都在同一网段内。所以经常遇到的虚拟机和宿主机互相ping不同的问题也就显而易见了:宿主机没有接路由器。
仅主机模式
仅主机模式顾名思义就是虚拟机仅仅可以和主机进行通信,在安装好虚拟机后会自动多出一个VirtualBox Host-Only Network网络适配器(等同于一个路由器),虚拟机需要配置其ip地址和该适配器在统一网段内。
可以通过设置VirtualBox Host-Only Network桥接到宿主机物理网卡的方式实现虚拟机访问外网。
若宿主机上的多个虚拟机使用了同一个VirtualBox Host-Only Network,那这多个虚拟机之间可以通信;若多个虚拟机在不同的VirtualBox Host-Only Network下,那需要配置好各个VirtualBox Host-Only Network之间的路由来实现通信。
总结
NAT模式下虚拟机对外不可见,但是对内多个虚拟机彼此可见,需要打着宿主机的名号和外界通信;
桥接模式下虚拟机对外可见,多个虚拟机在同一网段可见,可以直接与外界通信。
仅主机模式下虚拟机对外不可见,多个虚拟机仅在同一个VirtualBox Host-Only Network下可见,与外界通信需要桥接到宿主机物理网卡。