Pourquoi mon interface réseau est-elle nommée enp0s25 au lieu de eth0?

109

Beaucoup de mes scripts ont cessé de fonctionner après l'installation d'Ubuntu 15.10 et j'ai du mal à me souvenir de ce nouveau nom car j'étais habitué à ethx et à wlanx pendant des années. Y a-t-il une raison pour ce changement? Dois-je m'habituer à cela ou puis-je simplement le renommer et revenir à la bonne vieille eth0?

$ ifconfig

enp0s25   Link encap:Ethernet  HWaddr 77:5a:5e:a6:86:d5  
      inet addr:192.168.31.239  Bcast:192.168.31.255  Mask:255.255.255.0
      inet6 addr: fe80::725a:b6ff:fea6:86d7/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:4833 errors:1332 dropped:0 overruns:0 frame:666
      TX packets:5589 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:3266446 (3.2 MB)  TX bytes:1046654 (1.0 MB)
      Interrupt:20 Memory:d3500000-d3520000
Mike
la source
2
voir ce qui a également un lien supplémentaire pour plus de détails.
Doug Smythies
4
Ooooooooooooooor corrige vos scripts une fois pour toutes et supprime la référence (et la remplace par une commande permettant de déterminer le nom du périphérique) ;-) (voici quelques indications: askubuntu.com/questions/396837/… )
Rinzwind
@Rinzwind C'est une excellente idée.
Mike
@ Mike, mon chef (= codeur en chef) est toujours d'accord avec moi sur ce point, mais il utilise toujours des chemins et des périphériques codés en dur ... et je le réprimande encore et encore;)
Rinzwind
1
En voici un exemple
rugk

Réponses:

105

Ceci est connu sous le nom de dénomination d'interface réseau prévisible et fait partie de systemd , vers lequel Ubuntu a effectué la transition à partir de la version 15.04.

L’idée de base est que, contrairement au schéma de nommage précédent * nix où la recherche de matériel a lieu dans un ordre particulier et peut changer entre les redémarrages, le nom de l’interface dépend de l’emplacement physique du matériel et peut être prédite / deviné en regardant lspciou en lshwsortie . Inversement, nous pouvons deviner des informations sur sa position physique dans le système pci. Dans votre cas, il s’agirait du bus PCI 0, emplacement 2. Selon l’article de freedesktop.org , le nom de l’interface est attribué de 3 façons différentes: basé sur BIOS / Firmware pour les cartes intégrées, basé sur les informations PCI, et basé sur MAC adresse de l'interface. Reportez-vous ici pour d'autres exemples .

Selon la page freedesktop.org, l' une des raisons du passage à une dénomination prévisible est que la convention de dénomination classique peut entraîner des risques de sécurité logicielle dans les systèmes à interfaces multiples lorsque des périphériques sont ajoutés et supprimés au démarrage. En outre, selon le commentaire de Sam Hanes , "Sur un grand serveur doté de nombreux ports Ethernet, cela est inestimable: vous pouvez immédiatement dire quelle interface est connectée à quel port et l'ajout ou la suppression de matériel ne modifie pas le nom des autres ports".

Voir Comment renommer une interface réseau dans 15.10 si vous décidez de revenir à l'autre version de nommage.

Sergiy Kolodyazhnyy
la source
40
Je vois peu d'ironie dans le mot "prévisible" :), merci pour les indications.
Mike
11
"prévisible", oui, bien sûr. J'ai des déconnexions Ethernet après la mise à niveau vers 15.10 (installation propre, ancien / home). Pourquoi casser les API et les conventions? Maintenant, je dois comprendre ce qui échoue. Je suis très fâché avec ceci :(
gorlok
13
l'échec est prévisible, je suppose;)
Anwar
6
hein, dis ça aux systemddéveloppeurs, les gars.
Sergiy Kolodyazhnyy
22
Nommer de manière prévisible n’est pas particulièrement utile sur les systèmes de bureau dotés d’une seule interface. Dans ce cas, il est plutôt odieux. Sur un gros serveur avec de nombreux ports Ethernet, cela est inestimable: vous pouvez immédiatement dire quelle interface est connectée à quel port et l'ajout ou la suppression de matériel ne modifie pas le nom des autres ports. C'est le cas pour lequel il est conçu.
Sam Hanes
1

FWIW, le fichier PredictableNetworkInterfaceNames de freedesktop.org fait référence aux commentaires d’un fichier source canoniques, mais ce fichier a été modifié pour supprimer les commentaires - voir https://github.com/systemd/systemd/pull/12518 .

pbhj
la source