Используйте путь usb адреса USB-NIC в правилах udev, чтобы назначить имя интерфейса вместо MAC-адреса.

Используйте путь usb адреса USB-NIC в правилах udev, чтобы назначить имя интерфейса вместо MAC-адреса.

Относится к:

Проблема со вторым предложенным решением заключается в том, что некоторые сетевые карты USB3 по каким-то странным причинам используют один и тот жеATTR{серийный}поэтому мой последний способ переименовать этот интерфейс — это путь USB.

Поскольку подключенные сетевые карты всегда находятся в одном и том же месте и размещаются на концентраторе USB3, я думаю, что было бы полезно использовать путь USB для идентификации и переименования интерфейсов.

lsusbговорит:

...
Bus 002 Device 006: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 005: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 010: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 009: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 008: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 007: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
...

К сожалению, как всегда, то, что должно быть интуитивно понятно, не работает так, как ожидалось.

Я обнаружил, что все мои интерфейсы находятся на шине 2 и имеют различныедевнумот 5 до 10

Поэтому я попробовал использовать такие команды:

SUBSYSTEM="net", ACTION="add", DRIVERS="?*", ATTRS{busnum}="2", ATTRS{devnum}="5", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", NAME="lan1"

Но это не работает.

Также с помощью этогоЯДРАпуть на устройстве, который должен быть в KERNELS="2-3:1.0":

SUBSYSTEM="net", ACTION="add", DRIVERS="?*", KERNELS="2-3:1.0", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", NAME="lan1"

Но ничего, интерфейсы не переименовываются...

Почему же эти правила не работают?

решение1

Нашел проблему. Это была синтаксическая ошибка, как указал @AB. По сути, я использовал = вместо ==, который использовался для присвоения значений вместо чтения и сравнения содержимого.

При использовании оператора == все работает нормально.

Связанный контент