No se puede iniciar el servicio de "red" CentOS 7

23

No puedo iniciar el servicio "red" de CentOS 7 después de deshabilitar y eliminar el servicio "NetworkManager". Cuando verifico el estado del servicio de red, aparece el siguiente error:

#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.

En CenOS anteriores, no parecía haber ningún problema al cambiar del servicio "NetworkManager" al servicio de red. ¿Alguna idea de qué causa el problema y cómo solucionarlo?

Nota: Utilicé yum erase para eliminar el servicio de administración de red.

Aquí hay información adicional según lo solicitado:

/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
Gazel
fuente
Como no puedo publicar un comentario debido a mi baja reputación, publico esto como respuesta, que NO está destinado a ser. <br/> <br/> ¿Puede publicar lo siguiente: <br/> <br/> /etc/sysconfig/network-script/ifcfg-eth0<br/> /etc/hosts<br/> /etc/resolv.conf<br/> <br/> Es posible que desee verificar las rutas configuradas para esa NIC específica (encontrado en /etc/sysconfig/network-scripts/route-<interface>), ya que esto puede causar errores similares. <br/> <br/> ¿Intentaste ifdown eth0y en ifup eth0lugar de systemctl (re)start network? ¿Deshabilitó / desinstaló Network Managerusandoyum remove
Mosh Pit
Hola, gracias por el reabastecimiento. He actualizado la información de mi pregunta anterior, eche un vistazo. Sí, utilicé yum erase para eliminar el servicio NetworkManager. No he probado el ifdown eth0 y el ifup eth0, sin embargo Mi conexión de red todavía está en funcionamiento a pesar de eliminar el servicio networkmanager y la incapacidad para iniciar el servicio de red.
Gazel
Tienes HWADDR=XXXXXXXXXXX AND MACADDR=XXXXXXXXXX en la configuración de tu interfaz. Esto parece estar mal, ya que parece que está destinado a ser lo mismo. Pruebe una de las cosas que recomendé (comentar esta parte en su configuración), reinicie e intente nuevamente ¿Se está aplicando esta caja CentOS 7 SELinux? ¿Está ejecutando este sistema en un hardware o en un entorno virtual? hostsy se resolv.confve bien hasta ahora.
Mosh Pit
Originalmente falsifiqué el MAC en la GUI de NetworkManager, por lo que agregó el MACADDR falso además del HWADDR real, por eso está ahí. ¿Debo eliminar la línea MACADDR? Las lecturas de estado de SELinux están habilitadas. Lo estoy ejecutando en un hardware.
Gazel
Intenta comentar HWADDRy / o MACADDR, aunque creo que sacarlo MACADDRdebería ser suficiente. Reinicie todo el cuadro y observe si la red está funcionando correctamente. Además, si no lo usas IPv6, saca esa basura. También puede verificar su HWADDR utilizando cat /sys/class/net/ens192/addresspara asegurarse de que está configurado correctamente.
Mosh Pit

Respuestas:

31

En Centos7.0, deshabilitar NetworkManager dejará un cliente dhcp ejecutándose configurado para NetworkManager. Esto provoca el mensaje de error RTNETLINK answers: File existscuando networkse inicia el servicio.

El dhclientproceso obsoleto tiene el "beneficio" adicional que cuando expira el contrato de arrendamiento dhclient, se ahogará, ya que no puede llegar a NetWorkManager, eliminando así su dirección IP.

Si greplo desea, verá que apunta a un archivo de configuración de 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

Entonces, lo que puede hacer es matar dhclienty solo entonces iniciar su servicio de red.

Hans Entonces
fuente
Sí, matar a dhclient me solucionó el problema. Gracias
MichaelZ
66
Tampoco tengo suficiente reputación para comentar, pero quería respaldar la respuesta de Hans y agregar que tuve que cambiar el bootproto a "ninguno" en mis archivos ifcfg. El dhclient solo estaba siendo llamado cuando intentaba reiniciar la red, y matar el proceso dhclient no ayudó, porque otro generaría en su lugar. Modificar los archivos ifcfg resolvió mi problema.
onlyanegg
5

Un conflicto de IP también causará este error. Intenta: systemctl stop networkentonces ifup eth0.

spoovy
fuente
1

Un error al obtener una IP del DNS también dará este error como acabo de encontrar. De hecho, parece que cualquier error con la red causará este error. Esto parece ser un problema con CentOS 7, ya que aquí da un error muy pobre.

MikeKulls
fuente
1

como ya se ha identificado: este error aparece con cualquier problema al configurar la red: conflicto de IP, problemas de enrutamiento, etc.

Mire la configuración de su puerta de enlace para confirmar que sus puertas de enlace estén configuradas correctamente y que las cosas sean con lo que deben estar, /etc/syscofig/networky cada una de las /etc/sysconfig/network-scripts/ifcfg-*búsquedas de IP duplicadas, las rutas configuradas a través de /etc/sysconfig/network-scripts/route-*si la memoria me sirve, las puertas de enlace correctas ahora se pueden configurar tanto en archivos ifcfg-*como en route-*archivos. Así que confirme que no hay duplicación o superposición.

Droopy4096
fuente
1

Parece que esto sucede también si configura manualmente una interfaz que no está conectada a la red.

aryeh
fuente
1

Yo también enfrenté esto hoy en una máquina virtual clonada CentOS 7.2. Así es como lo arreglé.

systemctl disable NetworkManager
systemctl enable network

Encuentre la dirección MAC de la interfaz a través del comando /sbin/ifconfig -ay añádala /etc/sysconfig/network-scripts/ifcfg-<interface_name>. Puede usar los siguientes comandos para la primera interfaz.

nic_file=`ls /etc/sysconfig/network-scripts/ifcfg-e*`
ifconfig -a | grep ether | awk '{ print $2 }' | sed 's/.*/HWADDR=&/' >> ${nic_file}

Luego dispare rebootpara reiniciar el servidor

vikas027
fuente
0

Busque en los scripts de red si no hay otra interfaz que pueda bloquear la red.

haga un ifconfig y escriba la interfaz. Compare con los archivos en scripts de red. Si hay más archivos en scripts de red que interfaces en ifconfig, puede eliminar los archivos inútiles adicionales y luego hacer un reinicio de red systemctl.

Nicolas Guérinet
fuente
0

Tenía este error después de clonar un servidor virtual, el clon recibió una nueva dirección de hardware (MAC) y la configuración del adaptador de red todavía tenía la anterior.

La línea se ve así: HWADDR = 00: 00: 00: 00: 00: 00: 00

WhoIsRich
fuente
0

Me encontré con este problema, donde el servidor sigue dándome RTNETLINK answers: File existsincluso después de eliminar el administrador de red y verificar tres veces toda la configuración de mi red.

Parece que una IP estaba activa en otro servidor y que el servidor filtraba ICMP (por lo que no hay ping), lo primero que probé. ¡Así que no confíe en el ping para probar si una IP está activa o no!

Al comenzar, el script de red emite este comando (cambie su dev e ip)

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

Lo que nos dice que una dirección MAC está asociada con esta IP y falla el script de red ( ifupo systemctl start network)

Alban M
fuente