USB 썸 드라이브에 Arch 설치를 설정하려고 하는데 썸 드라이브를 어떤 컴퓨터(물리적 또는 가상)에 연결하든 네트워크 인터페이스 이름이 동일하게 유지되기를 원합니다.
이를 위해 udev
인터페이스가 유선인지 무선인지에 따라 규칙을 작성하고 싶습니다. 다음 규칙을 시도했지만 인터페이스 이름을 바꾸지 못했습니다.
SUBSYSTEM=="net",ACTION=="add",ATTR{ifindex}==2,NAME=eth0
SUBSYSTEM=="net",ACTION=="add",ATTR{ifindex}==3,NAME=wlan0
물론 이는 유선 인터페이스가 두 번째로 나열되고 무선 인터페이스가 세 번째(루프백 이후)에 나열된다는 순진한 가정에 기초합니다.
내 질문은 다음과 같습니다
- 규칙이 인터페이스 이름을 바꿀 수 없는 이유는 무엇입니까? 이 오류를 어떻게 디버깅할 수 있나요?
- 인터페이스가 유선인지 무선인지 감지하는 보다 안정적인 방법이 있습니까?
- 보너스:일을 단순하게 유지하기 위해 내가 연결하는 모든 컴퓨터에는 각 유형별로 최대 하나의 인터페이스가 있다고 가정하겠습니다. 여러 유무선 인터페이스를 처리할 수 있는 방법이 있나요?
답변1
/etc/udev/rules.d/70-persistent-net.rules
도움이 된다면 정확히 이 목적으로 사용된 파일(다른 명명 체계를 사용하는 경우 현재는 사용되지 않음)은 인덱스가 아닌 MAC 주소와 일치됩니다. 그리고 나는 정말진짜인덱스에 의존하지 않습니다.아니요네트워크 인터페이스는 특정 순서로 생성되도록 보장됩니다. 내 컴퓨터에서는 다음과 같이 보입니다.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:55", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
파일은 자동으로 생성되는데 왜 포함되어 있는지 모르겠습니다 eth0
. 시스템에 맞게 수정하세요. 위의 설명에서 언급한 대로 udevadm info -p /sys/class/net/wlan0
etc.를 사용하여 전체 속성 목록을 가져옵니다.