Saya menggunakan Ubuntu 16.04 LTS Server tanpa kepala dengan dua kartu jaringan fisik, yang diberi nama enp5s0f0 dan enp5s0f1.
Saya ingin mengganti nama antarmuka ini, dan mengikuti contoh ini . Karena itu saya membuat file /lib/systemd/network/70-myinterface.link
(sumber aslinya tampaknya tidak berfungsi) seperti ini (saya menetapkan alamat mac yang benar):
[Match]
MACAddress=12:34:56:78:9a:bc
[Link]
Name=dmz0
dan me-reboot server. Sayangnya antarmuka tidak diganti nama, meskipun udevadm
menunjukkan bahwa file konfigurasi saya digunakan:
$ udevadm info /sys/class/net/enp5s0f1
P: /devices/pci0000:00/0000:00:02.0/0000:01:00.0/0000:02:02.0/0000:05:00.1/net/enp5s0f1
E: DEVPATH=/devices/pci0000:00/0000:00:02.0/0000:01:00.0/0000:02:02.0/0000:05:00.1/net/enp5s0f1
E: ID_BUS=pci
E: ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper)
E: ID_MODEL_ID=0x1096
E: ID_NET_DRIVER=e1000e
E: ID_NET_LINK_FILE=/lib/systemd/network/70-myinterface.link <-- my file
E: ID_NET_NAME_MAC=enx123456789abc
E: ID_NET_NAME_PATH=enp5s0f1
E: ID_OUI_FROM_DATABASE=Intel Corporation
E: ID_PATH=pci-0000:05:00.1
E: ID_PATH_TAG=pci-0000_05_00_1
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_VENDOR_ID=0x8086
E: IFINDEX=3
E: INTERFACE=enp5s0f1
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp5s0f1
E: TAGS=:systemd:
E: USEC_INITIALIZED=1900192
Apakah Anda tahu mengapa penggantian nama tidak berhasil?
networking
server
16.04
muffel
sumber
sumber
MACAddress=
[Match]
tidak berfungsi untuk saya dalamlink
file juga, jadi saya akhirnya menggunakanPath=
. Anda harus mencobanya juga. Anda juga dapat memeriksalink
file mana yang cocok dengan perangkat Anda denganudevadm test-builtin net_setup_link /sys/class/net/enp5s0f1
perintahJawaban:
Ini mungkin atau mungkin tidak membantu .. Saya akan memeriksa /etc/udev/rules.d dan melihat apakah Anda memiliki 70-persistent-net.rules. Anda harus dapat mengubah nama mereka menggunakan file itu
Milik saya terlihat seperti ini:
Jika Anda memiliki entri untuk kartu Anda dalam file ini, Anda dapat mengubah nama menjadi apa yang Anda inginkan dengan mengubah "NAME = TheNameYouWant"
sumber
Opsi yang tidak memerlukan aturan udev (alternatif untuk file .link systemd-networkd.) Yang berfungsi dengan Ubuntu 16.04 serta banyak versi Linux lainnya adalah
Contoh:
Dalam contoh di atas, peth0 adalah nama antarmuka asli dan eth0 adalah nama yang diinginkan. Masukkan nama yang saat ini Anda miliki di mana peth0 berada dan nama yang Anda inginkan di mana eth0 berada. Tidak diperlukan reboot atau disarankan. Ulangi proses untuk kartu antarmuka kedua
Diuji pada Ubuntu 16.04 dengan kernel 4.4.0-36-generik # 55-Ubuntu
Sunting: Jika Anda mencari solusi gigih yang selamat dari reboot, lihat Mengubah Nama Antarmuka Jaringan Ubuntu 16.04
Sumber: https://www.freedesktop.org/software/systemd/man/systemd.link.html
http://kernelpanik.net/rename-a-linux-network-interface-without-udev/
Pengujian.
Catatan: karena metode @ antti-haapala bekerja sebelumnya dan tiba-tiba berhenti, Anda mungkin tertarik untuk mengetahui bahwa "Sebagai kasus khusus, file kosong (ukuran file 0) atau symlink dengan nama yang sama yang menunjuk ke / dev / null menonaktifkan file konfigurasi seluruhnya (itu "bertopeng") ". <-Sumber
sumber
Ketiga metode penamaan kustom, dijelaskan systemd: Nama Antarmuka Jaringan yang Dapat Diprediksi , terkait dengan aturan udev.
aturan systemd .link's & udev memiliki prioritas folder.
/etc
menimpa/run
menimpa/lib
.Jadi periksa pengaturan saat ini.
Setelah ada perubahan dalam aturan udev ini (menambah / menghapus file override) agar efektif, disk RAM boot harus diperbarui:
Secara default, ini adalah satu-satunya file yang mungkin Anda temukan
Saya telah menguji semuanya di VBox fresh 16.04 instal sebagaimana didokumentasikan dalam tautan di bawah ini, semua metode berfungsi seperti yang diharapkan:
Ubuntu 16.04 Nama Antarmuka yang Rumit
/etc/udev/rules.d/70-persistent-net-rules
berasal dari rilis yang lebih lama digantikan oleh systemd .link's (tetapi tidak dibuat secara otomatis), saya menambahkannya di sini untuk memeriksa keberadaannya untuk masalah khusus tetapi tidak untuk kasus AnttiHaapala .sumber
Anda perlu memperbarui
initrd
dengan sesuatu sepertiupdate-initramfs -k all -c
, karena udev sudah menerapkan konfigurasi tersebut saat berjalaninitrd
.Ubuntu 16.04 tidak memiliki file aturan-70-persisten-net lagi.
sumber
Saya tidak memiliki reputasi yang cukup untuk berkomentar, tetapi hanya untuk menambahkan jawaban yang ditandai, instalasi bersih dari Ubuntu 16.04 tidak akan memiliki file /etc/udev/rules.d/70-persistent-net.rules hadir. Namun, jika Anda membuatnya secara manual, Anda dapat menambahkan baris seperti yang ditunjukkan pada jawaban di sini dan seharusnya berfungsi seperti yang dilakukan pada versi yang lebih lama, dengan satu perbedaan penting - parameter KERNEL harus ditentukan sebagai nama yang ditugaskan untuk antarmuka secara default. Misalnya, jika sistem menamai antarmuka sebagai "ens160" dan Anda ingin mengubahnya menjadi "eth0", garis tersebut mungkin terlihat seperti:
Ini memberi tahu aturan untuk hanya mencocokkan pada antarmuka yang cocok dengan MAC yang ditentukan (dalam parameter ATTR {address}) dan dengan nama kernel yang cocok dengan parameter KERNEL. Atau Anda mungkin bisa menghilangkan parameter KERNEL sama sekali dan itu harusnya berfungsi juga.
EDIT: Dan seperti yang telah disebutkan, jika Anda ingin menggunakan metode file .link maka Anda perlu memperbarui initramfs agar bisa berlaku. Perhatikan juga file .link khusus harus dibuat di / etc / systemd / network dan bukan di / lib / systemd / network (keduanya akan berfungsi tetapi praktik terbaiknya adalah menggunakan / etc / systemd / network karena memang itulah tujuannya - untuk memungkinkan untuk file tautan kustom yang mengesampingkan default di / lib / systemd / network).
sumber