Чому мій інтерфейс Ethernet називається enp0s10 замість eth0?


65

Під час запуску ifconfig -aя отримую лише інтерфейси lo та enp0s10 , а не класичний eth0

Що означає enp0s10 ? Чому немає ети0 ?


5
ifconfigзастаріло. Подумайте про перехід на ipвід в iproute2найближчим часом .
solsTiCe

1
Як йдеться у відповіді, це зміна systemd. Для eth0повернення назад використовуйте параметр ядра net.ifnames=0 biosdevname=0(див. Цю тему ). Використання ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.ruleвідповіді нижче не спрацювало в Debian 10 (Buster)
MrCalvin

Відповіді:


56

Це зміна того, як тепер udevd присвоює імена пристроям Ethernet. Тепер ваші пристрої використовують "Ім'я передбачуваних інтерфейсів", які базуються на ( і цитують джерела ):

  1. Імена, що містять вбудовані мікропрограми / BIOS номери індексу для бортових пристроїв (приклад: eno1)
  2. Імена, що містять прошивку / BIOS, надані номерами індексу слота гарячої пробки PCI Express (приклад: ens1)
  3. Назви, що містять фізичне / географічне розташування роз'єму апаратного забезпечення (приклад: enp2s0)
  4. Імена, що містять MAC-адресу інтерфейсів (приклад: enx78e7d1ea46da)
  5. Класичне, непередбачуване іменування ethX-назви (наприклад: eth0)

Чому це змінилося, задокументовано на сторінці systemd freedesktop.org разом із методом відключення цього:

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

або якщо ви використовуєте старіші версії:

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

7
Після FreeDesktop, орг посилання, головне ,: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...
Льоп

86

Відповідь на те, що означає enp0s10? питання:

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

Джерело: udev-izgrain-net_id.c на GitHub


6
Прийшов шукати цього.
вівторок

5
Оскільки ...fNв кінці імені NIC немає частини, ми можемо зробити висновок, що число функції дорівнює 0. Після переведення чисел у шістнадцятковий (10 = "a" в шістнадцятковий), ми знаємо, що це enp0s10означає ідентифікатор пристрою PCI 00:0a.0.
telcoM
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.