Pourquoi mon interface Ethernet s'appelle-t-elle enp0s10 au lieu de eth0?

65

Quand je cours ifconfig -a, je n’obtiens que les interfaces lo et enp0s10 , pas le eth0 classique

Que signifie enp0s10 ? Pourquoi n'y a-t-il pas d' eth0 ?

Nico Rodsevich
la source
5
ifconfigest obsolète. Pensez à déménager ipde iproute2bientôt.
solsTiCe
1
Comme la réponse l'indique, il s'agit d'un changement de système. Pour obtenir votre eth0retour, utilisez l’option du noyau net.ifnames=0 biosdevname=0(voir ce sujet ). L'utilisation ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rulede la réponse ci-dessous ne fonctionnait pas dans Debian 10 (Buster)
MrCalvin Le

Réponses:

56

C'est un changement dans la façon dont udevd attribue maintenant des noms aux périphériques Ethernet. Maintenant, vos appareils utilisent les "noms d'interface prévisibles", basés sur ( et citant les sources ):

  1. Noms incorporant les numéros d'index fournis par le micrologiciel / BIOS pour les périphériques intégrés (exemple: eno1)
  2. Noms incorporant les numéros d’index d’emplacement PCI Express hot-plug fournis par le micrologiciel / BIOS (exemple: ens1)
  3. Noms incorporant la localisation physique / géographique du connecteur du matériel (exemple: enp2s0)
  4. Noms incorporant l'adresse MAC de l'interface (exemple: enx78e7d1ea46da)
  5. Dénomination ethX classique et imprévisible dans le noyau (exemple: eth0)

Le pourquoi de cette modification est documenté dans la page systemd freedesktop.org , avec la méthode pour le désactiver:

ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

ou si vous utilisez des versions plus anciennes:

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
Braiam
la source
7
Après freedesktop, lien org, le point principal est:The classic naming scheme for network interfaces applied by the kernel is to simply assign names beginning with "eth" to all interfaces as they are probed by the drivers. As the driver probing is generally not predictable for modern technology this means that as soon as multiple network interfaces are available the assignment of the names is generally not fixed anymore and it might very well happen that "eth0" on one boot ends up being "eth1" on the next. This can have serious security implications...
lepe
87

Réponse sur "Que signifie enp0s10?" question:

enp0s10:
| | |
v | |
en| |   --> ethernet
  v |
  p0|   --> bus number (0)
    v
    s10 --> slot number (10)

Source: udev-builtin-net_id.c sur GitHub

DIG mbl
la source
6
Je suis venu chercher ça.
trafiquer
5
Comme il n'y a aucune ...fNpartie à la fin du nom de la carte réseau, nous pouvons en déduire que le numéro de la fonction est 0. Après avoir traduit les nombres en hexadécimal (10 = "a" en hex), nous savons que cela enp0s10signifie ID de périphérique PCI 00:0a.0.
telcoM