Як відключити генерацію чистих правил udev?


11

У нашій хмарі ми генеруємо MAC з префіксом 2c:c2:60для екземплярів. Коли ми повторно використовуємо екземпляр або дублюємо його, нова копія отримує іншу MAC-адресу. Коли нові копії завантажуються, NIC отримує назву eth1 завдяки новому MAC.

Я бачу, що в /lib/udev/rules.d/75-persistent-net-generator.rules, є правила для відомих префіксів, таких як 52:54:00 (KVM)і VMWare (00:0c:29). Але цей файл не слід редагувати, як зазначено в його першому рядку. Ми хотіли б використовувати власний зареєстрований префікс MAC, а не інші.

Як повністю відключити створення чистих правил?

Відповіді:


4

Ви можете змінити їх /lib/udev/rules.d/*, скопіювавши їх, /etc/udev/rules.dа потім змінивши.

Або ж ви можете створити новий файл із лексично вищим ім'ям, наприклад, /etc/udev/rules.d/99-stop-persistent-net.rulesіз таким записом "не робити нічого":

SUBSYSTEM=="net", DRIVERS=="?*", NAME="%k"

Це повинно запобігати створенню нових правил, оскільки udev вважає, що інтерфейс уже перерахований. Це також переживе оновлення udev тощо.

Вибачте, не встигли його протестувати ...


Перша пропозиція спрацьовує. Альтернативна пропозиція не робить.
борфіг

Ось ще одне красиво нечисте рішення. Складіть свій /etc/udev/rules.d/70-persistent-net.rulesкаталог :)
Avio


7

На основі відповіді JasminJ я прочитав посібник. Що ж, я прочитав дуже невелику частину. У п'ятому реченні у розділі "Файли правил" зазначено:

Це може бути використано для заміни системного файлу правил з локальним файлом, якщо потрібно; Символьне посилання /etcз тим самим іменем, що і файл файлів у /lib, вказуючи на /dev/null, повністю вимикає файл правил.

Я щойно перевірив це на VM, і він справді працює, як описано. Я віддаю перевагу цьому звичайним / хакітним методам відключення цієї функціональності.

Ось команда

ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.