¿Por qué mi interfaz de ethernet se llama enp0s10 en lugar de eth0?

65

Cuando ejecuto ifconfig -a, solo obtengo interfaces lo y enp0s10 , no el eth0 clásico

¿Qué significa enp0s10 ? ¿Por qué no hay eth0 ?

Nico Rodsevich
fuente
55
ifconfiges obsoleto. Pensar en mover a ippartir iproute2pronto.
solSTiCe
1
Como dice la respuesta, es un cambio en systemd. Para recuperar tu eth0espalda, usa la opción del kernel net.ifnames=0 biosdevname=0(mira este hilo ). El uso ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rulede la respuesta a continuación no funcionó en Debian 10 (Buster)
MrCalvin

Respuestas:

56

Ese es un cambio en cómo ahora udevd asigna nombres a los dispositivos ethernet. Ahora sus dispositivos usan los "Nombres de interfaz predecibles", que se basan en ( y citando las fuentes ):

  1. Los nombres que incorporan números de índice proporcionados por Firmware / BIOS para dispositivos integrados (ejemplo: eno1)
  2. Los nombres que incorporan firmware / BIOS proporcionan números de índice de ranura de conexión en caliente PCI Express (ejemplo: ens1)
  3. Nombres que incorporan la ubicación física / geográfica del conector del hardware (ejemplo: enp2s0)
  4. Nombres que incorporan la dirección MAC de las interfaces (ejemplo: enx78e7d1ea46da)
  5. Nombre clásico e impredecible de ethX nativo del núcleo (ejemplo: eth0)

La razón por la que esto cambió está documentada en la página systemd freedesktop.org , junto con el método para deshabilitar esto:

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

o si usa versiones anteriores:

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
Braiam
fuente
77
Siguiendo el enlace freedesktop, org, el punto principal es: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

Responda en "¿Qué significa enp0s10?" pregunta:

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

Fuente: udev-builtin-net_id.c en GitHub

DIG mbl
fuente
66
Vino a buscar esto.
incipiente
55
Como no hay una ...fNparte al final del nombre de la NIC, podemos deducir que el número de función es 0. Después de traducir los números a hexadecimal (10 = "a" en hexadecimal), sabemos que eso enp0s10significa ID de dispositivo PCI 00:0a.0.
telcoM