wlan numarası ataması


12

Linux bir ağ cihazının atamasını nasıl veya nerede belirler? Özellikle wlan0veya wlan1kablosuz USB aygıtları için.

Bir süre önce bir TP USB kablosuz bağladım ve atandı wlan0. Kaldırdım. Bu hafta bir Edimax USB kablosuz cihazı taktım ve öyle geliyor wlan1. Bugün ikinci bir Edimax USB kablosuz cihazını (iki tane satın aldım) denemek için kaldırdım ve şimdi çıkıyor wlan2.

Bunun bir yerde yapılandırıldığını bilmesi için yeterince Unix / Linux biliyorum ve kullanılmayan yapılandırma dosyasını silersem en son Edimax'ı yapabilirim wlan0. Ama nasıl / nerede?

Yanıtlar:


15

Udev , Linux altındaki cihazların adlarını belirleyen sistem bileşenidir - çoğunlukla dosya adları /devdeğil, aynı zamanda ağ arabirimlerinin adları.

099'dan 196'ya kadar olan udev sürümleri, ağ arabirimlerinin adlarını kaydetmek için kurallarla birlikte gelir ve aynı cihaz için her zaman aynı numarayı kullanır. Bu kurallar udev 174'den başlayarak varsayılan olarak devre dışıdır, ancak yine de dağıtımınız tarafından etkinleştirilebilir (örneğin Ubuntu bunları tutar). Bazı dağıtımlar farklı kural kümeleri sağlar.

Arabirim adlarını ileride kullanmak üzere kaydeden ve ayıran komut dosyasıdır /lib/udev/rules.d/75-persistent-net-generator.rules. Kurallar yazar /etc/udev/rules.d/70-persistent-net.rules. Yani mevcut kaldırmak wlan0ve wlan1sizin girişleri /etc/udev/rules.d/70-persistent-net.rulesve değişim wlan2için wlan0. Kuralları zaten takılı olan cihaza yeniden uygulamak için udevadm --trigger --attr-match=vendor='Edimax'(veya --attr-matchcihazınızla eşleşen herhangi bir parametreyi) çalıştırın .


Çok teşekkürler. Bu ahududu pi (raspbian) debian olduğunu, bu yüzden kalıcı depolama biraz farklıdır.
Huntrods

Raspbian'ın bu (en son sanırım) sürümünde belirli wlan atamalarının saklandığı dosya: /etc/udev/rules.d/70-persistent-net.rules. Bunu yukarıdaki bilgilerinizi kullanarak ve /lib/udev/rules.d dizininde neden 'wlan' bulamadığımı görmek için "man udev" yazarak öğrendim.
Huntrods

Raspbian için, wlan numarası kablosuz cihazın mac adresine göre ayarlanır (bu durumda, hangisi USB bağlantı noktasına takılıysa). Kablosuz cihazı tanıdığında ve yapılandırdığında yeni bir mac adresi gördüğü sıraya göre sayıları (wlan0, wlan1, vb.) Tahsis eder. Bu dosyayı önerdiğiniz gibi düzenlemek, herhangi bir cihazı statik IP'si ile herhangi bir wlan # ayarlamanıza izin verir. - Teşekkürler.
Huntrods

birkaç açıklama noktası sunmak için: 1) Gilles cevabında yerinde, hwaddr tarafından kimlik atama örneğini görmek ister, 2) arayüzler görülen sıraya göre atanır - örneğin, iki edimax USB NIC, yerleşimim var mevcut dört USB yuvasında, tarandıkları sıra ile son derece ilgilidir. 3) fişleri çıkarıp tanımlanmasını istediğiniz sırada manuel olarak takarak arayüzleri yeniden sipariş edebilirsiniz.
CJ Steele

4

Bu sorun, systemdv197'den itibaren ağ aygıtlarına kalıcı adlandırma eklenerek çözülmüştür .

Freedesktop Öngörülebilir Ağ Arabirimi Adları sayfasına göre, çekirdek ilgili sürücüler tarafından incelenme sırasına göre basitçe adlar atadı:

Çekirdek tarafından uygulanan ağ arabirimleri için klasik adlandırma şeması, sürücüler tarafından incelenirken tüm arabirimlere "eth0", "eth1", ... ile başlayan adları atamaktır. Sürücü araştırması genellikle modern teknoloji için öngörülebilir olmadığından, çoklu ağ arabirimleri kullanılabilir olur olmaz "eth0", "eth1" ve benzeri adların atanması genellikle sabit değildir ve çok iyi bir şekilde gerçekleşebilir " Bir önyüklemede eth0 "sonrakinde" eth1 "olur.

Dağıtımınız systemd kullanıyorsa, tahmin edilebilir şekilde atanmış ancak belki de kullanışsız isimleri kullanabilir wlp0s11veya udevonlara wifi1, mac adresine göre daha rahat bir ad vermek için bir kural yazabilirsiniz ...

Bir dosyayı ekleyin /etc/udev/rules.d/denilen 10-network-device.rules:

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

1
Burada bir adım eksik. Huntrods'un yeni adlandırma şemasına sahip bir 197 sonrası udev olmadığı ve aynı zamanda kalıcı bir adlandırma şemasına sahip olduğu açıktır. Ayarlaması gereken bu kalıcı isimlendirme şeması.
Gilles 'SO- kötü olmayı kes'

Ne söyleyebilirim; Ben bir punt aldı ...
jasonwryan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.