Impossible de démarrer Relever les interfaces réseau après la mise à niveau vers 16.04

28

Je viens de mettre à niveau une machine serveur virtuelle 14.04 vers 16.04. Après le redémarrage de la machine virtuelle, je vois l'erreur suivante:

[FAILED] Failed to start Raise network interfaces.
 See 'systemctl status networking.service' for details

Après la connexion, je peux exécuter la commande mentionnée et obtenir la sortie suivante (image car je ne peux pas me connecter):

entrez la description de l'image ici

La configuration dans /etc/network/interfacessemble bien - avec l'eth0 configuré manuellement (n'utilisant pas dhcp ici)

Ce qui me fait me demander, c'est que les ifconfig -alistes

  • ens160
  • lo

Où je m'attendrais

  • eth0
  • lo

Essayer de monter le périphérique eth0 via

sudo ifup -v eth0 

les sorties:

...
Cannot find device "eth0"
Failed to bring up eth0.

Le périphérique réseau câblé virtuel lui-même est toujours configuré dans la machine virtuelle elle-même comme auparavant.

ip links'affiche également loet ens160- où ens160l'adresse mac est-elle configurée dans vmware pour le périphérique réseau virtuel configuré unique.

MISE À JOUR

Je suis en mesure de résoudre le problème si je change toutes les références de eth0 en /etc/network/interfacesens160.

MAIS - cela me semble mal pour plusieurs raisons:

  1. Je voudrais comprendre ce problème
  2. Je voudrais m'en tenir à eth0 au lieu de ens160

Alors s'il vous plaît, quelqu'un peut-il expliquer ce changement, qui n'est pas arrivé à plusieurs autres machines 14.04 sur le même serveur que j'ai également mis à niveau vers 16.04.

dufte
la source
1
Peut être dupliqué sur: askubuntu.com/questions/704361/…
dufte
Une description similaire du correctif est ici: askubuntu.com/a/830163/543586
theINtoy

Réponses:

15

Raison

Le problème était dû à Predictable-Network-Interface-Names de systemd / udev.

Solution possible

Selon cette source, vous pouvez soit:

  • Vous désactivez l'attribution de noms fixes, de sorte que les noms de noyau imprévisibles soient réutilisés. Pour cela, masquez simplement le fichier de règles d'udev pour la stratégie par défaut: ln -s / dev / null /etc/udev/rules.d/80-net-setup-link.rules
  • Vous créez votre propre schéma de nommage manuel, par exemple en nommant vos interfaces "internet0", "dmz0" ou "lan0". Pour cela, créez vos propres fichiers .link dans / etc / systemd / network /, qui choisissent un nom explicite ou un meilleur schéma de nommage pour une, certaines ou toutes vos interfaces. Voir systemd.link (5) pour plus d'informations.
  • Vous passez le net.ifnames = 0 sur la ligne de commande du noyau

Solutions appliquées

J'ai créé un nouveau fichier 10-rename-network.rulesdans /etc/udev/rules.d/et ajouté le contenu suivant ce:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

  • eth0 = nom d'interface réseau souhaité, utilisé dans /etc/network/interfaces
  • ff:ff:ff:ff:ff:ff = adresse mac matérielle du périphérique réseau

Je recommanderais de redémarrer après avoir terminé pour vous assurer que le changement est collant.

dufte
la source
J'ai découvert que je devais courir update-initramfs -upour que mes modifications prennent effet
Aneel
Sur mon système Debian, le fichier est '/etc/udev/rules.d/70-persistent-net.rules'
jeremiah
6

Résolu en changeant le fichier /etc/network/interfaces.d/setup de:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

à:

auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp
τασος ματσιγκας
la source
1

Dans mon cas, ce problème était lié à la tentative de remonter mon pont br0. J'avais oublié de faire ça:

sudo apt-get install bridge-utils

avant et donc mon adaptateur n'a pas pu démarrer.

gigo
la source
2
C'est différent du problème d'OP. Je ne suis pas sûr que cette réponse appartient à cette question!
Zanna
0

Vous voudrez peut-être supprimer / modifier le cache udev pour les noms d'interface réseau persistants / cohérents, situés ici: /etc/udev/rules.d/70-persistent-net.rules

Angel Genchev
la source