私のEthernetインターフェイス名がeth0ではなくenp0s10であるのはなぜですか?

私のEthernetインターフェイス名がeth0ではなくenp0s10であるのはなぜですか?

私が走るときifconfig -a、私はただ得るルオそしてenp0s10クラシックではないインターフェースイーサネット0

何ですかenp0s10意味は?なぜできないのイーサネット0

答え1

「enp0s10 とはどういう意味ですか?」という質問に答えるには、次のようにします。

enp0s10:
| | |
v | |
en| |   --> ethernet
  v |
  p0|   --> bus number (0)
    v
    s10 --> slot number (10)

源泉:GitHubのudev-buildin-net_id.c

答え2

udevdがイーサネットデバイスに名前を割り当てる方法が変更されました。お使いのデバイスは、以下に基づいて「予測可能なインターフェイス名」を使用します。そしてソースを引用してください):

  1. ファームウェア/BIOSを含む名前は、オンボードデバイスのインデックス番号を提供します(例:eno1)。
  2. ファームウェア/BIOSが提供するPCI Expressホットプラグスロットインデックス番号を含む名前(例:ens1)
  3. ハードウェアコネクタの物理/地理的な場所名を含めます(例:enp2s0)。
  4. インターフェイスMACアドレスを含む名前(例:enx78e7d1ea46da)
  5. 予測不可能な古典的なカーネルベースのethX命名(例:eth0)

この変更が発生した理由は、次の文書で説明されています。systemd freedesktop.org ページ、この機能を無効にする方法:

ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

または以前のバージョンを使用している場合:

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

答え3

上記のように、enp0s10はイーサネット(en)、プレフィックス0(p0)、スロット10(s10)を意味します。

バス番号、デバイス番号、および機能番号は、PCIデバイスのバスデバイス機能(BDF)表現から取得され、予測可能なネットワークインターフェイス名(PNIN)のプレフィックス、スロット、および機能部分を作成します。

関数が0の場合、f0部分が省略されることもあります。明確にするために、プレフィックスをp0からp4に変更し、関数をf0からf1に変更しました。 BDFはPNINから10進値に変換される16進値を使用します。

拡張回答アナウンサーディゴクシン:

enp4s10f1                        pci 0000:04:0a.1
| | |  |                                |  |  | |
| | |  |                   domain <- 0000  |  | |
| | |  |                                   |  | |
en| |  |  --> ethernet                     |  | |
  | |  |                                   |  | |
  p4|  |  --> prefix/bus number (4)   <-- 04  | |
    |  |                                      | |
    s10|  --> slot/device number (10) <--    10 |
       |                                        |
       f1 --> function number (1)     <--       1

https://wiki.xen.org/wiki/Bus:Device.Function_(BDF)_Notation https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames

USBポート用に最後にu7があるデバイスを発見しました。いくつかの異なるラベリングの可能性が含まれています。この文書は、予測可能なネットワークインタフェースデバイス名に関するものです。

PCIドメインがゼロでない場合の2番目の例(PはPCIジオロケーションを表します):

P1enp4s10f1                        pci 0001:04:0a.1
| | | |  |                                |  |  | |
P1| | |  |  --> PCI geo loc/domain <-- 0001  |  | |
  | | |  |                                   |  | |
  en| |  |  --> ethernet                     |  | |
    | |  |                                   |  | |
    p4|  |  --> prefix/bus number (4)   <-- 04  | |
      |  |                                      | |
      s10|  --> slot/device number (10) <--    10 |
         |                                        |
         f1 --> function number (1)     <--       1

答え4

禁止に関する専門的な引用@Braiamが接続しました:

気に入らないのにどうやって無効にできますか?

デフォルトでは3つのオプションがあります。

  1. 予測できないカーネル名が再利用されるように、固定名の割り当てを無効にします。これを行うには、デフォルトポリシーに対してudevの.linkファイルをブロックします。ln -s /dev/null /etc/systemd/network/99-default.link
  2. インタフェース名を「internet0」、「dmz0」、または「lan0」と指定するなど、手動で命名スキームを直接作成できます。これを行うには/etc/systemd/network/、インターフェイスの1つ、一部、または全体に対して明確な名前またはより良い命名スキームを選択してから独自の.linkファイルを作成します。詳細についてはを参照してくださいsystemd.link(5)
  3. net.ifnames=0カーネルコマンドラインを渡します。

要約:次に名前が変更されました。99-default.link

関連情報