Centos7.4重启网络失败(虚拟机无法连接互联网)Job for network.service failed

本篇博客主要是记录在使用VMware安装Centos7.4时,虚拟机无法连接互联网问题(重启网络指令执行失败 / 重启成功但无法ping通外网)。
启动网络服务时提示 Job for network.service failed because the control process exited with error code.

一、前置准备

先检查宿主机器(即安装了VMware的计算机)的相关虚拟机服务是否开启,主要包括以下五个服务。

  1. 输入win+R,在如下界面中输入services.msc。
    打开服务管理界面
  2. 找到和VMware相关的服务,确保是处于开启状态。(很重要!一定要自查!)
    启动VMware相关的服务

二、查看虚拟机的相关网卡配置

  1. 打开VMware的左上角“编辑” -> “虚拟网络编辑器”。
    在这里插入图片描述

  2. 记录下虚拟机中的网卡名称及对应的配置。
    虚拟机网卡配置
            这里一定要格外注意!博主在这个问题上耗了很多时间就是因为忽略了网卡的相关配置。
            一定要留意所使用的网卡的DHCP是否已启用,若没有启用DHCP模式,那么Centos的网卡配置文件中的BOOTPROTO必须设置为static,默认情况下Centos的网卡配置文件中将BOOTPROTO设置为了dhcp模式。
            从图中可以看出,虚拟网络一共有两个网卡,其中负责NAT模式的是VMnet8。

  3. 查看当前虚拟机所使用的网络模式。
    使用的网络模式
            可以看到博主的虚拟机所使用的网络适配器是NAT模式的。默认情况下也是NAT模式。所以博主的虚拟机所使用的网卡是VMnet8。

  4. 查看VMnet8网卡的详细配置。
    NAT模式的详细配置
    NAT模式的网关配置
            这里要记录下VMnet8网卡的具体网关,后面修改Centos7.4的网卡配置文件时需要使用到。

  5. 可以进一步查看宿主机器上的对应同名网卡的详细信息。
            第2步中我们查看虚拟网络编辑器时发现有两个网卡分别叫做VMnet1、VMnet8,所以我们回归到宿主机器时,找到同名的WMware Network Adapter(虚拟网络适配器),就是对应的网卡配置信息啦。
    宿主机器的网络信息
            博主使用的是NAT模式,所以对应的网卡是VMnet8,查看到的详细信息如下:
    VMnet8的详细信息
            并且从图中我们可以看出,该网卡确实是没有开启DHCP模式,因此我们的Centos在修改网卡配置文件时,也必须做对应的修改(DHCP修改为STATIC)。

三、修改Centos的网卡配置文件

  1. 刚安装好Centos7.4的虚拟机,可以测试一下网络是否能ping通。指令如下:
ping www.baidu.com

      若出现如下图的响应,表示该计算机目前无法上网。
ping百度

  1. 查看当前系统下的网卡,并修改对应的网卡配置文件。
查看指令:
ip addr

        可以看到,系统下有两个网卡,如下:
系统中的两个网卡初始情况
        其中第一个网卡lo的ip地址为127.0.0.1,表示本机巡回地址;对外访问的网卡是第二个,名字叫ens33,可以看到当前该网卡并没有获取到对应的IP地址,因此无法连接互联网。
        这两个网卡有对应的网卡配置文件,放置在/etc/sysconfig/network-scripts/目录下。

  1. 修改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

停止NetworkManager服务

        以上的处理做完后,我们再重启网络:
重启网络成功
        此时我们发现重启网络服务成功,服务状态发生了改变。

  1. 测试ping指令,判断是否连接上互联网。
    ping失败
            我们发现,虽然网络服务已经开启,但ping百度的网站时仍然失败,这是为什么呢?
            我们查询下当前的网卡配置信息:
    网卡配置信息
            我们发现,虽然网络服务已开启,但当前ens33网卡仍然是没有被分配到IP,因此无法访问外网。
            而ens33之所以无法分配到IP,就跟我们一开始做的网卡配置文件修改有关。我们将BOOTPROTO修改为static时,并没有手动赋予对应的IP、网关等相关配置信息。
            如果BOOTPROTO=dhcp,那么会在每次系统开启后随机获取到一个IP接入互联网使用,但由于我们更改成了static模式,因此要手动分配了。

  2. 手动配置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成功
        ping成功!虚拟机成功连上互联网!大功告成!


四、参考资料

本次问题得以解决,主要参考了以下博客,感谢博主们的开源共享。
[1]: https://blog.csdn.net/VariatioZbw/article/details/107482739
[2]: https://blog.51cto.com/u_12553406/6319799




        好了,以上就是我个人对本次内容的理解与解析,如果有什么不恰当的地方,还望各位兄弟在评论区指出哦。
        如果这篇文章对你有帮助的话,不妨点个关注吧~
        期待下次我们共同讨论,一起进步~

  • 12
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值