admin管理员组文章数量:1571195
本篇博客主要是记录在使用VMware安装Centos7.4时,虚拟机无法连接互联网问题(重启网络指令执行失败 / 重启成功但无法ping通外网)。
启动网络服务时提示 Job for network.service failed because the control process exited with error code.
重启网络失败或重启成功但无法访问外网的解决方案
- 一、前置准备
- 二、查看虚拟机的相关网卡配置
- 三、修改Centos的网卡配置文件
- 四、参考资料
一、前置准备
先检查宿主机器(即安装了VMware的计算机)的相关虚拟机服务是否开启,主要包括以下五个服务。
- 输入win+R,在如下界面中输入services.msc。
- 找到和VMware相关的服务,确保是处于开启状态。(很重要!一定要自查!)
二、查看虚拟机的相关网卡配置
-
打开VMware的左上角“编辑” -> “虚拟网络编辑器”。
-
记录下虚拟机中的网卡名称及对应的配置。
这里一定要格外注意!博主在这个问题上耗了很多时间就是因为忽略了网卡的相关配置。
一定要留意所使用的网卡的DHCP是否已启用,若没有启用DHCP模式,那么Centos的网卡配置文件中的BOOTPROTO必须设置为static,默认情况下Centos的网卡配置文件中将BOOTPROTO设置为了dhcp模式。
从图中可以看出,虚拟网络一共有两个网卡,其中负责NAT模式的是VMnet8。 -
查看当前虚拟机所使用的网络模式。
可以看到博主的虚拟机所使用的网络适配器是NAT模式的。默认情况下也是NAT模式。所以博主的虚拟机所使用的网卡是VMnet8。 -
查看VMnet8网卡的详细配置。
这里要记录下VMnet8网卡的具体网关,后面修改Centos7.4的网卡配置文件时需要使用到。 -
可以进一步查看宿主机器上的对应同名网卡的详细信息。
第2步中我们查看虚拟网络编辑器时发现有两个网卡分别叫做VMnet1、VMnet8,所以我们回归到宿主机器时,找到同名的WMware Network Adapter(虚拟网络适配器),就是对应的网卡配置信息啦。
博主使用的是NAT模式,所以对应的网卡是VMnet8,查看到的详细信息如下:
并且从图中我们可以看出,该网卡确实是没有开启DHCP模式,因此我们的Centos在修改网卡配置文件时,也必须做对应的修改(DHCP修改为STATIC)。
三、修改Centos的网卡配置文件
- 刚安装好Centos7.4的虚拟机,可以测试一下网络是否能ping通。指令如下:
ping www.baidu
若出现如下图的响应,表示该计算机目前无法上网。
- 查看当前系统下的网卡,并修改对应的网卡配置文件。
查看指令:
ip addr
可以看到,系统下有两个网卡,如下:
其中第一个网卡lo的ip地址为127.0.0.1,表示本机巡回地址;对外访问的网卡是第二个,名字叫ens33,可以看到当前该网卡并没有获取到对应的IP地址,因此无法连接互联网。
这两个网卡有对应的网卡配置文件,放置在/etc/sysconfig/network-scripts/目录下。
- 修改ens33网卡所对应的网卡配置文件。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
网卡配置文件的初始状态:
一共做两步修改:
- ①ONBOOT=yes,表示设置成开机自启动,即系统开启时,网卡也自动启动。第一次启动Centos系统时,网卡并没有启动,所以无法上网。修改后要重启网络服务。
- ②BOOTPROTO=static,从上述我们可以知道当前在NAT模式下,bhcp是没有被开启的,而Centos7.4默认是用bhcp模式,所以需要修改为static模式。
修改后的配置文件如下:
保存并退出,重启网络服务。
发现,重启失败!!!无法开启网络服务。
这里要注意两个点,才能确保重启网络服务成功:
- ① 在/etc/sysconfig/network-scripts/目录下,必须保证以ifcfg-开头的文件只能有一个(不包括ifcfg-lo)。如果有多个,要进行删除,否则会导致重启网络指令失效。
- ② 在Centos系统上,有NetworkManager和netWork两种网络管理工具,如果两种都配置的话会引起冲突。 而我们所需要的是netWork管理工具。
并且NetworkManager在网络断开的时候会清理路由,如果一些自定义路由没有加入到NetworkManager配置文件中,路由就会被清理掉,网络连接后需要自定义添加上去。
因此我们在重启网络服务前,应该先停掉NetworkManager服务。
停止NetworkManager:
systemctl stop NetworkManager
systemctl disable NetworkManager
以上的处理做完后,我们再重启网络:
此时我们发现重启网络服务成功,服务状态发生了改变。
-
测试ping指令,判断是否连接上互联网。
我们发现,虽然网络服务已经开启,但ping百度的网站时仍然失败,这是为什么呢?
我们查询下当前的网卡配置信息:
我们发现,虽然网络服务已开启,但当前ens33网卡仍然是没有被分配到IP,因此无法访问外网。
而ens33之所以无法分配到IP,就跟我们一开始做的网卡配置文件修改有关。我们将BOOTPROTO修改为static时,并没有手动赋予对应的IP、网关等相关配置信息。
如果BOOTPROTO=dhcp,那么会在每次系统开启后随机获取到一个IP接入互联网使用,但由于我们更改成了static模式,因此要手动分配了。 -
手动配置IP、网关等配置信息。
仍然是对ens33的网卡配置文件进行修改,追加如下所示的内容:
IPADDR=192.168.229.123
NETMASK=255.255.255.0
GATEWAY=192.168.229.2
DNS1=8.8.8.8
以上内容做如下说明:
- IPADDR配置静态IP地址;
- NETMASK配置子网掩码;
- GATEWAY配置网关
- DNS配置DNS服务器地址。
其中,网关是我们前面在查看虚拟网络配置时,NAT模式所使用的VMnet8配置中查到的网关地址,这两个需要保持一致;子网掩码也与VMnet8保持一致;而静态IP地址,只需要保证他在同一个网段中即可,即192.168.229.xxx(本例如此)。
DNS服务器可以配置多个,后面分别跟随阿拉伯数字1、2…来进行区分。
修改后的网卡配置文件如下:
重启服务,测试ping指令。
ping成功!虚拟机成功连上互联网!大功告成!
四、参考资料
本次问题得以解决,主要参考了以下博客,感谢博主们的开源共享。
[1]: https://blog.csdn/VariatioZbw/article/details/107482739
[2]: https://blog.51cto/u_12553406/6319799
好了,以上就是我个人对本次内容的理解与解析,如果有什么不恰当的地方,还望各位兄弟在评论区指出哦。
如果这篇文章对你有帮助的话,不妨点个关注吧~
期待下次我们共同讨论,一起进步~
版权声明:本文标题:Centos7.4重启网络失败(虚拟机无法连接互联网)Job for network.service failed 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727685953a1125363.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论