无法启动CentOS 7“网络”服务


23

禁用并删除“ NetworkManager”服务后,我无法启动CentOS 7“网络”服务。当我检查网络服务状态时,出现以下错误:

#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”服务切换到网络服务时似乎没有出现任何问题。关于什么原因导致问题以及如何解决的任何想法?

注意:我使用yum擦除删除了网络管理服务。

这是询问的其他信息:

/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

由于我的信誉欠佳而无法发表评论,因此将其发布为答案,这不是我们想要的。<br/> <br/>是否可以发布以下内容:<br/> <br/> /etc/sysconfig/network-script/ifcfg-eth0<br/> /etc/hosts<br/> /etc/resolv.conf<br/> <br/>您可能要检查为特定NIC配置的路由。 (位于中/etc/sysconfig/network-scripts/route-<interface>),因为这可能会导致类似的错误。<br/> <br/>您尝试了ifdown eth0ifup eth0不是systemctl (re)start network?您是否Network Manager使用yum remove
Mosh Pit

嗨,谢谢您的补给。我已经更新了我的问题信息,看看。是的,我确实使用yum擦除删除了NetworkManager服务。我还没有尝试过ifdown eth0和ifup eth0,尽管删除了networkmanager服务并且无法启动网络服务,但我的网络连接仍然正常运行。
加泽尔2015年

您的界面配置中有HWADDR=XXXXXXXXXXX AND MACADDR=XXXXXXXXXX。这似乎是错误的,因为它看起来应该是相同的。尝试执行我建议的操作之一(在配置中对此部分进行注释),重新启动并重试。这是CentOS 7 Box SELinux强制执行的吗?您是在硬件上还是在虚拟环境中运行此系统?hosts并且resolv.conf看起来还不错。
Mosh Pit 2015年

最初,我在NetworkManager的GUI中对MAC进行了欺骗,因此它在真实的HWADDR之外还添加了伪造的MACADDR,因此就是它存在的原因。我应该删除MACADDR线吗?SELinux状态显示为已启用。我在硬件上运行它。
加泽尔2015年

尝试发表评论HWADDR和/或MACADDR,我认为取出MACADDR就足够了。重新启动整个方框,然后查看网络是否正常启动。另外,如果您不使用IPv6,请在那里丢掉垃圾。您也可以使用cat /sys/class/net/ens192/address来检查HWADDR,以确保其设置正确。
Mosh Pit 2015年

Answers:


30

在Centos7.0中,禁用NetworkManager将使为NetworkManager配置的dhcp客户端运行。启动服务RTNETLINK answers: File exists时,这会导致错误消息network

过时的dhclient过程还有一个额外的“好处”,那就是当租约到期时,您dhclient将窒息,因为它无法到达NetWorkManager,从而删除了您的IP地址。

如果您grep要这样做,您将看到它指向NetWorkManager配置文件。

[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,然后再启动网络服务。


是的,杀死dhclient为我解决了这个问题。谢谢
MichaelZ 2015年

6
我也没有足够的声誉来发表评论,但是我想支持Hans的回答,并补充说我必须在我的ifcfg文件中将bootproto更改为“ none”。仅在尝试重新启动网络时才调用dhclient,并且杀死dhclient进程无济于事,因为会在该位置生成另一个。修改ifcfg文件解决了我的问题。
onlyanegg 2015年

5

IP冲突也会导致此错误。试试:systemctl stop network,然后ifup eth0


1

正如我刚刚发现的那样,无法从DNS获取IP也会出现此错误。实际上,似乎任何网络错误都会导致此错误。这似乎是CentOS 7的问题,因为它在这里提供了非常差的错误。


1

由于已经确定-在设置网络时出现任何问题都会弹出此错误:IP冲突,路由问题等。

看看你的网关设置,以确认您的网关设置正确的事情是什么,他们需要与/etc/syscofig/network和每个的/etc/sysconfig/network-scripts/ifcfg-*外观有重复的IP,通过路由设置/etc/sysconfig/network-scripts/route-*,如果没记错的网关现在可以同时设置ifcfg-*route-*文件。因此,请确认没有重复或重叠。


1

如果您手动配置未连接到网络的接口,似乎也会发生这种情况。


1

我今天在CentOS 7.2克隆的虚拟机上也遇到了这个问题。这就是我解决的方法。

systemctl disable NetworkManager
systemctl enable network

通过命令找到接口的MAC地址,/sbin/ifconfig -a并将其附加在中/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重启服务器


0

查看网络脚本是否没有其他接口可能导致network.service崩溃

做一个ifconfig并写下接口。与网络脚本中的文件进行比较。如果网络脚本中的文件多于ifconfig中的接口,则可以删除其他无用的文件,然后执行systemctl重新启动网络。


0

克隆虚拟服务器后出现此错误,克隆将获得一个新的硬件地址(MAC),并且网络适配器配置仍具有旧的地址。

该行如下所示:HWADDR = 00:00:00:00:00:00


0

我遇到了这个问题,RTNETLINK answers: File exists即使在删除了网络管理器并仔细检查了我所有的网络配置后,服务器仍然给了我。

看来,IP已在另一台服务器上启动,并且服务器过滤了ICMP(因此无法ping),这是我尝试的第一件事。因此,请勿依赖ping来测试IP是否已启动!

启动时,网络脚本发出此命令(更改您的dev和ip)

/sbin/arping -c 2 -w 3 -D -I eth0 10.196.132.206

哪个告诉我们Mac地址与此IP相关联,但网络脚本(ifupsystemctl start network)失败


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.