โดยทั่วไปแล้ว network interface ของ Linux จะมีชื่อว่า eth0 eth1 … ethx แต่เนื่องจากชื่อของ network interface ไม่ได้สื่อถึง hardware ของ network interface นั้น ทำให้เราไม่สามารถรู้ได้ว่า eth0 eth1 … เป็น hardware แบบไหน จึงทำให้เกิด naming rule สำหรับ network interface ขึ้นมาโดยการตั้งชื่อจะอิงตาม firmware, topology, และ location information

ใน CentOS/RHEL 6 ได้มีการนำ naming rule เข้ามาใช้งานแต่ไม่ได้เปิดใช้งานเป็น default แต่สำหรับ CentOS/RHEL 7 ได้มีการเปิดใช้งาน naming rule เป็นค่า default ดังนั้นเราจะเห็นชื่อ network interface แปลกขึ้นมาแทน eth0 eth1 …

หลักการตั้งขื่อใหม่เป็นดังนี้

  • 2 character หน้าจะหมายถึงชนิดของ interface
    en -- ethernet
    sl -- serial line IP (slip)
    wl -- wlan
    ww -- wwan
    
  • ส่วน character ที่เหลือมีความหมายดังนี้
    b                                                              -- BCMA bus core number
    ccw                                                              -- CCW bus group name
    o                                                               -- on-board device index number
    s[f][d]                                      -- hotplug slot index number
    x                                                                 -- MAC address 
    [P]ps[f][d]                     -- PCI geographical location
    [P]ps[f][u][..]1[i]      -- USB port number chain
    

ตัวอย่างชื่อ network interface
eno16777736 หมายถึง ethernet on board ที่มี index ของ device ที่ provided โดย firmware (BIOS/EFI) เป็น 16777736
ดูข้อมูลเพิ่มเติมของ network interface
udevadm info --name=/dev/eno16777736 --attribute-walk

การแก้ไข network interface name ให้กลับเป็น ethx สามารถทำได้ดังนี้

วิธีที่ 1
แก้ไขไฟล์ /etc/default/grub โดยเพิ่ม
net.ifnames=0

วิธีที่ 2
ปิดการใช้งาน naming rule โดยการทำ symbolic link ไปยัง /dev/null
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules