1. 初始状态
1.1 对于每个刚创建的虚拟机,virtual box给虚拟机默认只配置了网卡1,而且是【网络地址转换(NAT)】格式,当我们启动虚拟机后,使用ifconfig命令,如下图。
1.2 我们可以看到系统当前没有ip,再使用ip addr命令查看,如下图。
1.3 我们可以有一个eth0网卡以及相应的Mac地址,但是没有ip,此时我们去【/etc/sysconfig/network-scripts】目录下会看到一个ifcfg-eth0文件,我们使用vi编辑器打开,如下图。
1.4 ifcfg-eth0文件的初始代码如下所示,此时我们将参数【ONBOOT=no】改为【ONBOOT=yes】,然后保存退出。
1.5 此时我们先使用命令【service network restart】重启网络,然后再次查看ip,可以发现有ip了,如下图。
1.6 此时我们ping我们的宿主机以及百度,都是成功的,如下图。
1.7 但是我们主机是ping不通该地址的,如下图。
1.8 最重要的是,每个人的虚拟机ip地址都是10.0.2.15,为什么?具体的我也不清楚啦,只不过这种地址和宿主机不在同一网段,宿主机ping不通虚拟机也正常,所以,接下来我们需要配置虚拟机网络,让虚拟机和宿主机处于同一网段中。
2. 无效的网络配置
2.1 在virtual box首页中,选中虚拟机并点击【设置】,如下图所示。
2.2 更改网络连接方式为【桥接网卡】并保存,如下图。
2.3 此时我们运行【service network restart】,会发现桥接网卡方式并分配不了ip地址,错误如下。
2.4 网上的这种【桥接】方式并没有用,包括我看过的视频也是这样配置,也许不是没用,而是不同版本有不同的配置方法。于是费了好久时间去配置,于是有了另一种有用的网络配置。
3. 有用的网络配置
3.1 从1.8的内容来看,其实虚拟机已经有网络,可以ping通宿主机,同时,虚拟机可以配置好几个网卡,那我们就再配置一个,让宿主机可以ping通虚拟机就可以了,所有的设置,先退出虚拟机再设置。我们先将网卡1改回【网络地址转换(NAT)】方式,并且添加网卡2(仅主机(Host-Only)网络),如下设置。
3.2 设置后启动虚拟机,我们发现ip地址回到了10.0.2.15,并且仍可以ping通宿主机和外网。但是我们使用【ip addr】命令后,发现多了个eth1,那我们配置一下eth1是不是就能实现和宿主机的互相ping通。了,记一下这个eth1的Mac地址,后面配置会用到。
3.3 复制ifcfg-eth0,并命名为ifcfg-eth1,指令如下。
3.4 对ifcfg-eth1文件进行如下图修改。
3.5 重启网络服务,分配IP地址192.168.0.104成功,如下图。
3.6 ping宿主机和外网成功,如下图。注意:有时候需要配置域名解析,所以有时候出现ping 域名ping不通可能是需要配置域名解析,可以尝试直接ping 百度的IP地址试试。
3.7 宿主机ping虚拟机IP192.168.56.104成功,如下图所示。
总结:所以最终为了虚拟机和宿主机可以互相ping通,以及连通外网。虚拟机需要设置两个网卡,并且分别设置为【网络地址转换(NAT)】和【仅主机(Host-Only)网络)两种模式。并且添加ifcfg-eth配置文件,同时进行相应配置,然后重启网络服务,即可实现网络连接。
Virtual Box6.1配置CentOS6.5版本的网络连接(静态IP设定)——虚拟机和宿主机互相ping通以及ping通连接外网