Nie można uruchomić usługi „sieci” CentOS 7

23

Nie mogę uruchomić usługi „sieci” CentOS 7 po wyłączeniu i usunięciu usługi „NetworkManager”. Kiedy sprawdzam stan usługi sieciowej, pojawia się następujący błąd:

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

We wcześniejszym CenOS nie wydawało się, aby powodowało to problemy podczas przełączania z usługi „NetworkManager” do usługi sieciowej. Wszelkie pomysły na to, co powoduje problem i jak go naprawić?

Uwaga: użyłem funkcji wymazywania yum do usunięcia usługi zarządzania siecią.

Oto dodatkowe informacje zgodnie z pytaniem:

/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
źródło
Ponieważ nie mogę opublikować komentarza z powodu mojej niskiej reputacji, zamieszczam go jako odpowiedź, co NIE jest zamierzone. <br/> <br/> Czy możesz opublikować następujące informacje: <br/> <br/> /etc/sysconfig/network-script/ifcfg-eth0<br/> /etc/hosts<br/> /etc/resolv.conf<br/> <br/> Możesz sprawdzić skonfigurowane trasy dla tej konkretnej karty sieciowej (znaleziono w /etc/sysconfig/network-scripts/route-<interface>), ponieważ może to powodować podobne błędy. <br/> <br/> Czy próbowałeś ifdown eth0i ifup eth0zamiast systemctl (re)start network? Czy dezaktywowałeś / odinstalowałeś Network Managerużywającyum remove
Mosh Pit
Cześć, dzięki za uzupełnienie zapasów. Zaktualizowałem moje informacje o pytaniu powyżej, spójrz. Tak, użyłem funkcji wymazywania yum, aby usunąć usługę NetworkManager. Nie próbowałem ifdown eth0 i ifup eth0, hoever Moje połączenie sieciowe wciąż działa i działa pomimo usunięcia usługi menedżera sieci i niemożności uruchomienia usługi sieciowej.
Gazel
Masz konfigurację interfejsu HWADDR=XXXXXXXXXXX AND MACADDR=XXXXXXXXXX . Wydaje się to błędne, ponieważ wygląda na to, że ma być tak samo. Wypróbuj jedną z rzeczy, które zaleciłem (komentując tę ​​część w konfiguracji), uruchom ponownie i spróbuj ponownie. Czy ten moduł SELOS-a CentOS 7 wymusza? Czy używasz tego systemu na sprzęcie czy w środowisku wirtualnym? hostsi do resolv.conftej pory wyglądają dobrze.
Mosh Pit
Początkowo sfałszowałem MAC w GUI NetworkManager, więc dodałem fałszywy MACADDR oprócz prawdziwego HWADDR, więc dlatego tam jest. Czy powinienem usunąć linię MACADDR? Status SELinux czyta włączony. Używam go na sprzęcie.
Gazel
Spróbuj komentować HWADDRi / lub MACADDRuważam, że zabranie MACADDRpowinno wystarczyć. Uruchom ponownie całe pole i sprawdź, czy sieć działa prawidłowo. Ponadto, jeśli nie używasz IPv6, weź to bzdury. Możesz również sprawdzić swój HWADDR za pomocą, cat /sys/class/net/ens192/addressaby upewnić się, że jest poprawnie skonfigurowany.
Mosh Pit,

Odpowiedzi:

31

W Centos7.0 wyłączenie NetworkManagera pozostawi działającego klienta DHCP skonfigurowanego dla NetworkManager. Powoduje to wyświetlenie komunikatu o błędzie RTNETLINK answers: File existspodczas networkuruchamiania usługi.

Nieaktualny dhclientproces ma dodatkową „korzyść”, że po wygaśnięciu dzierżawy dhclientdusi się, ponieważ nie może on dotrzeć do NetWorkManager, usuwając w ten sposób adres IP.

Jeśli grepto zrobisz, zobaczysz, że wskazuje on plik konfiguracyjny 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

Więc co możesz zrobić, to zabić dhclienti dopiero wtedy uruchomić swoją usługę sieciową.

Hans Then
źródło
Tak, zabicie dhclient naprawiło dla mnie ten problem. Dzięki
MichaelZ
6
Nie mam też wystarczającej reputacji, aby móc komentować, ale chciałem wesprzeć odpowiedź Hansa i dodać, że musiałem zmienić bootproto na „none” w moich plikach ifcfg. Program dhclient był wywoływany tylko podczas próby ponownego uruchomienia sieci, a zabicie procesu dhclient nie pomogło, ponieważ inny odrodziłby się w jego miejscu. Modyfikacja plików ifcfg rozwiązała mój problem.
onlyanegg
5

