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