Usługa sieciowa nie uruchamia się / nie uruchamia się przy ponownym uruchomieniu.
Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code.
Nadal mogę uzyskać dostęp do serwera za pośrednictwem zdalnej konsoli, ale nic więcej, ponieważ bez sieci nie ma wyjścia ani wejścia.
status systemctl networking.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'.
Mój / 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ę zacząć debugować?
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.
networking
server
16.04
Katja Süss
źródło
źródło
up
wykonując kolejno skrypty, które się w nim znajdują/etc/network/if-up.d
. Jeden z nich zawieradhclient
polecenie, które się nie udaje. Więc zrób coś takiegogrep -R dhclient /etc/network/if-up.d/*
i zobacz, co dostajesz.sudo ifup --verbose eth0
aby zobaczyć, gdzie coś pójdzie nie tak?/var/log/syslog
. Możesz spróbować wykonaćdhclient
polecenie samodzielnie. Jeśli nie pojawi się komunikat o błędzie, oznacza to, że nie ma problemudhclient
.Odpowiedzi:
To mi się po prostu przydarzyło. Powodem było to, że wystąpiła niespójność zależności pakietu, która przerwała moją aktualizację z wiernego na xenial, więc niektóre wersje pakietów były niespójne. W moim przypadku niespójność była spowodowana przez squid3 i ca-certyfikaty-java.
Przywróciłem połączenie sieciowe, uruchamiając właśnie
dhclient eth0
. Po rozwiązaniu niespójności pakietu poprzez usunięcie szkodliwych pakietów i uruchomienieapt-get install -f
, uruchomiłemapt-get dist-upgrade
iapt-get install ubuntu-standard
. To całkowicie rozwiązało mój problem.Podejrzewałem, że niespójność polega na tym, że
/sbin/ifup
plik binarny zawierał przestarzałądhclient
linię poleceń z nieobsługiwaną już-I
opcją. Musi to być niespójność wersji pakietu.źródło
Zakładam, że właśnie zainstalowałeś / zaktualizowałeś system do nowszego systemu operacyjnego, takiego jak Ubuntu 16.04, a ze względu na odejście od tradycyjnych schematów nazewnictwa interfejsów, takich jak
eth0
lubeth1
, system nie może uruchomić interfejsu.Spróbuj edycji
/etc/network/interfaces
albo użyciaens32
lubens192
zamiasteth0
jakPowinno to umożliwić ponowne uruchomienie interfejsu sieciowego. Mam nadzieję, że to pomoże. Szczegółowe informacje o przewidywanych zmianach interfejsu sieciowego
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
źródło
ip link show
i znajdź, który ens dotyczy ciebie)Nie jestem pewien, czy jest to nadal przydatne: Wygląda na to, że dhclient nie ma już opcji „-I” lub „-df”, co według strony podręcznika robi DDNS:
Po usunięciu tej opcji z wiersza poleceń program dhclient może wywołać eth0.
[EDYCJA] : Teraz gdybym mógł znaleźć, gdzie jest ta opcja „-I” ...
źródło
Miałem podobny problem jak OP i Wei Wang, gdzie
ifup
próbowałem uruchomić dhclient z tą-I
opcją, ale mój dhclient był starszą wersją, która go nie obsługiwała. Domyślam się, że było to spowodowane moim poprzednim hackerskim sposobem pobierania / instalowania Xenial (16.04) Chromium, jednocześnie utrzymując mój system na 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 pobraniu i zainstalowaniu odpowiednich pakietów związanych z dhclient w wyższym Xenial. Wymagane są trzy pakiety i należy je zainstalować w następującej kolejności:
Potem
dhclient --version
pokazałem , że mam 4.3.3, która obsługuje tę-I
opcję, i mogłemifup
ponownie użyć .źródło
Spróbuj tego:-
Więc zastąpić
networking restart
zifdown... && ifup....
Tak na marginesie:
ifconfig
od dawna jest również przestarzałe - użyjip
z pakietuiproute2
Możesz także spróbować
(lub jakkolwiek nazywany jest interfejs sieciowy) w celu ponownego uruchomienia sieci.
źródło
@jos wspomina w komentarzu do oryginalnego postu:
Miałem ten precyzyjny problem i wskazówka była pełna rejestracja.
ifup --verbose eth0
Poszukaj danych wyjściowych wyjaśniających parametry DHCP.
Następnie wziąłem dane wyjściowe z:
/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid -if /var/lib/dhcp/dhclient.eth0.leases -I -df /var/lib/dhcp/dhclient6.eth0.leases eth0
po prostu:
/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid eth0
a potem mam adres.Wierzę, że jakaś aktualizacja oprogramowania spowodowała, że dhclient nie zsynchronizował się z tym, co działo się w moim systemie Debian 7.11.
źródło