LinuxシステムのイーサネットおよびWi-Fiインターフェースの標準命名規則

LinuxシステムのイーサネットおよびWi-Fiインターフェースの標準命名規則

何ですかイーサネットおよびWi-Fiインターフェースの標準命名規則Linuxマシンでは?

私たちは表示するだけのツールを開発しています。LinuxシステムのイーサネットおよびWi-Fiインターフェースと現在の状態。

たとえば、以下は私のLinux(Ubuntu)システムのネットワークインタフェース(物理および仮想)のリストです。

docker0、、、、enp0s25lowlp3s0

ツールを実行すると、次の結果が表示されます。

enp0s25wlp3s0

私たちのコードのロジックは、すべてのイーサネットインターフェイスが常に文字で始まり、eWi-Fiインターフェイスが常に文字で始まるということですw

論理は正しいですか?そうでない場合は、この問題をどのように解決しますか?

答え1

ネットワークインタフェースの名前は任意に指定できるため、何をしても次の状況に直面します。 (1)パターンと一致しない名前を持つ「物理」ネットワークインターフェイスがある、または(2)「パターンパターン一致と一致しない物理」ネットワークインターフェイス。

要点は、私があなたのツールを使用している場合は「仮想」ネットワークインターフェースを持っているので、あなたのツールを使って私が望むことをすることができないということです。しかし、実用的な目的のためには、設定で「物理学」と見なされなければなりません。

物理ネットワークインターフェイスと仮想ネットワークインターフェイスの両方が共通のAPIを共有するため、Linuxは非常に柔軟になります。ユーザーの世話をしたり奪ったりしないでください。ユーザーは感謝します。

答え2

システムの場合予測可能なインターフェース名、プレフィックスは次のようになります。udev-builtin-net_id.c。インターフェイスの種類に応じた2文字のプレフィックスです。

伝統的なネーミングと新しいシステムネーミングの意味のために、ethX最初の文字は金利自動的に生成されるインターフェイス名はイーサネットインターフェイスでなければなりません。すべてのWi-Fiインターフェースは次のようにする必要があります。勝つどちらのシナリオでも、すべてのインターフェイスが次に終わるわけではありませんが、勝つWi-Fiになります。

このツールが任意の環境(あなたが制御する内部環境だけでなく)で動作する必要がある場合、ユーザーは任意の名前でLinuxシステムでインターフェースの名前を変更できます(例:イニシャルwan0に関する規則を破る) 。lan0lan1dmz0

答え3

命名規則は、LANインターフェイスの名前をeth0、、、eth1...、WLANインターフェイスの名前をwlan0、、、wlan1...で指定することです。

あなたが見ているのはsystemdによって導入されたいわゆる「予測可能な名前」です。実際には予測できず、ハードウェアが変更されても変更されることがあります。これはまさに避けるべき問題です。

推測するには、開始文字で十分です。一部のインターフェイス、特にWLANには次のプロンプトがあります/sys/class/net/*/uevent

DEVTYPE=wlan

DEVTYPE残念ながら、LANインターフェイスにはそのようなインターフェイスはありません。

答え4

結合または構成されたインターフェースを明示的に除外しましたか?ここでのデフォルト値は、bond0またはteam0サーバーのデフォルトインターフェイスとして使用することです。

論理を考え直す必要があると思います。おそらく、特定のシステムで定義されているすべてのネットワークインターフェイスを繰り返して、イーサネット、Wi-Fi、インフィニット、シリアルなどに分割して魔法をかけてみてください。

関連情報