Virtual Box可选的网络接入方式包括:

  • NAT 网络地址转换模式(NAT,Network Address Translation)
  • Bridged Adapter 桥接模式
  • Internal 内部网络模式
  • Host-only Adapter 主机模式

具体的区别网上的资料很多,就不再描述了,下面是一个最直接有效的配置,配置CentOS7虚拟机里面能上外网,而主机与CentOS7虚拟机也能连通。不论是学习还是使用,基本都能够满足。不废话,直接上图!

设置Virtual Box

最好的办法就是使用两块网卡,nat(虚拟机访问互联网,使用10.0.2.x段)和host-only(虚拟机和主机互相通信,使用192.168.56.x段)。在偏好设置里面设置网络。如下图配置:

接下来对CentOS7虚拟机网络设置,添加网卡1和网卡2,分别选择连接方式和对应的网卡:

注意记下两个MAC地址,后面需要在网络配置文件中使用。

CentOS7网络配置 NAT网络

开机以后,我们访问ping www.baidu.com,可以发现不能成功。通过ip addr命令查看网络配置。

我们可以发现enp0s3网卡(NAT)没有开启工作,而host-only默认的端口是192.168.56.101(具体后面介绍),我们先解决虚拟机访问互联网的问题。

进入cd /etc/etc/sysconfig/network-scripts/目录,可以看到目前只有ifcfg-enp0s3配置文件,编辑文件,将ONBOOT=no改为yes,再添加BOOTPROTOdhcp,保存,退出,重启网络。再ping www.baidu.com,通了,而且查看网络配置情况,可以看到enp0s3网卡已经开启工作。

可以看到默认的配置文件中HWADDR对应的地址是NAT网卡,所以一开始就说NAT网卡没有开启工作,host-only默认会有“开启”并指定地址。

CentOS7网络配置 host-only网络

ping主机上的虚拟网卡192.168.56.1,发现也没有问题,是通的,但是虽然我们看到host-only网卡已经“开启”,但是主机访问不了虚拟机(不能ping通),这个时候就要用到我们的第二块网卡host-only来完成主机对虚拟机的访问。

cd /etc/sysconfig/network-scripts/目录下面看没有ifcfg-enp0s3文件,将ifcfg-enp0s3复制一份,改名为ifcfg-enp0s8,并且做如下修改:

  1. 修改HWADR为host-only网卡的MAC地址。
  2. 修改BOOTPROTOstatic
  3. 修改NAMEenp0s8
  4. 修改UUID(可以随意改动一个值,只要不和原先的一样)。
  5. 添加IPADDR,可以自己制定,用于主机连接虚拟机使用。
  6. 添加NETMASK=255.255.255.0

修改以后重启网络,可以通过命令查看ip addr网络配置,可以看到两个网卡都开始工作了,主机页可以ping通虚拟机。



以上方式适合任何情况下的网络环境(有线或无线)

如果是笔记本无限方式还可以使用桥接方式:

只需设置虚拟机的网络模式为桥接,启动虚拟机后,打开网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-enp0s3

修改如下配置项即可:

ONBOOT=yes

BOOTPROTO=dhcp


然后重启网络  service network restart

就可实现虚拟机上网。


备注:理论上虚拟机也可以ping同物理机的,但是我的却不行,不知道为啥

答:主机上的防火墙要进行设置,虚拟机才能ping通主机。打开控制面板—防火墙,在“例外”选项中,要勾选“文件和打印机共享

Logo

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

更多推荐