RTNETLINK answers: File exists错误解决方法

来源:互联网 发布:网络违法犯罪举报电话 编辑:程序博客网 时间:2024/05/22 13:48
最好连接到console,而不要在SSH下面进行,因为可能导致网络中断,到时候你就连不到机器了 

chkconfig --level 35 network on
chkconfig --level 0123456 NetworkManager off

service NetworkManager stop
service network stop

service network start
ifup eth0
如果还不行,重启系统看看
(我使用到这里已经解决了问题)
  
service network start 出现RTNETLINK answers: File exists错误解决 或者
 
/etc/init.d/network start   出现RTNETLINK answers: File exists错误解决 (呵呵,其实两者是等效的,其实前者执行的就是这个命令)。
 
在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的配置文件,是这两个配置服务的临界资源吧,这可能是造成冲突的主要原因)。

0 0