tugas nomor wlan

12

Bagaimana atau di mana Linux menentukan penugasan perangkat jaringan? Khususnya, wlan0atau wlan1untuk perangkat USB nirkabel.

Saya terhubung ke TP USB nirkabel beberapa waktu lalu, dan ditugaskan wlan0. Saya menghapusnya. Minggu ini saya menghubungkan perangkat nirkabel USB Edimax dan muncul sebagai wlan1. Saya menghapusnya hari ini untuk mencoba perangkat nirkabel Edimax USB kedua (saya membeli dua) dan sekarang muncul wlan2.

Saya cukup mengenal Unix / Linux untuk mengetahui bahwa ini sedang dikonfigurasi di suatu tempat, dan jika saya menghapus file konfigurasi yang tidak digunakan, saya dapat membuat Edimax terbaru menjadi wlan0. Tapi bagaimana / dimana?

Huntrods
sumber

Jawaban:

15

Udev adalah komponen sistem yang menentukan nama-nama perangkat di Linux - kebanyakan nama file di bawah /dev, tetapi juga nama-nama antarmuka jaringan.

Versi udev dari 099 hingga 196 datang dengan aturan untuk mencatat nama-nama antarmuka jaringan dan selalu menggunakan nomor yang sama untuk perangkat yang sama. Aturan-aturan ini dinonaktifkan secara default mulai dari udev 174, namun mungkin dapat diaktifkan oleh distribusi Anda (mis. Ubuntu menyimpannya). Beberapa distribusi menyediakan set aturan yang berbeda.

Skrip yang mencatat dan mencadangkan nama antarmuka untuk penggunaan di masa mendatang adalah /lib/udev/rules.d/75-persistent-net-generator.rules. Itu menulis aturan di /etc/udev/rules.d/70-persistent-net.rules. Jadi hapus entri yang ada wlan0dan wlan1dari Anda /etc/udev/rules.d/70-persistent-net.rules, dan ubah wlan2ke wlan0. Jalankan udevadm --trigger --attr-match=vendor='Edimax'(atau --attr-matchparameter apa pun yang Anda temukan cocok dengan perangkat Anda) untuk menerapkan kembali aturan ke perangkat yang sudah terpasang.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Terima kasih banyak. Ini debian pada raspberry pi (raspbian) sehingga penyimpanan persistennya sedikit berbeda.
Huntrods
File tempat penugasan wlan tertentu disimpan pada versi raspbian ini (terbaru, saya kira) adalah: /etc/udev/rules.d/70-persistent-net.rules. Saya menemukan ini menggunakan info Anda di atas dan kemudian mengetik "man udev" untuk melihat mengapa saya tidak dapat menemukan 'wlan' di direktori /lib/udev/rules.d.
Huntrods
Untuk raspbian, nomor wlan diatur berdasarkan alamat mac perangkat nirkabel (dalam hal ini, mana yang dicolokkan ke port USB). Ini mengalokasikan angka (wlan0, wlan1, dll.) Berdasarkan urutan pertama kali ia melihat alamat mac baru ketika mengenali dan mengkonfigurasi perangkat nirkabel. Mengedit file ini seperti yang Anda sarankan memungkinkan Anda untuk mengatur perangkat apa pun ke # wlan apa pun dengan IP statisnya. - terima kasih.
Huntrods
beberapa poin klarifikasi untuk ditawarkan: 1) Gilles sangat tepat dalam jawabannya, akan senang melihat contoh pemberian ID oleh hwaddr, 2) antarmuka ditugaskan pada urutan yang terlihat - misalnya saya memiliki dua edimax USB NIC, penempatan dalam empat slot USB yang tersedia sangat relevan dengan urutan pemindaian. 3) Anda dapat memesan ulang antarmuka dengan mencabutnya dan secara manual memasukkannya dalam urutan yang Anda inginkan.
CJ Steele
4

Masalah ini telah diselesaikan pada systemdv197 dengan diperkenalkannya penamaan yang persisten untuk perangkat jaringan.

Menurut halaman freedesktop Predictable Network Interface Names , kernel hanya menetapkan nama berdasarkan urutan mereka diperiksa oleh driver yang relevan:

Skema penamaan klasik untuk antarmuka jaringan yang diterapkan oleh kernel adalah dengan hanya menetapkan nama yang dimulai dengan "eth0", "eth1", ... untuk semua antarmuka saat diselidiki oleh driver. Karena driver probing umumnya tidak dapat diprediksi untuk teknologi modern, ini berarti bahwa segera setelah beberapa antarmuka jaringan tersedia, penugasan nama "eth0", "eth1" dan seterusnya umumnya tidak diperbaiki lagi dan mungkin sekali hal itu terjadi " eth0 "pada satu boot berakhir menjadi" eth1 "pada boot berikutnya.

Jika distro Anda menggunakan systemd, Anda dapat menggunakan nama yang ditetapkan tetapi mungkin sulit digunakan seperti diprediksi wlp0s11atau Anda dapat menulis udevaturan untuk memberi mereka nama yang lebih nyaman bagi Anda, seperti wifi1, berdasarkan alamat mac ...

Sertakan file dalam /etc/udev/rules.d/nama 10-network-device.rules:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="22:bb:cc:33:44:dd", NAME="wifi1"
jasonwryan
sumber
1
Anda melewatkan satu langkah di sini. Huntrods ternyata tidak memiliki udev pasca-197 dengan skema penamaan baru, dan juga jelas memiliki skema penamaan yang persisten. Skema penamaan yang terus-menerus inilah yang perlu dia ubah.
Gilles 'SO- berhenti bersikap jahat'
Apa yang bisa kukatakan; Saya mengambil tendangan ...
jasonwryan