由于虚拟机提供的几种网络方式,要么是虚拟机可以ping通宿主机反之不行,要么是虚拟机之间可以互通但宿主机不能访问虚拟机,所以在实际应用中多数被两者间的网络互通和是否能上网的问题所困扰。关于VirtualBox中三种网络连接方式的介绍请参考另一篇博文:VirtualBox虚拟机几种网络连接方式介绍。
本文将介绍三种网络配置方式,实现虚拟机和宿主机之间互通并且可以访问互联网。首先我宿主机的IP地址为:192.168.1.117。
一、直接使用桥接的方式
桥接方式下,不用做太多设置,虚拟机会自动获取和宿主机同网段的IP,和宿主机网络中的其他主机处于同等地位,所以虚拟机和宿主机可以互相直接通信,且只要宿主机可以上网,虚拟机即可上网。
经过上面的网络设置后,我们进入虚拟机系统,查看IP地址为192.168.1.220,且可以ping通www.baidu.com,可以实现和宿主机互通也可以实现上网。如图:
二、使用网络地址转换NAT+端口转发的方式
使用网络地址转换加端口转发的方式,虚拟机可以直接ping通宿主机,但是宿主机无法直接ping通虚拟机。不过宿主机可以通过类似Xshell的远程连接软件,设置相关参数后即可访问虚拟机。且只要宿主机可以上网,虚拟机即可直接上网。注意是网络地址转换NAT,不是NAT网络。配置如下:
设置后,虚拟机获取的IP地址为10.0.2.15。经过测试可以ping通宿主机IP,可以ping通www.baidu.com。
Xshell中的配置为:
配置后,连接访问虚拟机效果图:
三、NAT网络+host-only双网卡方式
此种双网卡的方式,结合了NAT可以访问外网的优点和host-only可以实现虚拟机之间互通且宿主机可以访问虚拟机的特长,实现了两者的互通且可以上网的功能。具体配置如下:
需要先配置VirtualBox的全局变量,通过“管理”-->“全局设定”选项配置NAT和host-only的双网卡。
1、配置NAT网卡,我们使用IP地址为10.0.2.X的网段,记得开启DHCP服务。
2、配置host-only网卡,由于host-only方式会在本机网络中新增一块网卡,这里我们设置其IP地址段为192.168.65.X,其中此块网卡IP地址为192.168.65.1,并且开启DHCP服务。
DHCP服务器配置如下:
全局配置完毕后,需要对虚拟机进行双网卡配置,分别为虚拟机添加NAT和host-only网卡。先配置nat网卡1
再配置网卡2为host-only:
至此双网卡配置完毕,我们可以打开虚拟机进行网络验证。
首先看到虚拟机中的网卡变成了两块:eth0(10.0.2.8)和eth1(192.168.65.2)。
虚拟机ping通宿主机192.168.1.117,虚拟机ping通www.baidu.com。
宿主机可以ping通虚拟机的192.168.65.2的地址:
以上就是三种可以实现宿主机和虚拟机互相访问通信的且保证可以上网的实现,大家可以根据自己的需要选择合适的方式。