Mengapa antarmuka jaringan saya bernama enp0s25 bukan eth0?

109

Banyak skrip saya berhenti bekerja setelah menginstal Ubuntu 15.10 dan saya mengalami kesulitan mengingat nama baru ini karena saya sudah terbiasa dengan ethx dan wlanx selama bertahun-tahun. Apakah ada alasan untuk perubahan ini? Apakah saya harus terbiasa dengan ini atau bisakah saya mengganti nama saja dan kembali ke eth0 lama yang baik?

$ ifconfig

enp0s25   Link encap:Ethernet  HWaddr 77:5a:5e:a6:86:d5  
      inet addr:192.168.31.239  Bcast:192.168.31.255  Mask:255.255.255.0
      inet6 addr: fe80::725a:b6ff:fea6:86d7/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:4833 errors:1332 dropped:0 overruns:0 frame:666
      TX packets:5589 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:3266446 (3.2 MB)  TX bytes:1046654 (1.0 MB)
      Interrupt:20 Memory:d3500000-d3520000
Mike
sumber
2
lihat ini yang juga memiliki tautan lebih lanjut ke detail lebih lanjut.
Doug Smythies
4
Oooooooooooooountuk memperbaiki skrip Anda sekali dan untuk semua dan menghapus referensi (dan mengubahnya untuk perintah untuk menentukan nama perangkat) ;-) (berikut adalah beberapa petunjuk: askubuntu.com/questions/396837/… )
Rinzwind
@Rinzwind Itu ide bagus.
Mike
@ Mike bos saya (= lead coder) selalu setuju dengan saya tentang hal itu juga, tetapi kemudian dia selalu menggunakan jalur dan perangkat berkode keras ... dan saya memarahinya lagi dan lagi;)
Rinzwind
1
Duplikat
rugk

Jawaban:

105

Ini dikenal sebagai penamaan Antarmuka Jaringan yang Dapat Diprediksi dan merupakan bagian dari systemd , dimana Ubuntu telah bertransisi pada versi 15.04.

Ide dasarnya adalah bahwa tidak seperti skema penamaan * nix sebelumnya di mana probing untuk perangkat keras terjadi tanpa urutan tertentu dan dapat berubah di antara reboot, di sini nama antarmuka tergantung pada lokasi fisik perangkat keras dan dapat diprediksi / ditebak dengan melihat lspciatau lshwoutput . Sebaliknya, kita dapat menebak informasi tentang posisi fisiknya di sistem pci. Dalam kasus Anda yang akan menjadi pci bus 0, slot 2. Menurut artikel freedesktop.org , sebenarnya ada 3 cara bagaimana nama antarmuka ditugaskan: berdasarkan BIOS / Firmware untuk kartu onboard, berdasarkan informasi PCI, dan berdasarkan MAC alamat antarmuka. Lihat di sini untuk contoh lainnya .

Menurut halaman freedesktop.org salah satu alasan untuk beralih ke penamaan yang dapat diprediksi adalah bahwa konvensi penamaan klasik dapat menyebabkan risiko keamanan perangkat lunak dalam sistem multi-antarmuka ketika perangkat ditambahkan dan dihapus saat boot. Juga, menurut komentar oleh Sam Hanes , "Pada server besar dengan banyak port Ethernet itu sangat berharga: Anda dapat langsung membedakan mana antarmuka pergi ke mana pelabuhan dan menambahkan atau menghapus perangkat keras tidak mengubah nama-nama port lain."

Lihat Cara mengganti nama antarmuka jaringan di 15.10 jika Anda memutuskan untuk kembali ke versi penamaan yang lain.

Sergiy Kolodyazhnyy
sumber
40
Saya melihat sedikit ironi dalam kata "dapat diprediksi" :), terima kasih atas petunjuknya.
Mike
11
"dapat diprediksi", ya, tentu. Saya memiliki pemutusan ethernet setelah memutakhirkan ke 15.10 (instalasi bersih, lama / rumah). Mengapa melanggar API dan konvensi? Sekarang saya harus mencari tahu apa yang gagal. Saya sangat kesal dengan ini :(
gorlok
13
gagal bisa ditebak saya kira;)
Anwar
6
eh, katakan itu pada systemdpengembang, kawan.
Sergiy Kolodyazhnyy
22
Penamaan yang dapat diprediksi tidak terlalu berguna pada sistem desktop dengan hanya satu antarmuka, dan dalam hal ini agak menjengkelkan. Pada server besar dengan banyak port Ethernet sangat berharga: Anda dapat segera mengetahui antarmuka mana yang menuju port mana dan menambah atau menghapus perangkat keras tidak mengubah nama port lain. Untuk itulah ia dirancang.
Sam Hanes
1

FWIW file freedesktop.org PredictableNetworkInterfaceNames merujuk komentar file sumber sebagai kanonik tetapi file itu telah diubah untuk menghapus komentar - lihat https://github.com/systemd/systemd/pull/12518 .

pbhj
sumber