присвоєння номеру wlan


12

Як або де Linux визначає призначення мережевого пристрою? Зокрема, wlan0або wlan1для бездротових USB-пристроїв.

Я підключив бездротовий кабель TP USB деякий час тому, і це було призначено wlan0. Я її зняв. На цьому тижні я підключив бездротовий пристрій Edimax USB, і він з'являється як wlan1. Сьогодні я його зняв, щоб спробувати другий бездротовий пристрій Edimax USB (я купив два), і тепер він з'являється wlan2.

Я знаю досить Unix / Linux, щоб знати, що це десь налаштовано, і якщо я видалю невикористаний файл конфігурації, я можу зробити останній Edimax wlan0. Але як / де?

Відповіді:


15

Udev - це системний компонент, який визначає назви пристроїв під Linux - переважно імена файлів під /dev, але також імена мережевих інтерфейсів.

Версії udev від 099 до 196 поставляються з правилами запису імен мережевих інтерфейсів і завжди використовують одне і те ж число для одного і того ж пристрою. Ці правила відключені за замовчуванням, починаючи з udev 174, але, тим не менш, вони можуть бути включені вашим дистрибутивом (наприклад, Ubuntu зберігає їх). Деякі дистрибутиви пропонують різні набори правил.

Сценарій, який записує та зберігає назви інтерфейсів для подальшого використання /lib/udev/rules.d/75-persistent-net-generator.rules. Він пише правила в /etc/udev/rules.d/70-persistent-net.rules. Тому видаліть наявні wlan0та wlan1записи зі свого /etc/udev/rules.d/70-persistent-net.rulesта змініть wlan2на wlan0. Запустіть udevadm --trigger --attr-match=vendor='Edimax'(або будь-який --attr-matchпараметр, який ви знайдете, відповідає вашому пристрою), щоб повторно застосувати правила до вже підключеного пристрою.


Дуже дякую. Це debian на малиновому пі (rasbian), тому постійне сховище трохи інше.
Huntrods

Файл, де зберігаються конкретні призначення wlan у цій (останній, я думаю) версії raspbian, є: /etc/udev/rules.d/70-persistent-net.rules. Я дізнався це, використовуючи вашу інформацію вище, а потім набрав "man udev", щоб дізнатися, чому я не можу знайти "wlan" у каталозі /lib/udev/rules.d.
Huntrods

Для Rasbian номер wlan встановлюється на основі mac-адреси бездротового пристрою (у цьому випадку, залежно від того, який з них підключено до порту USB). Він розподіляє номери (wlan0, wlan1 тощо) залежно від порядку, коли він вперше бачить нову мак-адресу, коли він розпізнає та конфігурує бездротовий пристрій. Редагування цього файлу, як ви пропонуєте, дозволяє встановити будь-який пристрій на будь-який # wlan за його статичним IP. - Дякую.
Huntrods

декілька пунктів уточнення, які можна запропонувати: 1) Гілль знаходиться у своїй відповіді, хотів би побачити приклад призначення ідентифікаторів hwaddr; 2) інтерфейси призначаються за бажанням замовлення - наприклад, у мене є два edimax USB NIC, розміщення у чотирьох доступних USB-слотах дуже важливо порядок їх сканування. 3) Ви можете повторно замовити інтерфейси, від'єднавши їх та вручну вставивши їх у порядку, який ви хочете, щоб вони були визначені.
CJ Steele

4

Це питання було вирішено станом на systemdv197 із впровадженням постійних імен для мережевих пристроїв.

Відповідно до сторінки найменувань передбачуваних мережевих інтерфейсів freedesktop , ядро ​​просто присвоїло імена на основі порядку, який вони перевіряли відповідними драйверами:

Класична схема іменування мережевих інтерфейсів, застосованих ядром, - це просто присвоїти імена, починаючи з "eth0", "eth1", ... для всіх інтерфейсів, коли вони перевіряються драйверами. Оскільки зондування драйверів, як правило, не передбачувано для сучасної технології, це означає, що як тільки доступно декілька мережевих інтерфейсів, присвоєння імен "eth0", "eth1" і так далі, як правило, вже не фіксується, і це може дуже добре трапитися " eth0 "на одному завантаженні закінчується" eth1 "на наступному.

Якщо ваш дистрибутив використовує systemd, ви можете або використовувати передбачені передбачувані, але, можливо, незграбні імена на кшталт, wlp0s11або ви можете написати udevправило, щоб дати їм ім’я, яке вам зручніше, наприклад wifi1, на основі mac адреси ...

Включити файл у /etc/udev/rules.d/називається 10-network-device.rules:

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

1
Ви пропускаєте крок тут. Очевидно, що у Huntrods немає нової схеми іменування після 197 років, а також, очевидно, існує стійка схема іменування. Саме цю стійку схему іменування йому потрібно налаштувати.
Жил "ТАК - перестань бути злим"

Що я можу сказати; Я взяв
пунт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.