`
libin0019
  • 浏览: 237421 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

RTNETLINK answers: File exists Error adding address 的解决方法

 
阅读更多

最好连接到console,而不要在SSH下面进行,因为可能导致网络中断,到时候你就连不到机器了

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

service NetworkManager stop
service network stop

service network start

如果还不行,重启系统看看

 

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的配置文件,是这两个配置服务的临界资源吧,这可能是造成冲突的主要原因)。

 

分享到:
评论

相关推荐

    centos7重启网卡提示错误的解决方法.docx

    在本例中,dhclient命令用于获取IP地址,但出现了RTNETLINK answers: File exists错误。 知识点6:VMware相关服务 VMware相关服务是虚拟机中的服务,用于提供虚拟机的网络服务。在本例中,需要启动或重启VMware...

    rtnetlink:软件包rtnetlink提供了对Linux rtnetlink API的低级访问。 麻省理工学院许可

    rtnetlink 软件包rtnetlink允许读取和更改内核的路由表。 网络路由,IP地址,链接参数,邻居设置,排队规则,流量类别和数据包分类器都可以受到控制。 它基于netlink消息。 使用软件包可以方便,高级地使用API​​...

    rtnetlink.rar_For Real

    rtnetlink families. Values up to 127 are reserved for real address families, values above 128 may be used arbitrarily.

    go-tc:纯粹的流量控制-它允许读取和更改队列,过滤器和类

    // open a rtnetlink socket rtnl , err := tc . Open ( & tc. Config {}) if err != nil { fmt . Fprintf ( os . Stderr , "could not open rtnetlink socket: %v \n " , err ) return } defer func () { ...

    centos linux 支持ipv6

    使用modprobe命令加载ipv6模块,如果系统不支持该操作可能会出现错误信息RTNETLINK answers: Operation not supported。 d. 重启网络服务以应用更改,具体可以通过命令service network restart,或者如果不起作用...

    rtnetlink.rar_V2

    在Linux操作系统中,rtnetlink是一种用于网络配置和路由信息交换的重要机制。它提供了一个接口,使得用户空间程序能够与内核空间进行通信,获取或设置网络接口和路由的相关参数。标题"rtnetlink.rar_V2"暗示这是一个...

    rtnetlink.rar_measure864_rtnl_link_ops

    在Linux网络子系统中,`rtnetlink`是一个重要的通信接口,用于用户空间与内核空间之间的数据交互,特别是关于网络配置和状态信息的传递。`rtnl_link_ops`结构体是`rtnetlink`框架的核心部分,它定义了对网络接口进行...

    系统限速tcconfig

    5. 常见问题及其解决方法: 在使用tcconfig过程中可能会遇到一些问题,如RTNETLINK消息错误(如无此文件或目录、操作不支持等)。文档提供了对应错误的解决方案,帮助用户快速定位和解决问题。 6. 文档结构和内容...

    C语言获取ipv6地址的三种方法

    在C语言中,获取IPv6地址相较于IPv4地址需要采用特定的方法,因为传统的获取IPv4地址的方法如`ioctl()`函数不适用于IPv6。本文将详细介绍三种在C语言中获取IPv6地址的方法,并提供相应的源代码示例。这些方法在...

    DDNS 的工作原理及其在 Linux 上的实现

    - **异步通知**:当IP变化时,由内核或网络设备直接通知应用程序,这是更高效的方法。Linux内核通过rtnetlink机制提供这种通知服务。 2. **rtnetlink**:rtnetlink是Linux内核提供的一种用于内核和用户空间通信的...

    获取网卡Mac地址C++代码2

    `GetAdaptersInfo()`返回一个`IP_ADAPTER_INFO`结构体数组,而`GetAdaptersAddresses()`返回`IP_ADAPTER_ADDRESSES`结构体链表,这两个结构体都包含了`PhysicalAddress`字段,即Mac地址。 3. **使用Linux的libnl库*...

    linux qos的学习

    3. 用户空间的控制接口:通过 rtnetlink 实现用户空间的控制接口。 Linux QoS 的工作流程 在 Linux 内核中,QoS 机制工作流程如下: 1. 上层协议开始发送数据包。 2. 获得当前设备所采用的策略对象。 3. 调用此...

    netlink和Linux网络配置库Pyroute2.zip

    这个库提供了如下模块:Netlink协议实现(RTNetlink, TaskStats等)rtnl, 网络设置 --- 地址(addresses), 路由(routes), 传输控制(traffic controls)nl80211 --- 无线功能相关的API(开发中)nfnetlink --- netfilter ...

    Linux下静态路由实现

    在Linux操作系统中,静态路由是一种网络配置方法,用于指定数据包如何从一台主机发送到其他特定网络,而不依赖于动态路由协议。这种技术通常适用于网络结构简单或对网络流量有精确控制需求的环境。本篇文章将详细...

    linux下使用netlink获取gateway的IP地址

    `<linux/rtnetlink.h>`头文件包含了处理路由和Netlink相关数据结构的定义。 ```c struct rtmsg { __u8 rtm_family; // 地址族,通常为AF_INET或AF_INET6 __u8 rtm_dst_len; // 目标地址长度 __u8 rtm_src_len; /...

    routes-2.6.7-10.diff.txt

    在`rtnetlink.h`文件中,新增了两个宏定义:`RTNH_F_SUSPECT`和`RTNH_F_BADSTATE`。前者用于标记网关的状态未知,后者则用于组合标志网关可能处于死态或状态未知的情况。这反映了对邻接状态管理的细化,通过引入这些...

    linux内核初始化及启动之用户模式开始.pdf

    文件中,这部分代码实现了Routing Netlink socket接口,即RTnetlink接口,它是协议独立的,可以处理各种类型的路由信息。 #### 交换守护进程kswapd kswapd是Linux内核中的一个重要进程,负责内存管理。它会定期...

    Linux下if_addr.h头文件

    在红旗3安装keepalived 时会出现编译错误,需要将此文件加入/usr/include/...并且在开头加入#include <linux/rtnetlink.h> 注释struct ifaddrmsg、enum、struct ifa_cacheinfo 然后重新编译keepalived即可完成安装

Global site tag (gtag.js) - Google Analytics