UDEV 구성에서 상위 속성 "직렬"을 사용하여 Mac 주소에 의존하는 대신 LAN 인터페이스에 다른 이름을 할당합니다.

UDEV 구성에서 상위 속성 "직렬"을 사용하여 Mac 주소에 의존하는 대신 LAN 인터페이스에 다른 이름을 할당합니다.

이 커널 문제가 해결되기를 기다리고 있고 이 USB3 LAN 어댑터에 mac 주소를 무작위로 할당하는 경우:Debian 12 - 재부팅할 때마다 갑자기 USB3 Lan 어댑터에 무작위 Mac 주소가 할당됩니다.

사용자 정의 외에 해결 방법을 찾으려고 노력 중입니다.패치로 커널 다시 컴파일또는이전 커널 버전을 사용하세요.

기본적으로 모든 인터페이스 구성은 udev 구성 파일을 사용하여 얻은 사용자 정의 이름을 기반으로 합니다.70-영구-net.rules(특정 인터페이스의 이름은 Mac 주소에 따라 변경되지만 위의 버그로 인해 더 이상 작동하지 않습니다.)

udev 파일의 구문을 살펴보면/etc/udev/rules.d/70-pertant-net.rules

내 conf에는 다음과 같은 다양한 줄이 있습니다.

SUBSYSTEM="net", ACTION="add", DRIVERS="?*", ATTR{address}="00:....", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", NAME="lan1"

이제 다음 명령을 호출하여 내가 발견한 내용은 다음과 같습니다.

udevadm 정보 -a -p /sys/class/net/eth1

eth2, eth3, eth4, eth5도 마찬가지입니다...

인터페이스를 고유하게 식별하는 데 흥미로운 ATTR이 있다는 것입니다.

"serial"이라는 속성이지만 eth1, eth2에서는 사용할 수 없지만 직계 상위 개발자에서는 사용할 수 있습니다.

실제로 명령은 다음과 같이 시작됩니다.장치를 보고 있습니다...하지만 그 말이 나온 후에상위 기기를 보고 있습니다...

그래서 다음과 같은 일을 할 수 있는지 궁금합니다.

SUBSYSTEM="net", ACTION="add", DRIVERS="?*", ATTR{parent>serial}="00000003", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", NAME="lan1"

Mac 주소를 기반으로 구성하는 대신 상위 직렬을 사용하여 LAN 인터페이스의 이름을 바꿉니다.

이와 같은 구문이 존재합니까?

감사해요

답변1

이 게시물에서 이에 대한 답을 찾은 것 같습니다.USB 장치는 어떻게 고유하게 구별됩니까?

이 심판 읽기:https://www.reactivated.net/writing_udev_rules.html

다음을 사용하여 단일 상위 레벨과 실제 레벨을 혼합할 수 있는 것 같습니다.ATTRS, 그래서 사용ATTRS{연속}대신에ATTR{주소}그리고 제공되는 시리얼을 사용하여udevadm 정보 -a -p /sys/class/net/eth1일을 해라.

예:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTRS{serial}=="00000000000094", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="lan1"

그래서 데비안 개발자가 eeprom의 Mac을 읽을 수 있도록 업스트림 채널에 패치를 넣을 때까지 기다리는 동안 최신 Linux 커널을 사용하여 되돌렸습니다. 현재로서는 해결 방법이지만 확실한 방법입니다.

유일한 재미있는 부분은 장치에 연결된 케이블이 없으면 내 경우에는 lan1과 eth0이 모두 존재하고 lan1이 활성화되어 "이상하게" 올바른 mac 주소를 가져오고 eth0은 여전히 ​​임의의 mac 주소 1과 함께 다운된다는 것입니다.

편집: 이것은 일부 장치가 동일한 직렬을 공유한다는 것을 발견할 때까지 작동했습니다. ̅_(ツ)_/́ 그래서 어댑터를 고유하게 식별하기 위해 USB 루트 버스 번호와 장치 번호를 직접 사용하기 시작했습니다. 움직이지 않고. 다음 질문을 통해 확인하세요.mac 주소 대신 인터페이스 이름을 할당하려면 udev 규칙에서 usb nic 주소의 usb 경로를 사용하십시오.

관련 정보