¿Por qué mi interfaz de red se llama enp0s25 en lugar de eth0?

109

Muchos de mis scripts dejaron de funcionar después de instalar Ubuntu 15.10 y tengo problemas para recordar este nuevo nombre ya que estaba acostumbrado a ethx y wlanx durante años. ¿Hay alguna razón para este cambio? ¿Tengo que acostumbrarme a esto o puedo cambiarle el nombre y volver a la buena 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
Miguel
fuente
2
vea esto que también tiene un enlace adicional a más detalles.
Doug Smythies
44
Ooooooooooooooor corrija sus scripts de una vez por todas y elimine la referencia (y cámbiela por un comando para determinar el nombre del dispositivo) ;-) (aquí hay algunos consejos: askubuntu.com/questions/396837/… )
Rinzwind
@Rinzwind Esa es una gran idea.
Mike
@Mike mi jefe (= codificador principal) siempre está de acuerdo conmigo en eso también, pero siempre usa dispositivos y rutas codificadas ... y lo regaño una y otra vez;)
Rinzwind

Respuestas:

105

Esto se conoce como denominación de interfaz de red predecible y es parte de systemd , a la que Ubuntu ha estado haciendo la transición a partir de la versión 15.04.

La idea básica es que, a diferencia del esquema de nomenclatura * nix anterior, donde la búsqueda de hardware no se produce en un orden particular y puede cambiar entre reinicios, aquí el nombre de la interfaz depende de la ubicación física del hardware y puede predecirse / adivinarse mirando lspcio lshwemitiendo . Por el contrario, podemos adivinar información sobre su posición física en el sistema pci. En su caso, sería el bus pci 0, ranura 2. De acuerdo con el artículo de freedesktop.org , en realidad hay 3 formas de cómo se asigna el nombre de la interfaz: basado en BIOS / Firmware para tarjetas integradas, basado en información PCI y basado en MAC Dirección de la interfaz. Consulte aquí para otros ejemplos .

De acuerdo con la página de freedesktop.org, una de las razones para cambiar a nombres predecibles es que la convención de nombres clásica puede conducir a riesgos de seguridad de software en sistemas de interfaz múltiple cuando se agregan y eliminan dispositivos en el arranque. Además, según el comentario de Sam Hanes , "en un servidor grande con muchos puertos Ethernet es invaluable: puede saber de inmediato qué interfaz va a qué puerto y agregar o quitar hardware no cambia los nombres de otros puertos".

Consulte Cómo cambiar el nombre de la interfaz de red en 15.10 en caso de que decida volver a la otra versión de nomenclatura.

Sergiy Kolodyazhnyy
fuente
40
Veo poca ironía en la palabra "predecible" :), gracias por los consejos.
Mike
11
"predecible", sí, claro. Tengo desconexiones de ethernet después de la actualización a 15.10 (instalación limpia, antigua / hogar). ¿Por qué romper APIs y convenciones? Ahora tengo que descubrir qué está fallando. Estoy muy molesto con esto :(
gorlok
13
falla es predecible, supongo;)
Anwar
66
eh, dile eso a los systemddesarrolladores, muchachos.
Sergiy Kolodyazhnyy
22
El nombre predecible no es particularmente útil en sistemas de escritorio con una sola interfaz, y en ese caso es un poco desagradable. En un servidor grande con muchos puertos Ethernet es invaluable: puede saber de inmediato qué interfaz va a qué puerto y agregar o quitar hardware no cambia los nombres de otros puertos. Para eso está diseñado.
Sam Hanes
1

FWIW el archivo Freedesktop.org PredictableNetworkInterfaceNames hace referencia a los comentarios de un archivo fuente como canónicos, pero ese archivo se ha modificado para eliminar los comentarios; consulte https://github.com/systemd/systemd/pull/12518 .

pbhj
fuente