web-dev-qa-db-ja.com

イーサネットインターフェイスがeth0ではなくenp0s10と呼ばれるのはなぜですか?

ifconfig -aを実行すると、loおよびenp0s1インターフェースのみが取得され、従来のethは取得されません

enp0s1はどういう意味ですか? ethがないのはなぜですか?

81
Nico Rodsevich

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

  1. ファームウェア/ BIOSを組み込んだ名前は、オンボードデバイスのインデックス番号を提供します(例:eno1)
  2. ファームウェア/ BIOS提供のPCI Expressホットプラグスロットインデックス番号を組み込んだ名前(例:ens1)
  3. ハードウェアのコネクターの物理的/地理的位置を組み込んだ名前(例:enp2s0)
  4. インターフェースのMACアドレスを組み込んだ名前(例:enx78e7d1ea46da)
  5. クラシックで予測不可能なカーネルネイティブのethX命名(例:eth0)

これが変更された理由は、これを無効にする方法とともに systemd freedesktop.org page に記載されています。

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
65
Braiam

「enp0s10とはどういう意味ですか?」質問:

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

ソース: GitHubのudev-builtin-net_id.c

105
DIG mbl

上記のように、enp0s10はイーサネット(en)、プレフィックス0(p0)、スロット10(s10)を指します。バス番号、デバイス番号、および機能番号は、PCIデバイスのバスデバイス機能(BDF)から取得され、予測可能なネットワークインターフェイス名のプレフィックス、スロット、および機能部分を作成します。

Functionが0であるため、f0の部分は省略されています。この例では、わかりやすくするために、プレフィックスをp0からp4に変更しました。

'Dig mbl'によって投稿された他の回答を拡張します。

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

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

3
mhck