GNU/Linux >> Linux Esercitazione >  >> Linux

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

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


Questo è un cambiamento nel modo in cui ora udevd assegna i nomi ai dispositivi Ethernet. Ora i tuoi dispositivi utilizzano i "Predictable Interface Names", che si basano su (e citano le fonti):

  1. I nomi che incorporano firmware/BIOS forniscono numeri di indice per i dispositivi integrati (esempio:eno1)
  2. I nomi che incorporano firmware/BIOS hanno fornito i numeri di indice dello 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. Nominazione ethX nativa del kernel classica e imprevedibile (esempio:eth0)

Il motivo per cui è cambiato è documentato nella pagina systemd freedesktop.org, insieme al metodo per disabilitarlo:

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

o se utilizzi versioni precedenti:

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

Come accennato in precedenza, enp0s10 si riferisce a ethernet (en), prefisso 0 (p0), slot 10 (s10). Il numero di bus, il numero di dispositivo e il numero di funzione vengono estratti da Bus Device Function (BDF) per i dispositivi PCI per creare il prefisso, lo slot e le parti di funzione del Predictable Network Interface Name.

Se la funzione è 0, la parte f0 viene omessa. Ho cambiato il prefisso da p0 a p4 e la funzione da f0 a f1, per chiarezza in questo esempio.

Espandendo la risposta postata da 'DIG mbl':

enp4s10f1                        pci 0000:04:0a.1
| | |  |                                |  |  | |
| | |  |                   domain <- 0000  |  | |
| | |  |                                   |  | |
en| |  |  --> ethernet                     |  | |
  | |  |                                   |  | |
  p4|  |  --> prefix/bus number (4)   <-- 04  | |
    |  |                                      | |
    s10|  --> slot/device number (10) <--    10 |
       |                                        |
       f1 --> function number (1)     <--       1

https://wiki.xen.org/wiki/Bus:Device.Function_(BDF)_Notationhttps://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames

Mi sono imbattuto in un dispositivo con un u7 alla fine, per la porta USB. Alcune delle diverse possibilità di etichettatura sono incluse in questa documentazione:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-understanding_the_predictable_network_interface_device_names


Linux
  1. Perché la funzione di chiusura si chiama release in `struct file_operations` nel kernel di Linux?

  2. Perché alcuni programmatori del kernel usano goto invece di semplici cicli while?

  3. Perché eval dovrebbe essere evitato in Bash e cosa dovrei usare invece?

  4. come utilizzare cURL su un'interfaccia specifica

  5. Configurare un server DNS per interfaccia nic (eth0 / eth1)?

Perché uso exa invece di ls su Linux

Perché `while Ifs=Read` viene usato così spesso, invece di `ifs=; Durante la lettura..`?

Come creare un'interfaccia Ethernet virtuale su una macchina senza un adattatore fisico?

Linux vs Mac OS:15 motivi per utilizzare Linux invece di Mac OS

Perché Kubernetes si chiama K8s?

Perché il traffico di rete Linux passa solo attraverso eth0?