udev 규칙에서 USB 네트워크 카드 주소의 USB 경로를 사용하여 MAC 주소 대신 인터페이스 이름을 할당합니다.

udev 규칙에서 USB 네트워크 카드 주소의 USB 경로를 사용하여 MAC 주소 대신 인터페이스 이름을 할당합니다.

관련된:

제공된 두 번째 솔루션의 문제점은 일부 USB3 NIC가 이상한 이유로 동일한 콘텐츠를 공유한다는 것입니다.ATTR{시리즈}따라서 이 인터페이스의 이름을 바꾸는 마지막 수단은 USB 경로입니다.

연결된 NIC는 항상 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가 말했듯이 기본적으로 내용을 읽고 비교하는 대신 == 대신 =를 사용하여 할당했습니다.

==를 연산자로 사용하면 모든 것이 잘 작동합니다.

관련 정보