第8章 ネットワークデバイス命名における一貫性

Red Hat Enterprise Linux 7 では、ネットワークインターフェース用に一貫した予想可能なネットワークデバイスの命名方法を提供しています。この機能では、インターフェースの位置判定と区別が容易になるようにシステム上のネットワークインターフェース名を変更します。
従来の Linux のネットワークインターフェースには eth[0123…] などの数値が付けられました。しかし、これらの名前は必ずしもシャーシー上の実際のラベルと一致していません。複数のネットワークアダプターを持つ最近のサーバープラットフォームは、これらのインターフェースについて非断定的かつ非直感的な命名に遭遇する可能性があります。これは、マザーボードに組み込まれたネットワークアダプター (Lan-on-Motherboard または LOM) とアドイン (シングルおよびマルチのポート) アダプターの両方に影響します。
Red Hat Enterprise Linux 7 では、udev が多くの異なる命名スキームをサポートしています。デフォルトでは、ファームウェア、トポロジー、および場所情報に基づいて固定名が割り当てられます。これには、名前が完全に自動的かつ予想可能であり、ハードウェアが追加もしくは削除されても (再列挙がなされず) 固定のままであり、またハードウェアが壊れた場合にシームレスに交代可能であるという利点があります。マイナス面は、従来使用されていた eth0wlan0 といった名前と比べて読みにくい場合があるという点です。たとえば、enp5s0 などの場合です。

8.1. 命名スキームの序列

デフォルトでは、systemd が以下のポリシーを使用してサポート対象の命名スキームを適用し、インターフェースに命名します。
  • スキーム 1: ファームウェアや BIOS がオンボードデバイスについて提供する索引番号を組み入れた名前 (例: eno1) は、ファームウェアや BIOS からの情報が適用可能で利用可能な場合は、これが適用されます。そうでない場合は、スキーム 2 にフォールバックします。
  • スキーム 2: ファームウェアや BIOS が提供している PCI Express ホットプラグスロットの索引番号を組み込んだ名前 (例: ens1) は、ファームウェアや BIOS からの情報が適用可能で利用可能な場合は、これが適用されます。そうでない場合は、スキーム 3 にフォールバックします。
  • スキーム 3: ハードウェアのコネクターの物理的場所を組み込んだ名前 (例: enp2s0) は、これが適用可能な場合は、適用されます。そうでない場合は、スキーム 5 にフォールバックします。
  • スキーム 4: インターフェースの MAC アドレスを組み込んだ名前 (例: enx78e7d1ea46da) はデフォルトでは使用されませんが、ユーザーが選択すれば適用可能です。
  • スキーム 5: 従来型の予測不可能なカーネル命名スキーム (例: eth0) は、他のすべての方法が失敗した場合に使用されます。
上記のポリシーがデフォルトになります。システムで biosdevname が有効になっている場合、これが使用されます。Dell システム以外では、biosdevname を有効にするために biosdevname=1 をコマンドラインのパラメーターとして渡す必要があります。Dell システムでは、biosdevname がインストールされていれば、これがデフォルトで使用されます。カーネルデバイス名を変更する udev ルールをユーザーが追加している場合、このルールが優先されます。