Перейменувати, змінити enp2s0 на eth0, або udev – поверніть все як було

Перейменувати, змінити enp2s0 на eth0, або udev – поверніть все як було

Після оновлення systemd (частиною якого є udev ) до версії 197 і вище, багато заводчиків пінгвінів були не задоволені новим способом іменування мережевих інтерфейсів, наприклад eth0 став раптом enp2s0. Гарна нова схема імен чи ні, кожен вирішує для себе сам, я б хотів просто розповісти про те, як повернути старі назви мережевим інтерфейсам наприклад: eth0, eth1, wan0, ну і т.д.

Отже, перед початком кілька слів про теорію.

systemd є системою ініціалізації, що використовується багатьма дистрибутивами Linux. u dev - це скажемо так менеджер пристроїв в linux. Насправді він є частиною системиd. Саме він відповідає за назву мережевих інтерфейсів у просторі імен користувача. Тобто. З точки зору користувача ми працюємо з enp2s0 або lan0, а з точки зору ядра linux це все той же eth0.

Починаючи з версії systemd 197 було прийнято новий спосіб позначення мережевих інтерфейсів. Про нову схему давати імена мережевим інтерфейсам ви можете знайти чимало інформації у мережі.

Я хотів би розповісти про можливість призначення імен у ручному режимі.

Щоб призначити ім'я мережному інтерфейсу вручну, достатньо створити правило для udev.

Створимо файл 79-net-name.rules, наступного змісту:

SUBSYSTEM=="net", ACTION=="add", ATTR=="08:00:27:17:c3:72", NAME="eth0"

Перезавантажуємось і радіємо старим і звичним іменам мережевих інтерфейсів.

На що тут слід звернути увагу:

1. Назва файлу має починатися з номера менше 80, щоб правило оброблялося до стандартного правила:

80-net-name-slot.rules (або 80-net-setup-link.rules, залежно від версії udev).

Цеправило якраз і дає назви виду enp2s0.

Наприкінці, мабуть, ще розповім про те, як відключити стандартні правила udev.

Найпростіше це зробити додавши рядок net.ifnames=0 до параметрів завантаження ядра.

Якщо інформація була корисною для вас, ви можете подякувати за праці Яндекс грошима: 41001164449086 або пластиковою карткою: