Centos7修改預設網路卡名(改為eth0)以及網路卡啟動報錯RTNETLINK answers: File exists處理

散盡浮華發表於2016-06-08

 

安裝好centos7版本的系統後,發現預設的網路卡名字有點怪,為了便於管理,可以手動修改。下面對centos7版本下網路卡重新命名操作做一記錄:
1)編輯網路卡資訊
[root@linux-node2~]# cd /etc/sysconfig/network-scripts/                             #進入網路卡目錄
[root@linux-node2network-scripts]# mv ifcfg-eno16777728 ifcfg-eth0          #將預設的網路卡名eno16777728改為eth0
[root@linux-node2network-scripts]# cat ifcfg-eth0                        #編輯網路卡資訊
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=eth0                                    #name修改為eth0
ONBOOT=yes
IPADDR=192.168.56.12
NETMASK=255.255.255.0
GATEWAY=192.168.56.2
DNS1=192.168.56.2

2)修改grub
[root@linux-node2~]# cat /etc/sysconfig/grub                  #編輯核心資訊,新增紅色欄位的
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=autorhgb net.ifnames=0 biosdevname=0 quiet"
GRUB_DISABLE_RECOVERY="true"

[root@linux-node2~]# grub2-mkconfig -o /boot/grub2/grub.cfg       #生成啟動選單
Generatinggrub configuration file ...
Foundlinux image: /boot/vmlinuz-3.10.0-229.el7.x86_64
Foundinitrd image: /boot/initramfs-3.10.0-229.el7.x86_64.img
Foundlinux image: /boot/vmlinuz-0-rescue-1100f7e6c97d4afaad2e396403ba7f61
Foundinitrd image: /boot/initramfs-0-rescue-1100f7e6c97d4afaad2e396403ba7f61.img
Done

也可以在開機啟動載入安裝系統介面設定。

3)驗證是否修改成功

[root@linux-node2~]# reboot                           #必須重啟系統生效
[root@linux-node2~]# yum install net-tools                   #預設centos7不支援ifconfig 需要看裝net-tools包
[root@linux-node2~]# ifconfig eth0                 #在次檢視網路卡資訊
eth0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.56.12 netmask 255.255.255.0 broadcast 192.168.56.255

inet6 fe80::20c:29ff:fe5c:7bb1 prefixlen 64 scopeid 0x20<link>

ether 00:0c:29:5c:7b:b1 txqueuelen 1000 (Ethernet)

RX packets 152 bytes 14503 (14.1 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 98 bytes 14402 (14.0 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 

centos7啟動網路卡服務報錯“RTNETLINK answers: File exists”的解決方法

[root@localhost network-scripts]# 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.

[root@localhost 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即可解決。重啟即可。
[root@localhost network-scripts]# service NetworkManager stop
Redirecting to /bin/systemctl stop  NetworkManager.service
[root@localhost network-scripts]# systemctl start network.service
[root@localhost network-scripts]# 

相關文章