ทำไมอินเตอร์เฟส ethernet ของฉันถึงเรียกว่า enp0s10 แทนที่จะเป็น eth0


65

เมื่อฉันเรียกifconfig -aฉันเพียง แต่ได้รับทองหล่อและenp0s10อินเตอร์เฟซไม่คลาสสิกeth0

อะไรenp0s10หมายความว่าอย่างไร ทำไมจึงไม่มีeth0 ?


5
ifconfigเลิกใช้แล้ว คิดว่าจะย้ายipจากiproute2ในไม่ช้า
solsTiCe

1
ในขณะที่คำตอบบอกว่ามันเป็นการเปลี่ยนแปลงใน systemd รับeth0กลับของคุณใช้ตัวเลือกเคอร์เนลnet.ifnames=0 biosdevname=0(ดูหัวข้อนี้) การใช้ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.ruleคำตอบด้านล่างไม่ทำงานใน Debian 10 (Buster)
MrCalvin

คำตอบ:


56

นั่นคือการเปลี่ยนแปลงวิธีที่ udevd กำหนดชื่อให้กับอุปกรณ์อีเธอร์เน็ต ขณะนี้อุปกรณ์ของคุณใช้ "ชื่ออินเตอร์เฟสที่คาดการณ์ได้" ซึ่งขึ้นอยู่กับ ( และการอ้างอิงแหล่งที่มา ):

  1. ชื่อที่รวมเฟิร์มแวร์ / BIOS ระบุหมายเลขดัชนีสำหรับอุปกรณ์ออนบอร์ด (ตัวอย่าง: eno1)
  2. ชื่อที่รวมเฟิร์มแวร์ / BIOS มาพร้อมกับหมายเลขดัชนีสล็อต PCI Express hotplug (ตัวอย่าง: 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

7
ต่อไปนี้ freedesktop เชื่อมโยง org จุดหลักคือ: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

86

คำตอบใน "enp0s10 หมายถึงอะไร" คำถาม:

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

ที่มา: udev-builtin-net_id.c บน GitHub


6
มาหาสิ่งนี้
ffledgling

5
เนื่องจากไม่มี...fNส่วนในตอนท้ายของชื่อ NIC เราสามารถอนุมานว่าจำนวนฟังก์ชั่นเป็น 0 หลังจากแปลตัวเลขเลขฐานสิบหก (10 = "เป็น" ในฐานสิบหก) เรารู้ว่าหมายถึงรหัสอุปกรณ์enp0s10 PCI 00:0a.0
telcoM
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.