Saya mengganti nama antarmuka jaringan dengan memodifikasi file di /etc/sysconfig/network-scripts
.
- eth0 -> nic0
- eth1 -> nic1
Konten skrip jaringan terlihat seperti ini, setelah modifikasi:
# cat /etc/sysconfig/network-scripts/ifcfg-nic0
DEVICE=nic0
BOOTPROTO=static
ONBOOT=yes
HWADDR=xx:xx:xx:xx:xx:xx
USERCTL=no
IPV6INIT=no
MASTER=bond0
SLAVE=yes
Reboot mengaktifkan konfigurasi baru. Tetapi bagaimana cara mengaktifkan konfigurasi ini tanpa me - reboot?
A systemctl restart network
tidak melakukan trik.
Saya dapat mematikan satu antarmuka dengan nama lama ( ifdown eth0
) tetapi ifup
menghasilkan pesan di bawah ini tidak peduli apakah nama lama atau baru diberikan:
GALAT: [/ etc / sysconfig / network-scripts / ifup-eth] Perangkat nic0 sepertinya tidak ada, menunda inisialisasi.
/etc/init.d/network status
menunjukkan output ini:
Configured devices:
lo bond0 nic0 nic1
Currently active devices:
lo eth0 eth1 bond0
Keduanya, ifconfig
dan ip a
tampilkan nama antarmuka lama.
centos
configuration
network-interface
Udondan
sumber
sumber
Jawaban:
Anda dapat mengganti nama perangkat menggunakan perintah ip:
Edit :
Anda mungkin juga ingin memastikan bahwa Anda mengonfigurasi aturan udev, sehingga ini juga akan berfungsi pada reboot berikutnya. Jalur untuk udev pindah di CentOS 7 ke /usr/lib/udev/rules.d/60-net.rules tetapi Anda masih dapat mengelolanya dengan cara yang sama. Jika Anda menambahkan "net.ifnames = 0 biosdevname = 0" ke string boot kernel Anda untuk kembali ke skema penamaan lama untuk nics Anda, Anda dapat menghapus
Dan ganti dengan
Anda perlu satu entri per nic. Pastikan untuk menggunakan alamat MAC yang benar dan perbarui bidang NAME. Jika Anda tidak menggunakan "net.ifnames = 0 biosdevname = 0", hati-hati karena mungkin ada konsekuensi yang tidak diinginkan.
sumber
/etc/udev/rules.d/90-eno-fix.rules
karena menimpa semua solusi yang sebelumnya berfungsi untuk mengubah nama perangkat jaringan.eno########
nilai yang menimpa semua upaya ini untuk mengubah nama menjadi sesuatu sepertieth0
. Apakah itu masuk akal? Saya harus memverifikasi pada mesin saya versi mana yang saya gunakan, tapi saya upgrade ke CentOS 7.3 terbaru kemarin, jadi saya pikir saya akan memiliki versi yang disebutkan.Sebenarnya, jawaban terbaik yang saya percaya adalah kombinasi dari dua jawaban yang sudah diposting. Untuk mengubah nama perangkat tanpa memulai kembali layanan jaringan, gunakan
ip link
perintah yang disarankan oleh James Shewey (ip link set <old_device_name> name <new_device_name>
).Untuk membuat perubahan selamat dari reboot di Red Hat Linux, ubah file yang relevan di
/etc/sysconfig/network-scripts/
. Ubah nama fileifcfg_<old_device_name>
menjadiifcfg_<new_device_name>
dan ubahDEVICE
variabel di dalamnya menjadi<new_device_name>
. Juga, pastikanHWADDR
variabel diatur dan sudah benar. Tidak perlu menyentuh aturan udev , karena60-net.rules
sebenarnya ada untuk membaca file konfigurasi ifcfg di/etc/sysconfig/network-scripts
.sumber
Untuk mengembalikan konvensi penamaan lama, Anda perlu mengedit
/etc/default/grub
file dan menambahkan yang berikut inidi akhir
GRUB_CMDLINE_LINUX
variabelsumber
biosdevname
paket jika terinstalsumber
Jawaban yang diberikan oleh @James Shewey tampaknya menjadi cara yang tepat untuk melakukannya.
Jika Anda hanya ingin bekerja dengan file konfigurasi
/etc/sysconfig/network-scripts
dan kemudian memicu memuat ulang, membongkar dan memuat modul kernel seperti yang disebutkan oleh @Tom Hunt di komentar juga berfungsi:Jika Anda mengakses mesin dari jarak jauh, pastikan Anda menjalankan semua perintah dalam keadaan kosong atau Anda akan mengunci diri:
Driver untuk memuat ulang tentu saja tergantung pada antarmuka Anda.
sumber
Saya mencoba di atas dengan Vagrant / VirtualBox dan memungkinkan, tapi entah bagaimana ini tidak bekerja sama sekali pada lingkungan pengembangan saya.
Nama antarmuka lama dipertahankan apa pun yang saya lakukan sampai restart penuh.
Saya menambahkan aturan berikut di
/etc/udev/rules.d/60-persistent-net.rules
(berdasarkan: https://access.redhat.com/solutions/112643 )Tujuan saya adalah memberi antarmuka nama yang ditentukan berdasarkan alamat PCI.
Contoh:
Setelah menambahkan aturan itu saya menjalankan perintah berikut:
Pesan kesalahan ada
Cannot find device "int0"
diip link set * up
perintah. Dan masuk/var/log/messages
saya perhatikan pesan-pesan berikutTetapi yang berikut ini berhasil dengan mengakses VM melalui VirtualBox dan menjalankan perintah berikut untuk menghapus dan menambahkan kembali modul kernel.
Saya menemukan ini di utas berikut: https://www.centos.org/forums/viewtopic.php?t=54695
Hal aneh yang saya perhatikan adalah
lsmod
memberi saya (perhatikanUsed by
)sumber
ip link set eth0 down; ip link set eth0 name int0; ip link set int0 up
? Tidak adaudev...
perintah!