Tại sao giao diện ethernet của tôi được gọi là enp0s10 thay vì eth0?


65

Khi tôi chạy ifconfig -a, tôi chỉ nhận được giao diện loenp0s10 , không phải eth0 cổ điển

Không gì enp0s10 nghĩa là gì? Tại sao không có eth0 ?


5
ifconfigbị phản đối Hãy suy nghĩ về việc chuyển đến iptừ iproute2sớm.
solsTiCe

1
Như câu trả lời cho biết đó là một sự thay đổi trong systemd. Để lấy eth0lại của bạn, sử dụng tùy chọn kernel net.ifnames=0 biosdevname=0(xem chủ đề này ). Sử dụng ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rulecâu trả lời dưới đây không hoạt động trong Debian 10 (Buster)
MrCalvin

Câu trả lời:


56

Đó là một sự thay đổi trong cách bây giờ udevd gán tên cho các thiết bị ethernet. Bây giờ các thiết bị của bạn sử dụng "Tên giao diện có thể dự đoán", dựa trên ( và trích dẫn các nguồn ):

  1. Tên kết hợp Firmware / BIOS cung cấp số chỉ mục cho các thiết bị trên máy bay (ví dụ: eno1)
  2. Các tên kết hợp Firmware / BIOS được cung cấp số chỉ mục khe cắm cắm nóng PCI Express (ví dụ: ske1)
  3. Tên kết hợp vị trí vật lý / địa lý của đầu nối của phần cứng (ví dụ: enp2s0)
  4. Tên kết hợp địa chỉ MAC của giao diện (ví dụ: enx78e7d1ea46da)
  5. Đặt tên ethX gốc nhân, không thể đoán trước (ví dụ: eth0)

Tại sao điều này thay đổi được ghi lại trong trang systemedes freedesktop.org , cùng với phương pháp để vô hiệu hóa điều này:

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

hoặc nếu bạn sử dụng các phiên bản cũ hơn:

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

7
Theo liên kết freedesktop, org, điểm chính là:The classic naming scheme for network interfaces applied by the kernel is to simply assign names beginning with "eth" to all interfaces as they are probed by the drivers. As the driver probing is generally not predictable for modern technology this means that as soon as multiple network interfaces are available the assignment of the names is generally not fixed anymore and it might very well happen that "eth0" on one boot ends up being "eth1" on the next. This can have serious security implications...
lepe

87

Trả lời về "enp0s10 có nghĩa là gì?" câu hỏi:

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

Nguồn: udev-buildin-net_id.c trên GitHub


6
Đã tìm kiếm điều này.
đánh bại

5
Vì không có ...fNphần nào ở cuối tên NIC, chúng ta có thể suy ra rằng số hàm là 0. Sau khi dịch các số thành thập lục phân (10 = "a" trong hex), chúng ta biết rằng đó enp0s10có nghĩa là ID thiết bị PCI 00:0a.0.
telcoM
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.