第1章 一貫したネットワークインターフェイス命名の実装
udev デバイスマネージャーは、Red Hat Enterprise Linux で一貫したデバイス命名を実装します。デバイスマネージャーは、さまざまな命名スキームをサポートしています。デフォルトでは、ファームウェア、トポロジー、および場所の情報に基づいて固定名を割り当てます。
一貫したデバイス命名を使用しない場合、Linux カーネルは固定の接頭辞とインデックスを組み合わせて名前をネットワークインターフェイスに割り当てます。カーネルがネットワークデバイスを初期化すると、インデックスが増加します。たとえば、eth0 は、起動時にプローブされる最初のイーサネットデバイスを表します。別のネットワークインターフェイスコントローラーをシステムに追加すると、再起動後にデバイスが異なる順序で初期化される可能性があるため、カーネルデバイス名の割り当てが一定でなくなります。その場合、カーネルはデバイスに別の名前を付けることがあります。
この問題を解決するために、udev は一貫したデバイス名を割り当てます。これには、次の利点があります。
- 再起動してもデバイス名が変わりません。
- ハードウェアを追加または削除しても、デバイス名が固定されたままになります。
- 不具合のあるハードウェアをシームレスに交換できます。
- ネットワークの命名はステートレスであり、明示的な設定ファイルは必要ありません。
通常、Red Hat は、一貫したデバイス命名が無効になっているシステムはサポートしていません。例外は、Red Hat ナレッジベースのソリューション記事 Is it safe to set net.ifnames=0 を参照してください。
1.1. udev デバイスマネージャーによるネットワークインターフェイスの名前変更の仕組み リンクのコピーリンクがクリップボードにコピーされました!
udev デバイスマネージャーは、ネットワークインターフェイスに一貫した命名スキームを適用するために、一連のルールを処理します。
ルールファイルの順序:
オプション:
/usr/lib/udev/rules.d/60-net.rulesこのファイルは、
initscripts-rename-deviceパッケージをインストールした場合にのみ存在します。/usr/lib/udev/rules.d/60-net.rulesファイルは、非推奨の/usr/lib/udev/rename_deviceヘルパーユーティリティーが/etc/sysconfig/network-scripts/ifcfg-*ファイルのHWADDRパラメーターを検索することを定義します。変数に設定した値がインターフェイスの MAC アドレスに一致すると、ヘルパーユーティリティーは、インターフェイスの名前を、ifcfgファイルのDEVICEパラメーターに設定した名前に変更します。システムがキーファイル形式の NetworkManager 接続プロファイルのみを使用する場合、
udevはこの手順をスキップします。Dell システムのみ:
/usr/lib/udev/rules.d/71-biosdevname.rulesこのファイルは、
biosdevnameパッケージがインストールされている場合にのみ存在します。このルールファイルは、前の手順でインターフェイスの名前が変更されていない場合に、biosdevnameユーティリティーが命名ポリシーに従ってインターフェイスの名前を変更することを定義します。注記biosdevnameは Dell システムにのみインストールして使用してください。/usr/lib/udev/rules.d/75-net-description.rulesこのファイルは、
udevがネットワークインターフェイスを検査し、udevの内部変数にプロパティーを設定する方法を定義します。これらの変数は、次のステップで/usr/lib/udev/rules.d/80-net-setup-link.rulesファイルによって処理されます。一部のプロパティーは未定義である場合があります。/usr/lib/udev/rules.d/80-net-setup-link.rulesこのファイルは
udevサービスのnet_setup_linkビルトインを呼び出します。udevは/usr/lib/systemd/network/99-default.linkファイルのNamePolicyパラメーターのポリシーの順序に基づいてインターフェイスの名前を変更します。詳細は、ネットワークインターフェイスの命名ポリシー を参照してください。どのポリシーも適用されない場合、
udevはインターフェイスの名前を変更しません。