今天在centOS 7下更改完静态ip后发现network服务重启不了,翻遍了网络,尝试了各种方法,终于解决了。
现把各种解决方法归纳整理,希望能让后面的同学少走点歪路。。。
首先看问题:执行service network restart命令后出现下面的错误:
Restarting network (via systemctl): 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.service命令后出现如下错误信息:
● 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 五 2017-07-14 19:01:47 CST; 1min 16s ago
Docs: man:systemd-sysv-generator(8)
Process: 4681 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
CGroup: /system.slice/network.service
└─1192 /sbin/dhclient -H mini1 -1 -q -lf /var/lib/dhclient/dhclient--ens33.lease -pf /v...
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 systemd[1]: network.service: control process exited, code=exited status=1
7月 14 19:01:47 mini1 systemd[1]: Failed to start LSB: Bring up/down networking.
7月 14 19:01:47 mini1 systemd[1]: Unit network.service entered failed state.
7月 14 19:01:47 mini1 systemd[1]: network.service failed.
network服务启动不了首先保证/etc/sysconfig/network-scripts目录下的ifcfg-xxx(每台机器不一定相同)没有错误(如果你改动过的话),这里的错误指的在更改过程中因为手误敲错字母之类的。
网上最常见的几种做法如下:
1.和 NetworkManager 服务有冲突,这个好解决,直接关闭 NetworkManger 服务就好了, service NetworkManager stop,并且禁止开机启动 chkconfig NetworkManager off 。之后重启就好了。
2和配置文件的MAC地址不匹配,这个也好解决,使用ip addr(或ifconfig)查看mac地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
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:b8:e7:21 brd ff:ff:ff:ff:ff:ff
inet 192.168.65.141/24 brd 192.168.65.255 scope global dynamic ens33
valid_lft 1193sec preferred_lft 1193sec
inet6 fe80::cca2:d835:f93:e637/64 scope link
valid_lft forever preferred_lft forever
00:0c:29:b8:e7:21这个就是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开头的文件,
留的那一个应和使用ip addr命令查看ip第二条开头的名称一致(我的是ens33,参见上面我贴出的ip addr命令执行结果),所以我只留了一个ifcfg-ens33。(我的其中两台机器就是这么弄好的,因为我在修改前留了备份,把备份删掉就好了。。。)
5.将ifcfg-xxx文件中的DEVICE一行注释掉。
6.将ifcfg-xxx中的NAME改为和文件名一致。
7.在VMWare的编辑-虚拟网络编辑器中将网络模式改为桥接。
8.看VMWare右下角的网络适配器是否连接,如果没有连接则连接上。
(补充:点击网络适配器-设置,将NAT模式改为桥接试试,我的改为桥接后可以重启network服务了但是上不了网,可以重启后
再将桥接模式改为NAT模式,发现既可以上网又可以重启network服务了)
9.查看下你电脑有没有禁用了VMware DHCP service和VMware NAT service 这几个vm服务,如果禁用则开启。
10 .如果你改成了静态ip别忘了将BOOTPROTO改为static。
11.如果以上都没有解决,还有最后一招-- 重启 看一看有没有奇迹发生!!(我的另外一台重启后莫名就好了)
上面这些方法,我基本都试过了,对我的机器有的有用有的没用,但是有人也用这些方法解决了,所以一并记录下来。希望能给予你一点帮助微笑