禁用并删除“NetworkManager”服务后,无法启动CentOS 7“networking”服务。 当我检查networking服务状态时,出现以下错误:
#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 Fri 2015-01-16 22:30:46 GMT; 38s ago Process: 4857 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE) Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists Jan 16 22:30:46 localhost.localdomain systemd[1]: network.service: control process exited, code=exited status=1 Jan 16 22:30:46 localhost.localdomain systemd[1]: Failed to start LSB: Bring up/down networking. Jan 16 22:30:46 localhost.localdomain systemd[1]: Unit network.service entered failed state.
在较早的CenOS中,从“NetworkManager”服务切换到networking服务时似乎没有任何问题。 任何想法是什么原因引起的问题,以及如何解决它?
注:我用yum擦除删除networkingpipe理服务。
这里是附加的信息问:
/etc/sysconfig/network-script/ifcfg-enp8s0 TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=enp8s0 UUID=453a07fe-1b07-4f29-bc32-f2168e50706a ONBOOT=yes HWADDR=XXXXXXXXXXX MACADDR=XXXXXXXXXX PEERDNS=yes PEERROUTES=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes
/etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
/etc/resolv.conf ; generated by /usr/sbin/dhclient-script search customer.marples.midcity.lan nameserver 10.241.128.1
在Centos7.0中,禁用NetworkManager将为NetworkManagerconfiguration一个正在运行的DHCP客户端。 这会导致错误消息RTNETLINK answers: File exists
network
服务启动时RTNETLINK answers: File exists
。
过时的dhclient
进程有额外的“好处”,当租约到期时,你的dhclient
会窒息,因为它不能到达NetWorkManager,从而删除你的IP地址。
如果你grep
它,你会看到它指向一个NetWorkManagerconfiguration文件。
[root@host ~]# ps -ef | grep dhc root 1865 792 0 Apr28 ? 00:00:00 /sbin/dhclient -d -sf \ /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-eno1.pid -lf\ /var/lib/NetworkManager/dhclient-c96e56d3-a4c9-4a87-85ca-93dc0ca268f2-eno1.lease\ -cf /var/lib/NetworkManager/dhclient-eno1.conf eno1
所以你可以做的是杀死dhclient
,然后才开始你的networking服务。
IP冲突也会导致这个错误。 试试: systemctl stop network
,然后ifup eth0
。
没有从DNS获取IP也会导致这个错误,因为我刚刚发现。 事实上,它看起来像networking的任何错误将导致这个错误。 这似乎是CentOS 7的一个问题,因为它在这里给出了一个非常糟糕的错误。
因为它已经被识别 – 这个错误在设置networking时popup:IP冲突,路由问题等。
看看你的网关设置,以确认你的网关设置正确,事情是他们需要与/etc/syscofig/network
和每个/etc/sysconfig/network-scripts/ifcfg-*
寻找重复的IP,路由集通过/etc/sysconfig/network-scripts/route-*
如果内存为我提供正确的网关,现在可以在ifcfg-*
和route-*
文件中设置。 所以确认没有重复或重叠。
如果您手动configuration未连接到networking的接口,似乎也会发生这种情况。
查看networking脚本是否没有其他可能导致network.service崩溃的接口
做一个ifconfig并写下接口。 与networking脚本中的文件进行比较。 如果networking脚本中的文件多于ifconfig中的接口,则可以删除其他无用的文件,然后执行systemctl restart network。
在克隆虚拟服务器后出现此错误,克隆被赋予一个新的硬件地址(MAC),而networking适配器configuration仍然有旧的。
该行看起来像:HWADDR = 00:00:00:00:00:00
我今天在CentOS 7.2克隆的虚拟机上遇到了这个问题。 这是我如何解决它。
systemctl disable NetworkManager systemctl enable network
通过命令/sbin/ifconfig -a
查找接口的MAC地址,并将其追加到/etc/sysconfig/network-scripts/ifcfg-<interface_name>
。 您可以使用下面的命令为第一个界面。
nic_file=`ls /etc/sysconfig/network-scripts/ifcfg-e*` ifconfig -a | grep ether | awk '{ print $2 }' | sed 's/.*/HWADDR=&/' >> ${nic_file}
然后reboot
重启服务器
我遇到了这个问题,服务器不断给我RTNETLINK answers: File exists
即使删除networkingpipe理器和三重检查我的networkingconfigurationRTNETLINK answers: File exists
。
看来,一个IP在另一台服务器上,并且服务器过滤ICMP(所以没有ping),我尝试的第一件事情。 所以不要依靠ping来testing一个IP是否正常!
启动时,networking脚本发出这个命令(更改你的dev和ip)
/sbin/arping -c 2 -w 3 -D -I eth0 10.196.132.206
这告诉我们一个mac地址与这个IP相关联,并且失败了networking脚本( ifup
或者systemctl start network
)