Brak sieci: nie udało się wywołać eth0

10

Usługa sieciowa nie uruchamia się / nie uruchamia się po ponownym uruchomieniu.

Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code.

Wciąż mogę uzyskać dostęp do serwera za pomocą konsoli zdalnej, ale nic więcej, ponieważ bez sieci nie ma wyjścia ani nie.

systemctl status network.service mówi:

● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor prese
t: enabled)
  Drop-In: /run/systemd/generator/networking.service.d
           └─50-insserv.conf-$network.conf
   Active: failed (Result: exit-code) since Mo 2016-04-18 06:53:11 UTC; 43s ago
     Docs: man:interfaces(5)
  Process: 3551 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=
1/FAILURE)
  Process: 3546 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [
 -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle (cod
e=exited, status=0/SUCCESS)
 Main PID: 3551 (code=exited, status=1/FAILURE)

Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: For info, please visit htt
ps://www.isc.org/software/dhcp/
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: Usage: dhclient [-4|-6] [-
SNTP1dvrx] [-nw] [-p <port>] [-D LL|LLT]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]:                 [-s server
-addr] [-cf config-file] [-lf lease-file]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]:                 [-pf pid-f
ile] [--no-pid] [-e VAR=val]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]:                 [-sf scrip
t-file] [interface]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: Failed to bring up eth0.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Main p
rocess exited, code=exited, status=1/FAILURE
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: Failed to start Raise netw
ork interfaces.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Unit e
ntered failed state.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Failed
 with result 'exit-code'.

Moje / etc / network / interfaces wygląda następująco:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Gdzie mogę rozpocząć debugowanie?

Dzięki za podpowiedź! Pozdrawiam, K

# sudo ifup --verbose eth0
Configuring interface eth0=eth0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant

/sbin/dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -I -df /var/lib/dhcp/dhclient6.eth0.leases eth0  
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Usage: dhclient <snip>
Failed to bring up eth0.
    
zadawane Katja Süss 18.04.2016, 09:26
źródło

5 odpowiedzi

5

Zakładam, że właśnie zainstalowałeś / zaktualizowałeś system do nowszego systemu operacyjnego, takiego jak Ubuntu 16.04, i ze względu na odejście od tradycyjnych schematów nazewnictwa interfejsów, takich jak eth0 lub eth1 , system nie może uruchomić twojego interfejsu .

Spróbuj edytować /etc/network/interfaces , aby użyć ens32 lub ens192 zamiast eth0 jak

# The loopback network interface
auto lo
iface lo inet loopback

# The Ethernet interface
auto ens192
iface ens192 inet dhcp

To powinno umożliwić ponowne uruchomienie interfejsu sieciowego. Mam nadzieję, że to pomoże. Szczegółowe informacje na temat zmian w predykcyjnym interfejsie sieciowym

link

    
odpowiedział P. Ntende 25.08.2016, 13:45
źródło
2

Nie jestem pewien, czy to nadal jest przydatne: wygląda na to, że dhclient nie ma już opcji "-I" ani "-df", która zgodnie z Strona podręcznika zawiera DDNS:

  

-I Użyj standardowego schematu DDNS z RFC 4701 & amp; 4702.

Po usunięciu tej opcji z wiersza poleceń, dhclient może wywołać eth0.

[EDIT] : Teraz gdybym mógł znaleźć, gdzie ta opcja "-I" jest ...

    
odpowiedział Wei Wang 09.08.2016, 18:10
źródło
2

To mi się właśnie przydarzyło. Powodem było to, że wystąpiła niespójność zależna od pakietu, która przerwała aktualizację z wiernego na xenial, więc niektóre wersje pakietów były niespójne. W moim przypadku niespójność została spowodowana przez squid3 i ca-certificates-java.

Przywróciłem połączenie sieciowe, uruchamiając tylko dhclient eth0 . Po rozwiązaniu niespójności pakietu przez usunięcie pakietów naruszających zasady i uruchomienie apt-get install -f , uruchomiłem apt-get dist-upgrade i apt-get install ubuntu-standard . To całkowicie rozwiązało mój problem.

Co doprowadziło mnie do podejrzeń, że niespójność jest taka, że ​​plik binarny /sbin/ifup zawierał przestarzały wiersz polecenia dhclient z opcją nieobsługiwaną -I . Musi to być niespójność wersji pakietu.

    
odpowiedział furstex 27.08.2016, 08:13
źródło
1

Miałem podobny problem jak OP i Wei Wang, gdzie ifup próbował uruchomić dhclient z opcją -I , ale mój dhclient był starszą wersją, która go nie obsługiwała. Domyślam się, że było to spowodowane moim wcześniejszym hackowskim sposobem pobrania / zainstalowania Xeniala (16.04) Chromium przy zachowaniu mojego systemu w wersji Trusty (14.04), musiał on również zaktualizować niektóre inne części mojego systemu.

Krótko mówiąc, moja poprawka polegała na ręcznym pobieraniu i instalowaniu odpowiednich pakietów związanych z dhclientem we wcześniejszych wersjach Xenial. Wymagane są trzy pakiety, które należy zainstalować w następującej kolejności:

  1. libisc-export160 ( link )
  2. libdns-export162 ( link )
  3. isc-dhcp-client_4.3.3 ( link )

Po tym, dhclient --version pokazało, że mam 4.3.3, który obsługuje opcję -I , i mogłem ponownie użyć ifup .

    
odpowiedział TLin 22.03.2017, 06:46
źródło
0

Spróbuj tego: -

sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a

Zamień networking restart na ifdown... && ifup....

Tak samo na marginesie: ifconfig również został przestarzały przez dłuższy czas - użyj ip z pakietu iproute2

Możesz też spróbować

ifconfig eth0 down && ifconfig eth0 up

(lub jakikolwiek jest twój interfejs sieciowy), aby zrestartować sieć.

    
odpowiedział Afaque 22.03.2017, 06:52
źródło

Przeczytaj inne pytania na temat tagów