Centos-启动network报错RTNETLINK answers: File exists解决方法

分类:CentOS运维 阅读:48368 次

最好连接到console,而不要在SSH下面进行,因为可能导致网络中断,到时候你就连不到机器了
chkconfig --level 35 network on
chkconfig --level 0123456 NetworkManager off

service NetworkManager stop
service network stop

service network start
如果还不行,重启系统看看

service network start 出现RTNETLINKanswers:Fileexists错误解决 或者
/etc/init.d/network start 出现RTNETLINKanswers:Fileexists错误解决 (呵呵,其实两者是等效的,其实前者执行的就是这个命令)。
在centos下出现该故障的原因是启动网络的两个服务有冲突:/etc/init.d/network 和 /etc/init.d/NetworkManager这两个服务有冲突吧。
从根本上说是NetworkMaganager(NM)的带来的冲突,停用NetworkManager即可解决。重启即可。
1.切换到root账户,并用chkconfig命令查看network 和 NetworkManager两个服务的开机启动配置情况;
[wzb@embedded ~]$ su - root
口令:
[root@embedded ~]# chkconfig --list network
network 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@embedded ~]# chkconfig --list NetworkManager
NetworkManager 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:关闭 6:关闭
[root@embedded ~]#
2.停用NetworkManager,开机时,不让其启动:
[root@embedded ~]# chkconfig --level123456 NetworkManager off
3.启用network服务,开机启动。在3、4、5用户模式下;
[root@embedded ~]# chkconfig --level345 network on
或者 通过编辑 vi /etc/rc.d/rc.local文件在最后添加一行:/etc/init.d/network start
[root@embedded ~]# vi /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
/etc/init.d/network start
4.停用NetworkManager.,通过重启如果是远程的话,比较安全。
[root@embedded ~]# reboot
注意:如果不是远程的话也可以通过如下命令解决,不过上述配置将在下次重启后,生效。
[root@embedded ~]# /etc/init.d/NetworkManager stop //若果是远程的的话,这将中断你的网络,即不能进行远程控制了(相当于自杀)
[root@embedded ~]# /etc/init.d/NetworkManager status
NetworkManager 已停
[root@embedded ~]# /etc/init.d/network stop //若果是远程的的话,这将中断你的网络,即不能进行远程控制了(相当于自杀)
[root@embedded ~]# /etc/init.d/network start
弹出环回接口: [确定]
弹出界面 eth0: [确定]
[root@embedded ~]#
5.测试网络: ping http://www.baidu.com/
如果能够ping通的话,说明网络已经错误了。
如果ping不通的话,说明网络dns配置有问题,既然远程连上你的主机,说明主机的网络没问题,而你用的是ip。而你的远程主机ping域名ping不通,当时你若尝试ping ip话也是能ping通的,这就更进一步说明,是dns配置的问题。这都network Manager带来的问题,使DNS的配置文件 /etc/resolv.conf 为默认状态,即没有配置域名服务器;
可以通过编辑 vi /etc/resolv.conf 文件:
以google的域名服务器为例:在最后添加两句:
search google.com
nameserver 8.8.8.8
保存/etc/resolv.conf 并退出。
再次ping www.baidu.com 发现成功了。

6.总结: 问题产生的原因:是两个配置网络的服务的冲突造成的。卸载 NetworkManager这个罪魁祸首,是根本。
你两次执行 /etc/init.d/network start 同样会产生上述问题的症状。正常的情况下,在网络开启的状态下,应该用 /etc/init.d/network restart.
(可能网络的配置文件 ip 、dns的配置文件,是这两个配置服务的临界资源吧,这可能是造成冲突的主要原因)。