Linux

為什麼我的乙太網介面叫 enp0s10 而不是 eth0?

  • November 16, 2021

當我執行時ifconfig -a,我只得到loenp0s10介面,而不是經典的eth0

enp0s10是什麼意思?為什麼沒有eth0

現在 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

回答“enp0s10 是什麼意思?” 問題:

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

來源:GitHub 上的 udev-builtin-net_id.c

引用自:https://unix.stackexchange.com/questions/134483