Mengapa antarmuka ethernet saya disebut enp0s10, bukan eth0?

65

Ketika saya menjalankan ifconfig -a, saya hanya mendapatkan antarmuka lo dan enp0s10 , bukan eth0 klasik

Apa yang dimaksud dengan enp0s10 ? Mengapa tidak ada eth0 ?

Nico Rodsevich
sumber
5
ifconfigsudah ditinggalkan. Pikirkan tentang pindah ke ipdari iproute2segera.
solsTiCe
1
Seperti jawabannya, ini adalah perubahan pada systemd. Untuk mendapatkan Anda eth0kembali gunakan opsi kernel net.ifnames=0 biosdevname=0(lihat utas ini ). Menggunakan ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rulejawaban di bawah tidak berfungsi di Debian 10 (Buster)
MrCalvin

Jawaban:

56

Itu adalah perubahan dalam cara sekarang udevd memberikan nama ke perangkat ethernet. Sekarang perangkat Anda menggunakan "Nama Antarmuka yang Dapat Diprediksi", yang didasarkan pada ( dan mengutip sumber ):

  1. Nama yang memasukkan nomor indeks yang disediakan Firmware / BIOS untuk perangkat terpasang (contoh: eno1)
  2. Nama-nama yang memasukkan Firmware / BIOS disediakan nomor indeks slot hotplug PCI Express (contoh: EN1)
  3. Nama yang memasukkan lokasi fisik / geografis dari konektor perangkat keras (contoh: enp2s0)
  4. Nama-nama yang memasukkan alamat MAC antarmuka (contoh: enx78e7d1ea46da)
  5. Klasik, penamaan ethX kernel-asli yang tidak dapat diprediksi (contoh: eth0)

Mengapa perubahan ini didokumentasikan dalam halaman systemd freedesktop.org , bersama dengan metode untuk menonaktifkan ini:

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

atau jika Anda menggunakan versi yang lebih lama:

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
Braiam
sumber
7
Mengikuti freedesktop, tautan org, poin utamanya adalah: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

Jawab pada "Apa artinya enp0s10?" pertanyaan:

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

Sumber: udev-builtin-net_id.c di GitHub

DIG mbl
sumber
6
Datang mencari ini.
meraba
5
Karena tidak ada ...fNbagian di akhir nama NIC, kita dapat menyimpulkan bahwa nomor fungsi adalah 0. Setelah menerjemahkan angka ke heksadesimal (10 = "a" dalam hex), kita tahu itu enp0s10berarti perangkat PCI ID 00:0a.0.
Telkom