J'ai mis à jour une machine virtuelle exécutant le serveur Ubuntu 15.04 vers la nouvelle version stable 15.10.
Il n'y avait aucun problème apparent, mais après le redémarrage, la machine a perdu sa connexion réseau. lspci
montré la bonne carte et lsmod
prouvé que le chauffeur avait été chargé.
Les astuces sur l'édition ou la suppression /etc/udev/rules.d/70-persistent-net.rules
n'ont pas abouti (toujours pas de réseau, pas de nouveau fichier), le célèbre /lib/udev/write_net_rules
n'existe même pas.
Je n'ai pas beaucoup d'indices concernant udev et systemd, il m'a donc fallu un certain temps pour trouver dans / sys / class / net que le nom de l'interface réseau avait changé. Il est devenu ens32
, qui a été renommé de eth0
. Après avoir changé /etc/network/interfaces
, la communication réseau a été réactivée.
Mais pourquoi cela se produit-il? Et si cela se produit, le fichier d'interface ne devrait-il pas être mis à jour automatiquement?
Maintenant que j'ai supprimé la carte réseau virtuelle et en ai créé une autre, eth0
devient eno16777728
, ce qui n'est pas si, humm, sympa.
Ce comportement (au moins celui de la procédure de mise à niveau) doit-il être signalé comme un bogue?
De plus, est-il /etc/udev/rules.d/70-persistent-net.rules
obsolète maintenant? Et (bien que partiellement lié) qu'en est-il /etc/udev/rules.d/70-persistent-cd.rules
?)
Éditer - question supplémentaire (après réponse acceptée)
La dépendance de à /etc/network/interfaces
partir du nom d'interface actuel m'a dérangé. J'ai essayé une nouvelle installation de * ubuntu sur une autre machine virtuelle. À ma grande surprise, /etc/network/interfaces
contenait une référence au périphérique de bouclage uniquement. Cependant, avec ma machine virtuelle d'origine, ce changement a empêché le réseau de se mettre en place. Alors quoi d'autre dois-je changer?
Edit
Eh bien, à partir d'un autre test, j'ai constaté qu'un nouveau serveur Ubuntu contient la carte d'interface réseau /etc/network/interfaces
, contrairement à XUbuntu. Peut-être qu'il utilise network-manager
ou autre chose.
la source
Réponses:
Dans Ubuntu 15.10 (Wily Werewolf), commencer par systemd / udev attribuera automatiquement des noms d’interface réseau stables et prévisibles pour toutes les interfaces Ethernet, Wlan et Wwan locales ( source ).
Les différents systèmes de dénomination suivants pour les interfaces réseau sont maintenant supportés par udev en mode natif:
eno1
)ens1
)enp2s0
)enx78e7d1ea46da
)eth0
:) - obsolètePar défaut, systemd nommera désormais les interfaces suivantes:
Comment désactivez-vous cela?
Vous avez essentiellement les options suivantes:
/etc/udev/rules.d/70-my-net-names.rules
cp /lib/udev/rules.d/80-net-setup-link.rules /etc/udev/rules.d/80-net-setup-link.rules
:, puis éditez le fichier à cet emplacement et modifiez les lignes si nécessaire.net.ifnames=0
sur la ligne de commande du noyau.la source
Il existe un moyen plus simple dit par le ArchWiki Beginnersguide .
Commencez par obtenir l'adresse MAC de vos appareils en
La sortie montre comme
L’adresse MAC de votre appareil est le
Créez simplement le fichier (ouvrez simplement avec les droits sudo dans un éditeur de texte)
Ajouter la ligne suivante
Remplacez nom par le nom recherché et aa: bb: cc: dd: ee: ff par l’adresse MAC de votre périphérique.
Maintenant, redémarrez simplement votre ordinateur et le nom du périphérique devrait avoir changé.
la source
DRIVERS=="?*",
aprèsACTION=="add",
. Voir aussi askubuntu.com/questions/767786/…Essayez ceci: Editez votre
/etc/default/grub
. Changer la ligne deà
et enfin lancer:
en tant que root et redémarrez votre système.
la source
append (...) net.ifnames=0 (...)
Je sais que cela risque d’être un peu tard et que l’ajout des règles de 10 réseaux semble avoir aidé, mais pas complètement. Je devais ajouter le nom du noyau du périphérique à renommer. Voici comment j'ai fait fonctionner les /etc/udev/rules.d/10-network.rules ...
et remplacez le KERNEL == "" par ce que votre noyau nomme le périphérique lors de son démarrage.
HTH
KC
la source
Si vous avez une nouvelle installation
ensuite
Vérifiez si vous avez un fichier udev net ruels. Si c'est le cas, supprimez-le.
Maintenant, éditez / etc / network / interfaces, renommez les interfaces en eth0, eth1, ... etc.
Redémarrer
la source
Je travaille en créant un fichier:
la source