Чому мій мережевий інтерфейс названий enp0s25 замість eth0?


109

Багато моїх сценаріїв перестали працювати після встановлення Ubuntu 15.10, і я не можу запам'ятати це нове ім'я, оскільки я звик до ethx і wlanx роками. Чи є причина цієї зміни? Чи повинен я звикати до цього чи можу я просто перейменувати його та повернутися до старого доброго 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

2
див. це, що також має додаткове посилання на більш детальну інформацію.
Doug Smythies

4
Ooooooooooooooor виправляйте сценарії раз і назавжди та видаляйте посилання (і змініть його на команду, щоб визначити ім'я пристрою) ;-) (ось деякі вказівники: askubuntu.com/questions/396837/… )
Rinzwind

@Rinzwind Це відмінна ідея.
Майк

@Mike мій начальник (= свинцевий кодер) завжди погоджується зі мною і на цьому, але тоді він завжди використовує жорсткі кодовані шляхи та пристрої ... і я лаю його знову і знову;)
Rinzwind

Відповіді:


105

Це називається передбачуваним іменем мережевого інтерфейсу і є частиною системної системи , до якої Ubuntu переходив з версії 15.04.

Основна ідея полягає в тому, що на відміну від попередньої схеми іменування * nix, коли зондування апаратного забезпечення відбувається не в конкретному порядку і може змінюватися між перезавантаженнями, тут назва інтерфейсу залежить від фізичного розташування обладнання та його можна передбачити / здогадатися , переглянувши lspciабо lshwвивівши . І навпаки, ми можемо відгадати інформацію про його фізичне положення в системі pci. У вашому випадку це буде pci bus 0, слот 2. Відповідно до статті freedesktop.org , насправді є 3 способи призначення імені інтерфейсу: на основі BIOS / прошивки для бортових карт, на основі інформації PCI та на основі MAC адреса інтерфейсу. Тут див. Інші приклади .

Як повідомляє сторінка freedesktop.org, одна з причин переходу до передбачуваного іменування полягає в тому, що класична конвенція іменування може призвести до ризику безпеки програмного забезпечення в багатоінтерфейсних системах, коли пристрої додаються та видаляються під час завантаження. Крім того , в відповідно до коментарем по Сему Хейнса , «На великому сервері з великою кількістю портів Ethernet це неоціненно: ви можете відразу сказати , який інтерфейс йде до якого порту і додавання або видалення апаратних засобів не змінюють імена інших портів.»

Див. Розділ Як перейменувати мережевий інтерфейс у 15.10, якщо ви вирішили повернутися до іншої версії іменування.


40
Я бачу трохи іронії у слові "передбачувано" :), дякую за покажчики.
Майк

11
"передбачуваний", так, звичайно. У мене відключення Ethernet після оновлення до 15.10 (чиста установка, старий / домашній). Навіщо порушувати API та конвенції? Тепер я мушу розібратися, що не вдається. Я дуже засмучений цим :(
gorlok

13
відмова прогнозована, я здогадуюсь;)
Анвар

6
е, скажіть це systemdрозробникам, хлопці.
Сергій Колодяжний

22
Передбачувана назва не особливо корисна в настільних системах, що мають лише один інтерфейс, і в такому випадку це неприємно. На великому сервері з багатьма портами Ethernet це безцінно: ви можете негайно сказати, який інтерфейс йде до якого порту, а додавання або видалення апаратного забезпечення не змінює назви інших портів. Саме так він і розроблений.
Сем Ханес

1

FWIW файл freedesktop.org PredictableNetworkInterfaceNames згадує коментарі вихідного файлу як канонічні, але цей файл було змінено для видалення коментарів - див. Https://github.com/systemd/systemd/pull/12518 .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.