WLAN番号の割り当て


12

Linuxはネットワークデバイスの割り当てをどのように、またはどこで決定しますか?具体的に、wlan0またはwlan1ワイヤレスUSBデバイス用。

私は少し前にTP USBワイヤレスを接続し、割り当てられましたwlan0。削除しました。今週、Edimax USBワイヤレスデバイスを接続すると、として表示されwlan1ます。2台目のEdimax USBワイヤレスデバイス(2台購入)を試してみるために、今日それを取り外しましたwlan2

私はこれがどこかに設定されていることを知るのに十分なUnix / Linuxを知っており、未使用の設定ファイルを削除すると、最新の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、に変更wlan2wlan0ます。実行udevadm --trigger --attr-match=vendor='Edimax'(または--attr-match、デバイスに一致するパラメーター)を実行して、既にプラグインされているデバイスにルールを再適用します。


どうもありがとう。これはraspberry pi(raspbian)上のdebianであるため、永続ストレージは少し異なります。
Huntrods

特定のwlan割り当てがraspbianのこの(最新の)バージョンに保存されているファイルは、/ etc / udev / rules.d / 70-persistent-net.rulesです。上記の情報を使用してこれを見つけ、「man udev」と入力して、/ lib / udev / rules.dディレクトリで「wlan」が見つからなかった理由を確認しました。
-Huntrods

raspbianの場合、wlan番号はワイヤレスデバイスのMACアドレスに基づいて設定されます(この場合、USBポートに接続されている方)。ワイヤレスデバイスを認識して設定するときに新しいMACアドレスを最初に検出した順序に基づいて、番号(wlan0、wlan1など)を割り当てます。提案どおりにこのファイルを編集すると、静的IPによって任意のデバイスを任意のwlan#に設定できます。-ありがとう。
Huntrods

1)Gillesは答えにスポットを当てています。hwaddrでIDを割り当てる例を見てみたいと思います。2)インターフェイスは見た順に割り当てられます。たとえば、2つのedimax USB NIC、配置があります使用可能な4つのUSBスロットは、スキャンされる順序に非常に関連しています。3)インターフェイスを取り外して、識別したい順序で手動で挿入することにより、インターフェイスを並べ替えることができます。
CJスティール

4

この問題は、systemdv197の時点で、ネットワークデバイスの永続的な命名の導入により解決されました。

freedesktopの予測可能なネットワークインターフェイス名のページによると、カーネルは、関連するドライバーによってプローブされた順番に基づいて名前を割り当てました。

カーネルによって適用されるネットワークインターフェースの古典的な命名スキームは、「eth0」、「eth1」、...で始まる名前を、ドライバーによってプローブされるすべてのインターフェースに単に割り当てることです。ドライバーの調査は一般に最新の技術では予測できないため、複数のネットワークインターフェースが利用可能になるとすぐに、「eth0」、「eth1」などの名前の割り当ては一般に固定されなくなり、「あるブートの「eth0」は、次のブートの「eth1」になります。

ディストリビューションがsystemdを使用している場合は、予測可能に割り当てられているが扱いにくい名前を使用するか、macアドレスに基づいて、より快適な名前を​​付けるルールをwlp0s11記述することができます...udevwifi1

/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以降のudevがなく、永続的な命名スキームもあるようです。彼が微調整する必要があるのは、この永続的な命名スキームです。
ジル 'SO-悪であるのをやめる'

何と言えばいい; 私はパントを取りました
...-ジェイソンウィル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.