Konflikt IP spowoduje również ten błąd. Spróbuj: systemctl stop networka następnie ifup eth0.

zepsuty
źródło
1

Niepowodzenie uzyskania adresu IP z DNS również spowoduje ten błąd, jak właśnie znalazłem. W rzeczywistości wygląda na to, że każdy błąd w sieci spowoduje ten błąd. Wydaje się to być problemem w CentOS 7, ponieważ daje tutaj bardzo słaby błąd.

MikeKulls
źródło
1

jak już zostało zidentyfikowane - ten błąd pojawia się przy każdym problemie podczas konfigurowania sieci: konflikt IP, problemy z routingiem itp.

Spójrz na ustawienia bramy, aby potwierdzić, że bramy są ustawione poprawnie i rzeczy muszą być z nimi, /etc/syscofig/networka każdy z nich /etc/sysconfig/network-scripts/ifcfg-*szuka zduplikowanego adresu IP, trasy ustawione przez, /etc/sysconfig/network-scripts/route-*jeśli pamięć obsługuje mi właściwe bramy, można teraz ustawić zarówno w plikach, jak ifcfg-*i w route-*plikach. Więc potwierdź, że nie ma powielania ani nakładania się.

Droopy4096
źródło
1

Wydaje się, że dzieje się tak również wtedy, gdy ręcznie skonfigurujesz interfejs, który nie jest podłączony do sieci.

aryeh
źródło
1

Ja też stawiłem temu czoła na sklonowanej maszynie wirtualnej CentOS 7.2. Tak to naprawiłem.

systemctl disable NetworkManager
systemctl enable network

Znajdź adres MAC interfejsu za pomocą polecenia /sbin/ifconfig -ai dodaj go w /etc/sysconfig/network-scripts/ifcfg-<interface_name>. Możesz użyć poniższych poleceń dla pierwszego interfejsu.

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

Następnie rebooturuchom, aby zrestartować serwer

vikas027
źródło
0

Sprawdź skrypty sieciowe, czy nie ma innego interfejsu, który mógłby spowodować awarię usługi network.service

wykonaj ifconfig i zapisz interfejs. Porównaj z plikami w skryptach sieciowych. Jeśli w skryptach sieciowych jest więcej plików niż interfejsów w ifconfig, możesz usunąć dodatkowe niepotrzebne pliki, a następnie ponownie uruchomić sieć systemctl.

Nicolas Guérinet
źródło
0

Gdyby ten błąd wystąpił po sklonowaniu serwera wirtualnego, klon otrzymał nowy adres sprzętowy (MAC), a konfiguracja karty sieciowej wciąż miała stary.

Linia wygląda następująco: HWADDR = 00: 00: 00: 00: 00: 00

WhoIsRich
źródło
0

Natknąłem się na ten problem, w którym serwer wciąż mi daje, RTNETLINK answers: File existsnawet po usunięciu menedżera sieci i potrójnym sprawdzeniu całej mojej konfiguracji sieci.

Wygląda na to, że adres IP działał na innym serwerze i że serwer filtruje ICMP (więc nie pinguje), pierwsze rzeczy próbowałem. Więc nie polegaj na pingu w testowaniu, czy adres IP działa, czy nie!

Podczas uruchamiania skrypt sieciowy wydaje to polecenie (zmień swój program i ip)

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

Co mówi nam, że adres MAC jest powiązany z tym adresem IP i nie działa skrypt sieciowy ( ifuplub systemctl start network)

Alban M.
źródło
0

Napotkałem również podobne problemy. Aby zmodyfikować pliki konfiguracyjne. (Ifcfg-ensxxxx), w następujący sposób wprowadź opis obrazu tutaj

  • Lista została skomentowana „UUID = xxxx-xxxx”
  • Dodaj nową opcję: NM_CONTROLLED=nowskazuje, że ten interfejs zostanie skonfigurowany przy użyciu tego pliku konfiguracyjnego, a nie będzie zarządzany przez usługę Network Manager.

Odniesienie: Jak skonfigurować statyczny adres IP w CentOS 7

Colin Chen
źródło