Как отключить генерацию сетевых правил 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 и т. Д.

Извините, у меня нет времени, чтобы проверить это ...


Первое предложение работает. Альтернативного предложения нет.
borfig

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


7

Основываясь на ответе JasminJ, я прочитал руководство. Ну, я прочитал очень маленькую часть этого. Пятое предложение в разделе «Файлы правил» гласит:

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

Я только что проверил это с виртуальной машиной, и она действительно работает, как описано. Я предпочитаю это обычным / хакерским методам отключения этой функциональности.

Вот команда

ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.