1. 程式人生 > >linux 重啟網絡卡報錯 RTNETLINK answers: File exists”的解決方法

linux 重啟網絡卡報錯 RTNETLINK answers: File exists”的解決方法

          新年第一天,祝大家元旦快樂!

         現在linux 的發行版本很多,我們常用的比如ubuntu , redhat, centos, 現在系統更新的版本比較快,最新的已經是7.5 版本了,在7和6系統中,關於網路方面有一些差別,包括許多的命令都喝6是不一樣的。下面針對網路配置中的ip做一個詳細介紹。

            在CentOS7 中,我們經常用到修改網路ip, netmask, gateway,等資訊,這個可以臨時使用命令修改,也可以永久修改,那就是通過配置檔案來修改。配置檔案通常在/etc/sysconfig/network-scripts/ifcfg-xx 檔案。

          最近遇到了這個錯誤,修改了ip地址和一些相關設定後,重啟網絡卡發現修改的資訊並沒有生效,重啟機器還是無效。這是怎麼回事呢,很奇怪。後來在網路上找到了一些相關的介紹,在此說明一些原因。

         service NetworkManager stop

         返回的結果如下: 

        

Starting 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.

 

[[email protected] network-scripts]# systemctl status network.service

?.network.service - LSB: Bring up

/down networking

   Loaded: loaded (/etc/rc.d/init.d/network)

   Active: failed (Result: exit-code) since Mon 2017-03-20 18:41:03 CST; 3min 49s ago

     Docs: man:systemd-sysv-generator(8)

  Process: 18880 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)

 

Mar 20 18:41:03 localhost.localdomain network[18880]: RTNETLINK answers: File exists

Mar 20 18:41:03 localhost.localdomain network[18880]: RTNETLINK answers: File exists

Mar 20 18:41:03 localhost.localdomain network[18880]: RTNETLINK answers: File exists

Mar 20 18:41:03 localhost.localdomain network[18880]: RTNETLINK answers: File exists

Mar 20 18:41:03 localhost.localdomain network[18880]: RTNETLINK answers: File exists

Mar 20 18:41:03 localhost.localdomain network[18880]: RTNETLINK answers: File exists

Mar 20 18:41:03 localhost.localdomain systemd[1]: network.service: control process exited, code=exited status=1

Mar 20 18:41:03 localhost.localdomain systemd[1]: Failed to start LSB: Bring up/down networking.

Mar 20 18:41:03 localhost.localdomain systemd[1]: Unit network.service entered failed state.

Mar 20 18:41:03 localhost.localdomain systemd[1]: network.service failed.

原因分析: 

原因分析和解決:

在centos下出現該故障的原因是啟動網路的兩個服務/etc/init.d/network 和 /etc/init.d/NetworkManager有衝突

從根本上說是NetworkMaganager(NM)的帶來的衝突,停用NetworkManager即可解決。重啟即可。

既然發現了問題的原因,那就執行吧,停止NetworkManager 服務

 命令: service NetworkManager stop

Redirecting to /bin/systemctl stop  NetworkManager.service

最好是禁止一下服務:  systemctl  disable NetworkManager.service

再次重啟網絡卡服務:  systemctl start network.service

沒有錯誤返回:  說明網絡卡資訊生效了。