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
沒有錯誤返回: 說明網絡卡資訊生效了。