У меня есть компьютер с Ubuntu 20.04 и двумя портами LAN. Я хочу, чтобы левый был eth0, а другой eth1. Поэтому я написал правило udev
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="<mac left>", NAME:="eth0"
и поместил его под/etc/udev/rules.d/10-eth0.rules. Затем я ожидал, что переименование произойдет при перезагрузке... Но после перезагрузки eth0 и eth1 по-прежнему поменяны местами, и journalctl сообщает мне:
eth1: Failed to rename network interface 3 from 'eth1' to 'eth0': File exists
eth1: Failed to process device, ignoring: File exists
Так что, похоже, что-то устанавливает имена интерфейсов еще до запуска udev? Я гуглил последние несколько дней, чтобы найти причину этого, и не могу найти ничего подходящего. Предлагается проверить "sysconfig", которого, конечно, нет в ubuntu, или NetworkManager, который у меня не установлен. У меня также не установлен netplan, но у меня есть ifupdown. Ifupdown должен использовать/etc/сеть/интерфейсыфайл для конфигурации, но есть только правило длявотинтерфейс.
Есть ли способ проверить, кто настраивает интерфейс и почему это происходит, до того, как включится udev?