1. 程式人生 > >centOS 7下無法啟動網路(service network start)錯誤解決辦法(應該是最全的了。。。)

centOS 7下無法啟動網路(service network start)錯誤解決辦法(應該是最全的了。。。)

    今天在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.如果以上都沒有解決,還有最後一招-- 重啟 看一看有沒有奇蹟發生!!(我的另外一臺重啟後莫名就好了)

上面這些方法,我基本都試過了,對我的機器有的有用有的沒用,但是有人也用這些方法解決了,所以一併記錄下來。希望能給予你一點幫助微笑