Pas de mise en réseau: impossible d'afficher eth0

13

Le service réseau ne démarre pas / ne démarre pas au redémarrage.

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

Je peux toujours accéder au serveur via une console distante, mais rien d'autre, car sans réseau, il n'y a ni sortie ni entrée.

systemctl status networking.service dit:

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

Mon / etc / network / interfaces ressemble à:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Où puis-je commencer à déboguer?

Merci pour tout indice! Cordialement, 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.
Katja Süss
la source
1
Le système essaie d'apporter votre interface réseau upen exécutant, un par un, les scripts qui se trouvent dans /etc/network/if-up.d. L'un d'eux contient une dhclientcommande qui échoue. Alors faites quelque chose comme grep -R dhclient /etc/network/if-up.d/*et voyez ce que vous obtenez.
Jos
Merci pour cette information. Il n'y a pas de commande dhclient, ni dans if-up.d ni au-dessus.
Katja Süss
Pouvez-vous faire un manuel sudo ifup --verbose eth0pour voir où les choses tournent mal?
Jos
J'ai ajouté la sortie de # sudo ifup --verbose eth0 à ma question.
Katja Süss
La présence des lignes "Usage: ..." donne l'impression que la commande dhclient échoue car il y a une erreur dans les paramètres. Pourtant, pour autant que je sache, la commande est correcte. De plus, j'ai les mêmes lignes "Usage" dans mon /var/log/syslog. Vous pouvez essayer d'exécuter la dhclientcommande manuellement d'elle-même. Si aucun message d'erreur ne suit, il n'y a aucun problème avec dhclient.
Jos

Réponses:

7

Cela m'est juste arrivé. La raison était qu'il y avait une incohérence de dépendance de package qui a interrompu ma mise à niveau de trusty vers xenial, donc certaines versions de package étaient incohérentes. Dans mon cas, l'incohérence a été causée par squid3 et ca-certificats-java.

J'ai restauré la connexion réseau en exécutant simplement dhclient eth0. Après avoir résolu l'incohérence des packages en supprimant les packages incriminés et en les exécutant apt-get install -f, j'ai exécuté apt-get dist-upgradeet apt-get install ubuntu-standard. Cela a résolu mon problème complètement.

Ce qui m'a amené à soupçonner l'incohérence, c'est que le /sbin/ifupbinaire contenait la dhclientligne de commande obsolète avec l' -Ioption non prise en charge . Il doit s'agir d'une incohérence de version de package.

furstex
la source
d'une manière ou d'une autre, ma mise à niveau de version a également été bloquée, et cela a également fonctionné pour moi, merci !.
Evert
6

Je suppose que vous venez d'installer / mettre à niveau vers un système d'exploitation plus récent tel que Ubuntu 16.04, et en raison du départ des schémas de dénomination d'interface traditionnels tels que eth0ou eth1, le système ne peut pas démarrer votre interface.

Essayez de modifier votre /etc/network/interfacespour utiliser ens32ou ens192au lieu de eth0comme

# The loopback network interface
auto lo
iface lo inet loopback

# The Ethernet interface
auto ens192
iface ens192 inet dhcp

Cela devrait vous permettre de redémarrer l'interface réseau. J'espère que ça aide. Pour plus de détails sur les modifications prédictives de l'interface réseau

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

P. Ntende
la source
la solution pour moi était: askubuntu.com/a/830163/543586
theINtoy
Quel sauveur de vie. C'est exactement ce qui empêchait mon hôte Linux virtuel de revenir sur le réseau après avoir effectué une mise à jour forcée du noyau pour la fusion. le mien était ens3 (faire ip link show et trouver ce qui s'applique à vous)
Patrick F
2

Je ne sais pas si cela est toujours utile: il semble que le dhclient n'ait plus l'option "-I" ou "-df", qui selon la page de manuel fait DDNS:

-J'utilise le schéma DDNS standard des RFC 4701 et 4702.

Une fois que j'ai supprimé cette option de la ligne de commande, dhclient peut afficher eth0.

[EDIT] : Maintenant, si je pouvais trouver où cette option "-I" est ...

Wei Wang
la source
1
J'essaie de comprendre où la commande "dhclient" est appelée avec ces options. J'ai temporairement mis le réseau en marche en exécutant manuellement la commande dhclient sans ces deux options. - Je ne semble pas avoir assez de réputation pour commenter ailleurs, donc j'ajoute à ma propre réponse ici.
Wei Wang
1
TLin (ci-dessous) a raison. Le package isc-dhcp-client était bloqué sur une ancienne version. Bonne prise! Je devais juste faire un "apt-get install isc-dhcp-client" pour installer 4.3.3 et le système est content après ça.
Wei Wang
Wei Wang: Merci beaucoup, réinstaller 'isc-dhcp-client' comme vous l'avez suggéré a fait l'affaire! J'ai réussi à tuer l'hôte (invité VM!) Au milieu d'une mise à niveau de version, ce qui n'était pas vraiment intelligent. Maintenant, je peux continuer à réparer ce truc via ssh et à nouveau avec le réseautage! Merci.
stolsvik
1

J'ai eu un problème similaire à OP et Wei Wang, où ifupj'essayais d'exécuter dhclient avec l' -Ioption, mais mon dhclient était une version plus ancienne qui ne la supportait pas. Je suppose que cela était dû à ma manière précédente de télécharger / installer le Xenial (16.04) Chromium tout en gardant mon système sur Trusty (14.04), il doit également avoir mis à niveau certaines autres parties de mon système.

Pour faire court, ma solution a été de télécharger et d'installer manuellement les packages pertinents liés à dhclient dans Xenial en amont. Trois packages sont requis et doivent être installés dans l'ordre suivant:

  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 )

Après cela, a dhclient --versionmontré que j'avais 4.3.3 qui prend en charge l' -Ioption, et j'ai pu ifupréutiliser.

TLin
la source
0

Essaye ça:-

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

Remplacez donc networking restartparifdown... && ifup....

Juste à part: ifconfigest également obsolète depuis longtemps - utilisation à ippartir du paquetiproute2

Vous pouvez aussi essayer

ifconfig eth0 down && ifconfig eth0 up

(ou quel que soit le nom de votre interface réseau) pour redémarrer le réseau.

Afaque
la source
0

@jos mentionne dans un commentaire sur le post original:

La présence des lignes "Usage: ..." donne l'impression que la commande dhclient échoue car il y a une erreur dans les paramètres ...

J'ai eu ce problème précis et la journalisation détaillée était l'indice.

ifup --verbose eth0

Recherchez une sortie expliquant les paramètres DHCP.

J'ai ensuite pris la sortie de:

/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

simplement:

/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid eth0 puis j'ai eu une adresse.

Je crois qu'une mise à jour logicielle a rendu dhclient désynchronisé ce qui se passait sur mon système Debian 7.11.

Eugene van der Merwe
la source