Perché la mia interfaccia ethernet si chiama enp0s10 invece di eth0?


65

Quando corro ifconfig -a, ottengo solo interfacce lo ed enp0s10 , non il classico eth0

Cosa significa enp0s10 ? Perché non c'è eth0 ?


5
ifconfigè deprecato. Pensate a trasferirsi ipda iproute2subito.
solsTiCe

1
Come dice la risposta è un cambiamento in systemd. Per ottenere le eth0spalle usa l'opzione del kernel net.ifnames=0 biosdevname=0(vedi questa discussione ). L'uso ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.ruledella risposta di seguito non ha funzionato in Debian 10 (Buster)
MrCalvin il

Risposte:


56

Questo è un cambiamento nel modo in cui ora udevd assegna i nomi ai dispositivi Ethernet. Ora i tuoi dispositivi usano i "Nomi di interfaccia prevedibili", che si basano su ( e citano le fonti ):

  1. I nomi che incorporano il firmware / BIOS hanno fornito i numeri di indice per i dispositivi di bordo (esempio: eno1)
  2. Nomi che incorporano firmware / BIOS forniti numeri indice slot hotplug PCI Express (esempio: ens1)
  3. Nomi che incorporano la posizione fisica / geografica del connettore dell'hardware (esempio: enp2s0)
  4. Nomi che incorporano l'indirizzo MAC delle interfacce (esempio: enx78e7d1ea46da)
  5. Denominazione ethX classica e imprevedibile nativa del kernel (esempio: eth0)

Il perché di questa modifica è documentato nella pagina systemd freedesktop.org , insieme al metodo per disabilitarla:

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

o se usi versioni precedenti:

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

7
Dopo il collegamento freedesktop, org, il punto principale è: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

Risposta su "Cosa significa enp0s10?" domanda:

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

Fonte: udev-builtin-net_id.c su GitHub


6
È venuto a cercarlo.
Sfogliando il

5
Poiché ...fNalla fine del nome NIC non è presente alcuna parte, possiamo dedurre che il numero della funzione è 0. Dopo aver tradotto i numeri in esadecimali (10 = "a" in esadecimale), sappiamo che enp0s10significa ID dispositivo PCI 00:0a.0.
telcoM,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.