무선 랜 번호 할당


12

리눅스가 네트워크 장치의 할당을 어떻게 또는 어디서 결정합니까? 특히, wlan0또는 wlan1무선 USB 장치 용.

얼마 전에 TP USB 무선을 연결했고에 할당되었습니다 wlan0. 나는 그것을 제거했다. 이번 주에 나는 Edimax USB 무선 장치를 연결했고로 나타납니다 wlan1. 나는 오늘 두 번째 Edimax USB 무선 장치 (두 개를 구입)를 시도하기 위해 그것을 제거하고 이제 나타납니다 wlan2.

나는 이것이 어딘가에 구성되고 있음을 알기에 충분한 유닉스 / 리눅스를 알고 있으며, 사용하지 않는 구성 파일을 삭제하면 최신 Edimax를 만들 수 있습니다 wlan0. 그러나 어떻게 / 어디?

답변:


15

Udev 는 Linux에서 장치 이름을 결정하는 시스템 구성 요소입니다. 대부분 파일 /dev이름은 네트워크 인터페이스 이름입니다.

099에서 196까지의 udev 버전에는 네트워크 인터페이스 이름을 기록하는 규칙이 있으며 항상 같은 장치에 대해 같은 번호를 사용합니다. 이 규칙은 udev 174부터 기본적으로 비활성화되어 있지만 배포판에서 활성화 할 수 있습니다 (예 : Ubuntu에서 유지). 일부 배포판은 다른 규칙 세트를 제공합니다.

나중에 사용하기 위해 인터페이스 이름을 기록하고 예약하는 스크립트는 /lib/udev/rules.d/75-persistent-net-generator.rules입니다. 에 규칙을 씁니다 /etc/udev/rules.d/70-persistent-net.rules. 따라서에서 기존 항목 wlan0wlan1항목을 제거 /etc/udev/rules.d/70-persistent-net.rules하고로 변경 wlan2하십시오 wlan0. 규칙을 이미 연결된 장치에 다시 적용하려면 실행 udevadm --trigger --attr-match=vendor='Edimax'(또는 --attr-match찾은 매개 변수가 장치와 일치)을 실행하십시오 .


매우 감사합니다. 이것은 raspberry pi (raspbian)의 데비안이므로 영구 저장소는 약간 다릅니다.
헌트로드

이 raspbian 버전의 특정 wlan 할당이 저장된 파일은 /etc/udev/rules.d/70-persistent-net.rules입니다. 위의 정보를 사용하여 이것을 찾은 다음 "man udev"를 입력하여 /lib/udev/rules.d 디렉토리에서 'wlan'을 찾을 수없는 이유를 확인하십시오.
헌트로드

라즈 비안의 경우, 무선 랜 번호는 무선 장치의 맥 주소 (이 경우 USB 포트에 연결된 것)를 기준으로 설정됩니다. 무선 장치를 인식하고 구성 할 때 처음으로 새 mac 주소를 보는 순서에 따라 숫자 (wlan0, wlan1 등)를 할당합니다. 제안한대로이 파일을 편집하면 고정 IP에 의해 장치를 임의의 WLAN 번호로 설정할 수 있습니다. - 감사.
헌트로드

다음과 같은 몇 가지 설명 포인트를 제공합니다. 1) Gilles가 정답에 나와 있습니다. hwaddr에서 ID를 할당하는 예를보고 싶습니다. 2) 인터페이스가 순서대로 할당되어 있습니다. 예를 들어 2 개의 edimax USB NIC가 있습니다. 사용 가능한 4 개의 USB 슬롯에서 스캔 순서와 관련성이 높습니다. 3) 인터페이스를 분리하고 원하는 순서대로 수동으로 삽입하여 인터페이스를 재정렬 할 수 있습니다.
CJ Steele

4

이 문제는 systemdv197부터 네트워크 장치에 대한 영구 명명 기능이 도입 되어 해결되었습니다 .

freedesktop Predictable Network Interface Names 페이지에 따르면 커널은 단순히 관련 드라이버가 조사한 순서에 따라 이름을 지정했습니다.

커널에 의해 적용되는 네트워크 인터페이스의 전형적인 이름 지정 체계는 "eth0", "eth1", ...로 시작하는 이름을 드라이버가 검색 할 때 모든 인터페이스에 할당하는 것입니다. 드라이버 프로빙은 일반적으로 최신 기술에 대해 예측할 수 없으므로 여러 네트워크 인터페이스를 사용할 수있게되면 "eth0", "eth1"등의 이름이 더 이상 고정되지 않으며 " 한 부팅에서 eth0 "은 다음 부팅에서"eth1 "이됩니다.

배포판에서 systemd를 사용하는 경우 예측 가능하게 할당되었지만 다루기 힘든 이름을 사용 wlp0s11하거나 mac 주소를 기반으로하여 udev보다 편안한 이름을 지정 하는 규칙을 작성할 수 있습니다 wifi1.

에서 파일 포함 /etc/udev/rules.d/이라 불리는 10-network-device.rules:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="22:bb:cc:33:44:dd", NAME="wifi1"

1
여기에 단계가 없습니다. 헌트로드는 새로운 명명 체계를 가진 197 년 이후의 udev를 가지고 있지 않으며, 또한 지속적인 명명 체계를 가지고있는 것 같습니다. 그가 조정해야 할 지속적인 이름 지정 체계입니다.
Gilles 'SO- 악한 중지'

내가 말할 수있는 것; 나는 펀트를했다 ...
jasonwryan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.