各种姿势解决CentOS 7下无法启动网络的问题

今天在CentOS 7下更改完静态ip后发现network服务重启不了,翻遍了网络,尝试了各种方法,终于解决了。

现把各种解决方法归纳整理,希望能让后面的同学少走点歪路。。。

首先看问题:执行systemctl start network命令后出现下面的错误:

$ systemctl start network
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.

根据提示输入systemctl status network命令后出现如下错误信息:

$  systemctl status network
● network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2018-10-09 22:47:07 CST; 2min 5s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 8980 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)

Oct 09 22:47:07 Server01 network[8980]: RTNETLINK answers: File exists
Oct 09 22:47:07 Server01 network[8980]: RTNETLINK answers: File exists
Oct 09 22:47:07 Server01 network[8980]: RTNETLINK answers: File exists
Oct 09 22:47:07 Server01 network[8980]: RTNETLINK answers: File exists
Oct 09 22:47:07 Server01 network[8980]: RTNETLINK answers: File exists
Oct 09 22:47:07 Server01 network[8980]: RTNETLINK answers: File exists
Oct 09 22:47:07 Server01 systemd[1]: network.service: control process exited, code=exited status=1
Oct 09 22:47:07 Server01 systemd[1]: Failed to start LSB: Bring up/down networking.
Oct 09 22:47:07 Server01 systemd[1]: Unit network.service entered failed state.
Oct 09 22:47:07 Server01 systemd[1]: network.service failed.

network服务启动不了首先保证/etc/sysconfig/network-scripts目录下的ifcfg-xxx(每台机器不一定相同)没有错误(如果你改动过的话),这里的错误指的在更改过程中因为手误敲错字母之类的。

网上最常见的几种做法如下:

1、和 NetworkManager 服务有冲突,这个好解决,直接关闭 NetworkManger 服务就好了, systemctl stop NetworkManager,并且禁止开机启动 chkconfig NetworkManager off 。之后重启就好了。

2、和配置文件的MAC地址不匹配,这个也好解决,使用ip addr(或ifconfig)查看mac地址

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:b1:44:a0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.102/24 brd 192.168.1.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:feb1:44a0/64 scope link 
       valid_lft forever preferred_lft forever
3: br-3097ed36fd04: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:e3:f2:63:74 brd ff:ff:ff:ff:ff:ff
    inet 172.25.0.1/16 brd 172.25.255.255 scope global br-3097ed36fd04
       valid_lft forever preferred_lft forever
4: br-4d153d29100f: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:29:e8:35:29 brd ff:ff:ff:ff:ff:ff
    inet 172.19.0.1/16 brd 172.19.255.255 scope global br-4d153d29100f
       valid_lft forever preferred_lft forever
    inet6 fe80::42:29ff:fee8:3529/64 scope link 
       valid_lft forever preferred_lft forever

上面的ens33下的00:0c:29:b1:44:a0这个就是MAC地址了,将

/etc/sysconfig/network-scripts/ifcfg-xxx中的HWADDR(如果没有就添加上)改成这个MAC地址。

3、设定开机启动一个名为NetworkManager-wait-online服务,命令为:

systemctl enable NetworkManager-wait-online.service


上面两个是我看到最多的解决方法,但是很遗憾,我的并没有解决。有查看资料,发现了以下一些方法:

4、查看/etc/sysconfig/network-scripts下,应该有一个ifcfg-xxx文件,xxx应和使用ip addr命令查看ip第二条开头的名称一致(我的是ens33,参见上面贴出的ip addr命令执行结果),所以必须存在一个ifcfg-ens33,里面配置网络信息,(我的只有ifcfg-eno16777736文件,因为是克隆出来的虚拟机。需要将ifcfg-eno16777736改为ifcfg-ens33)

5、将ifcfg-xxx文件中的DEVICE和NAME都改成xxx,如我的需要改成ens33

4和5解决了我的问题。

6、在VMWare的编辑-虚拟网络编辑器中将网络模式改为桥接。

7、看VMWare右下角的网络适配器是否连接,如果没有连接则连接上。

(补充:点击网络适配器-设置,将NAT模式改为桥接试试,我的改为桥接后可以重启network服务了但是上不了网,可以重启后

再将桥接模式改为NAT模式,发现既可以上网又可以重启network服务了)

8、查看下你电脑有没有禁用了VMware DHCP service和VMware NAT service 这几个vm服务,如果禁用则开启。

9、如果你改成了静态ip别忘了将BOOTPROTO改为static。

10、如果以上都没有解决,还有最后一招 --->> 重启 看一看有没有奇迹发生!(我的另外一台重启后莫名就好了)

上面这些方法,我基本都试过了,对我的机器有的有用有的没用,但是有人也用这些方法解决了,所以一并记录下来。希望能给予你一点帮助。

原文发布于微信公众号 - 我的小碗汤(mysmallsoup)

原文发表时间:2018-10-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Tomcat通过Redis实现session共享的完整部署记录

对于生产环境有了一定规模的tomcat集群业务来说,要实现session会话共享,比较稳妥的方式就是使用数据库持久化session.为什么要持久化session...

2.6K5
来自专栏程序员的SOD蜜

SqlServer双机热备技术实践笔记

SqlServer双机热备,大体上可以通过发布订阅,日志传送,数据库镜像来实现。 1,发布--订阅 是最早最简单的方案,但需要注意发布的时候,发布进程必须对快照...

9967
来自专栏JMCui

Linux 日常使用小记.

一、Oracle VirtualBox安装Linux7.0全屏设置 1. 点击菜单栏 设备 –> 分配光驱 –> 选择一个虚拟光盘,找到VirtualBox安装...

4286
来自专栏哎_小羊

记录Gerrit2.8.4环境迁移、安装、配置以及问题解决

前段时间,由于公司内部调整,需要将原gerrit系统中部分业务拆分迁移到新gerrit系统中,这里我就将整个环境迁移、环境搭建、环境配置、版本选择等做一下记录,...

5169
来自专栏磨磨谈

基于Docker UI 配置ceph集群

前一篇介绍了docker在命令行下面进行的ceph部署,本篇用docker的UI进行ceph的部署,目前来说市面上还没有一款能够比较简单就能直接在OS上面去部署...

952
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Keepalived和浮动IP设置高可用性HAProxy服务器

高可用性是系统设计的一个功能,允许应用程序在发生故障时自动重启或重新路由工作到另一个有能力的系统。在服务器方面,建立高可用性系统需要一些不同的技术。必须有一个可...

3183
来自专栏Java后端技术栈

一文带你详解了解Tomcat的Server配置!

Tomcat隶属于Apache基金会,是开源的轻量级Web应用服务器,使用非常广泛。server.xml是Tomcat中最重要的配置文件,server.xml的...

1082
来自专栏从流域到海域

在Kubernetes上使用Istio进行微服务流量管理

原文地址:https://dzone.com/articles/microservices-traffic-management-using-istio-on-...

8009
来自专栏我和未来有约会

Windows 7 旗舰版 VHD安装体验

indows 7 旗舰版 VHD安装体验 近日为了将开发环境、测试环境互相分离来,体验了一下“特殊的虚拟机 VHD启动”,我现在的机器(IBM X200)上安装...

3276
来自专栏Android小菜鸡

在AndroidStudio上搭建SVN

  在Eclipse上直接安装SVN插件即可,但是在AndroidStudio上不行,需要关联SVN客户端。并且安装command line的客户端才可以。co...

923

扫码关注云+社区

领取腾讯云代金券