Nessuna rete: impossibile avviare eth0


13

Il servizio di rete non si avvia / non si riavvia al riavvio.

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

Posso ancora accedere al server tramite la console remota, ma nient'altro, poiché senza rete non c'è via d'uscita né accesso.

status systemctl networking.service dice:

● 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'.

La mia / etc / network / interfaces assomiglia a:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Dove posso iniziare il debug?

Grazie per qualsiasi suggerimento! Saluti, 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.

1
Il sistema tenta di portare l'interfaccia di rete upeseguendo, uno alla volta, gli script in cui si trovano /etc/network/if-up.d. Uno di questi contiene un dhclientcomando che non riesce. Quindi fai qualcosa di simile grep -R dhclient /etc/network/if-up.d/*e vedi cosa ottieni.
Jos,

Grazie per questa informazione Non esiste alcun comando dhclient, non in if-up.d né sopra.
Katja Süss,

Puoi fare un manuale sudo ifup --verbose eth0per vedere dove le cose vanno male?
Jos,

Ho aggiunto l'output di # sudo ifup --verbose eth0 alla mia domanda.
Katja Süss,

La presenza delle righe "Uso: ..." fa sembrare che il comando dhclient non riesca perché c'è un errore nei parametri. Tuttavia, per quanto ne so, il comando è corretto. Inoltre, ho le stesse righe "Uso" nel mio /var/log/syslog. Puoi provare a eseguire il dhclientcomando manualmente da solo. Se non segue alcun messaggio di errore, non vi sono problemi con dhclient.
Jos,

Risposte:


7

Questo mi è appena successo. Il motivo era che c'era un'incoerenza di dipendenza del pacchetto che interrompeva il mio aggiornamento da fidato a xenial, quindi alcune versioni del pacchetto erano incoerenti. Nel mio caso l'incoerenza è stata causata da squid3 e ca-certificati-java.

Ho ripristinato la connessione di rete eseguendo solo dhclient eth0. Dopo aver risolto l'incoerenza del pacchetto rimuovendo i pacchetti offensivi e in esecuzione apt-get install -f, ho eseguito apt-get dist-upgradee apt-get install ubuntu-standard. Questo ha risolto completamente il mio problema.

Ciò che mi ha portato a sospettare l'incoerenza è che /sbin/ifupbinario conteneva la dhclientriga di comando obsoleta con l' -Iopzione non più supportata . Deve essere un'incoerenza della versione del pacchetto.


in qualche modo anche il mio aggiornamento do-release si è bloccato, e questo ha funzionato anche per me, grazie !.
Evert

6

Suppongo che tu abbia appena installato / aggiornato un nuovo sistema operativo come Ubuntu 16.04 e, a causa della partenza dagli schemi di denominazione delle interfacce tradizionali come eth0o eth1, il sistema non può avviare l'interfaccia.

Prova a modificare il tuo /etc/network/interfacesper utilizzare ens32o ens192invece di eth0come

# The loopback network interface
auto lo
iface lo inet loopback

# The Ethernet interface
auto ens192
iface ens192 inet dhcp

Ciò dovrebbe consentire il riavvio dell'interfaccia di rete. Spero possa essere d'aiuto. Per dettagli sulle modifiche all'interfaccia di rete predittiva

https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/


la soluzione per me era: askubuntu.com/a/830163/543586
theINtoy

Che salvavita. Questo è esattamente ciò che stava impedendo al mio host Linux virtuale di tornare in rete dopo aver eseguito un aggiornamento forzato del kernel per il tracollo. il mio era ens3 (fai ip link show e scopri quale ens si applica a te)
Patrick F

2

Non sono sicuro che ciò sia ancora utile: sembra che il dhclient non abbia più l'opzione "-I" o "-df", che secondo la pagina man fa DDNS:

-Io uso lo schema DDNS standard degli RFC 4701 e 4702.

Una volta rimossa quell'opzione dalla riga di comando, dhclient è in grado di richiamare eth0.

[EDIT] : Ora se potessi trovare dove si trova quell'opzione "-I" ...


1
Sto cercando di capire dove viene chiamato il comando "dhclient" con queste opzioni. Ho temporaneamente attivato la rete eseguendo manualmente il comando dhclient senza queste due opzioni. - Non ho abbastanza reputazione per commentare altrove, quindi sto aggiungendo alla mia risposta qui.
Wei Wang,

1
TLin (sotto) ha ragione. Il pacchetto isc-dhcp-client era bloccato su una versione precedente. Buona pesca! Ho appena dovuto fare un "apt-get install isc-dhcp-client" per installare 4.3.3 e il sistema è felice dopo.
Wei Wang,

Wei Wang: Grazie mille, reinstallare "isc-dhcp-client" come hai suggerito ha fatto il trucco! Sono riuscito a uccidere l'host (guest VM!) Nel mezzo di un aggiornamento do-release, che non era esattamente intelligente. Ora posso continuare a sistemare queste cose tramite ssh e con il networking di nuovo! Grazie.
stolsvik,

1

Ho avuto un problema simile a OP e Wei Wang, dove ifupcercavo di eseguire dhclient con l' -Iopzione, ma il mio dhclient era una versione precedente che non lo supportava. La mia ipotesi è che ciò fosse dovuto al mio precedente modo confuso di scaricare / installare Xenial (16.04) Chromium mantenendo il mio sistema su Trusty (14.04), ma doveva anche aver aggiornato alcune altre parti del mio sistema.

Per farla breve, la mia correzione era quella di scaricare e installare manualmente i relativi pacchetti relativi a dhclient in Xenial a monte. Sono richiesti tre pacchetti e deve essere installato nel seguente ordine:

  1. libisc-export160 ( https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/libisc-export160_9.10.3.dfsg.P4-8_amd64.deb.html )
  2. libdns-export162 ( https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/libdns-export162_9.10.3.dfsg.P4-8_amd64.deb.html )
  3. isc-dhcp-client_4.3.3 ( https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/isc-dhcp-client_4.3.3-5ubuntu12_amd64.deb.html )

Successivamente, dhclient --versionho mostrato che avevo 4.3.3 che supporta l' -Iopzione e sono stato in grado di ifupriutilizzarlo.


0

Prova questo:-

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

Quindi sostituire networking restartconifdown... && ifup....

A parte questo: ifconfigè stato anche deprecato per molto tempo - utilizzare ipdal pacchettoiproute2

Potresti provare anche tu

ifconfig eth0 down && ifconfig eth0 up

(o come viene chiamata l'interfaccia di rete) per riavviare la rete.


0

@jos menziona in un commento sul post originale:

La presenza delle righe "Uso: ..." fa sembrare che il comando dhclient non riesca perché c'è un errore nei parametri ...

Ho avuto questo preciso problema e la registrazione dettagliata era il suggerimento.

ifup --verbose eth0

Cerca l'output che spiega i parametri DHCP.

Ho quindi preso l'output di:

/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

semplicemente:

/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid eth0 e poi ho ottenuto un indirizzo.

Credo che alcuni aggiornamenti software abbiano fatto sì che dhclient non sincronizzasse ciò che stava accadendo sul mio sistema Debian 7.11.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.