Não é possível iniciar o serviço de "rede" do CentOS 7

23

Não consigo iniciar o serviço de "rede" do CentOS 7 depois de desativar e remover o serviço "NetworkManager". Quando verifico o status do serviço de rede, ele aparece com o seguinte erro:

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

No CenOS anterior, parecia não haver problemas ao alternar do serviço "NetworkManager" para o serviço de rede. Alguma idéia sobre o que causa o problema e como corrigi-lo?

Nota: usei o yum erase para remover o serviço de gerenciamento de rede.

Aqui estão informações adicionais, conforme 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
fonte
Como não posso postar um comentário devido à minha baixa reputação, estou postando isso como uma resposta, que NÃO se destina a ser. <br/> <br/> Você pode publicar o seguinte: <br/> <br/> /etc/sysconfig/network-script/ifcfg-eth0<br/> /etc/hosts<br/> /etc/resolv.conf<br/> <br/> Você pode verificar suas rotas configuradas para essa NIC específica (encontrado em /etc/sysconfig/network-scripts/route-<interface>), pois isso pode causar erros semelhantes. <br/> <br/> Você tentou ifdown eth0e em ifup eth0vez de systemctl (re)start network? Você desabilitou / desinstalou Network Managerusandoyum remove
Mosh Pit
Olá, obrigado por reabastecer. Atualizei minhas informações da pergunta acima. Dê uma olhada. Sim, usei o yum erase para remover o serviço NetworkManager. Eu não tentei o ifdown eth0 e ifup eth0, hoever Minha conexão de rede ainda está ativa, apesar de remover o serviço de gerenciador de rede e a incapacidade de iniciar o serviço de rede.
Gazel
Você tem HWADDR=XXXXXXXXXXX AND MACADDR=XXXXXXXXXX na sua configuração de interface. Isso parece estar errado, pois parece que ele deve ser o mesmo. Tente uma das coisas que eu recomendei (comentando esta parte na sua configuração), reinicie e tente novamente. Esta caixa do CentOS 7 está sendo aplicada pelo SELinux? Você está executando este sistema em um hardware ou em um ambiente virtual? hostse resolv.confparece bom até agora.
Mosh Pit
Originalmente, eu falsifiquei o MAC na GUI do NetworkManager, então ele adicionou o MACADDR falso, além do HWADDR real, e é por isso que está lá. Devo remover a linha MACADDR? O status do SELinux é ativado. Estou executando em um hardware.
Gazel
Tente comentar HWADDRe / ou MACADDR, acho que retirar MACADDRdeve ser suficiente. Reinicie a caixa inteira e verifique se a rede está funcionando corretamente. Além disso, se você não usar IPv6, pegue essa porcaria lá fora. Você também pode verificar seu HWADDR usando cat /sys/class/net/ens192/addresspara garantir que ele esteja configurado corretamente.
Mosh Pit

Respostas:

30

No Centos7.0, desabilitar o NetworkManager deixará um cliente dhcp em execução configurado para o NetworkManager. Isso causa a mensagem de erro RTNETLINK answers: File existsquando o networkserviço é iniciado.

O dhclientprocesso obsoleto tem o "benefício" adicional de que, quando a concessão expirar, o seu dhclientbloqueador será bloqueado, pois ele não pode alcançar o NetWorkManager, removendo assim o seu endereço IP.

Se você fizer grepisso, verá que ele aponta para um arquivo de configuração do 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

Então, o que você pode fazer é eliminar o dhcliente só então iniciar o serviço de rede.

Hans Then
fonte
Sim, matar dhclient resolveu o problema para mim. Obrigado
MichaelZ 4/15
6
Eu também não tenho reputação suficiente para comentar, mas queria apoiar a resposta de Hans e acrescentar que precisava alterar o bootproto para "none" nos meus arquivos ifcfg. O dhclient estava sendo chamado apenas ao tentar reiniciar a rede, e matar o processo do dhclient não ajudou, porque outro surgiria em seu lugar. A modificação dos arquivos ifcfg resolveu meu problema.
onlyanegg
5

Um conflito de IP também causará esse erro. Tente:, systemctl stop networkentão ifup eth0.

estragar
fonte
1

Uma falha ao obter um IP do DNS também causará esse erro, como acabei de encontrar. De fato, parece que qualquer erro na rede causará esse erro. Isso parece ser um problema com o CentOS 7, pois gera um erro muito ruim aqui.

MikeKulls
fonte
1

como já foi identificado - esse erro aparece com qualquer problema ao configurar a rede: conflito de IP, problemas de roteamento etc.

Observe as configurações do seu gateway para confirmar se seus gateways estão definidos corretamente e tudo o que eles precisam estar, /etc/syscofig/networke cada um /etc/sysconfig/network-scripts/ifcfg-*procura por IP duplicado, rotas definidas via /etc/sysconfig/network-scripts/route-*se a memória me servir corretamente. Agora, os gateways podem ser configurados nos arquivos ifcfg-*e route-*. Portanto, confirme se não há duplicação ou sobreposição.

Droopy4096
fonte
1

Parece que isso acontece também se você configurar manualmente uma interface que não esteja conectada à rede.

aryeh
fonte
1

Hoje eu também enfrentei isso em uma máquina virtual clonada do CentOS 7.2. Foi assim que eu consertei.

systemctl disable NetworkManager
systemctl enable network

Encontre o endereço MAC da interface através do comando /sbin/ifconfig -ae adicione-o em /etc/sysconfig/network-scripts/ifcfg-<interface_name>. Você pode usar os comandos abaixo para a primeira interface.

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

Em seguida, dispare rebootpara reiniciar o servidor

vikas027
fonte
0

Examine os scripts de rede se não há outra interface que possa travar o network.service

faça um ifconfig e anote a interface. Compare com os arquivos em scripts de rede. Se houver mais arquivos nos scripts de rede do que interfaces no ifconfig, você poderá excluir os arquivos inúteis adicionais e, em seguida, reiniciar a rede systemctl.

Nicolas Guérinet
fonte
0

Este erro ocorreu após a clonagem de um servidor virtual, o clone recebeu um novo endereço de hardware (MAC) e a configuração do adaptador de rede ainda possuía o antigo.

A linha se parece com: HWADDR = 00: 00: 00: 00: 00: 00

WhoIsRich
fonte
0

Eu me deparei com esse problema, onde o servidor continua me dando RTNETLINK answers: File existsmesmo depois de remover o gerenciador de rede e verificar três vezes toda a minha configuração de rede.

Parece que um IP estava ativo em outro servidor e que o servidor filtra o ICMP (portanto, sem ping), primeiras coisas que tentei. Portanto, não confie no ping para testar se um IP está ativo ou não!

Ao iniciar, o script de rede emite este comando (altere seu dev e ip)

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

Que nos dizem que um endereço mac está associado a este IP e falha no script de rede ( ifupou systemctl start network)

Alban M
fonte
0

Eu também encontrei problemas semelhantes. Para modificar os arquivos de configuração. (Ifcfg-ensxxxx), como a seguir, insira a descrição da imagem aqui

  • Lista comentada "UUID = xxxx-xxxx"
  • Adicionar nova opção NM_CONTROLLED=no:, indica que essa interface será configurada usando este arquivo de configuração, em vez de ser gerenciada pelo serviço Network Manager.

Referência: Como configurar um endereço IP estático no CentOS 7

Colin Chen
fonte