Perbaiki ketidaksesuaian antara NIC dan alamat MAC setelah menambahkan atau menghapus NIC pada instans ECS Linux multi-NIC.
Gejala
Menambahkan atau menghapus NIC pada instans ECS Linux multi-NIC dapat menyebabkan ketidaksesuaian antara nama perangkat NIC dan alamat media access control (MAC)-nya. Ketidaksesuaian ini disebut deviasi NIC.
ip addr untuk melihat informasi antarmuka jaringan, output menunjukkan bahwa alamat MAC untuk eth1 dan eth2 tertukar, seperti yang ditampilkan dalam output berikut.
[root@xxx ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:16:3e:06:0b:f8 brd ff:ff:ff:ff:ff:ff
inet 172.16.8.52/24 brd 172.16.8.255 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:16:3e:0c:92:df brd ff:ff:ff:ff:ff:ff
inet 172.16.8.54/24 brd 172.16.8.255 scope global eth1
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:16:3e:10:bd:1b brd ff:ff:ff:ff:ff:ff
inet 172.16.8.53/24 brd 172.16.8.255 scope global eth2
Penyebab
Informasi NIC disimpan di /etc/udev/rules.d/70-persistent-net.rules. Deviasi NIC terjadi ketika file ini tidak ada atau berisi entri yang salah.
Solusi
-
Sebelum melakukan operasi berisiko tinggi, seperti memodifikasi konfigurasi atau data instans Alibaba Cloud, periksa kemampuan disaster recovery dan toleransi kesalahan instans tersebut untuk memastikan keamanan data. Kami menyarankan agar Anda membuat snapshot terlebih dahulu. Untuk informasi tentang snapshot, lihat Ikhtisar.
-
Jika Anda memberikan izin kepada pengguna tertentu atas informasi sensitif, seperti Username dan Password, atau memasukkan informasi sensitif di Konsol Manajemen Alibaba Cloud, kami menyarankan agar Anda segera mengubah informasi sensitif tersebut.
Edit file /etc/udev/rules.d/70-persistent-net.rules untuk mengaitkan setiap Nama perangkat NIC dengan alamat MAC-nya yang benar.
-
Terhubung ke instans ECS Linux.
Lihat Ikhtisar metode koneksi.
-
Masuk ke direktori /etc/udev/rules.d:
cd /etc/udev/rules.d -
Buka file /etc/udev/rules.d/70-persistent-net.rules:
vi 70-persistent-net.rules -
Kaitkan setiap Nama perangkat NIC dengan alamat MAC-nya:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="<MAC address of the NIC>", KERNEL=="eth*", NAME="<Device name of the NIC>"Misalnya, untuk mengaitkan eth1 dengan alamat MAC 00:16:3e:10:bd:1b:SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:3e:10:bd:1b", KERNEL=="eth*", NAME="eth1" - Verifikasi konfigurasi NIC di /etc/udev/rules.d/70-persistent-net.rules:
cat 70-persistent-net.rulesOutput yang diharapkan adalah:[root@xxx xZ ~]# cd /etc/udev/rules.d/ [root@xxx xZ rules.d]# ls 60-raw.rules 70-persistent-cd.rules 70-persistent-net.rules 75-persistent-net-generator.rules 99-fuse.rules [root@xxx xZ rules.d]# cat 70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # elastic network interface SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:3e:10:bd:1b", KERNEL=="eth*", NAME="eth1" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:3e:0c:92:df", KERNEL=="eth*", NAME="eth2" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:3e:06:0b:f8", KERNEL=="eth*", NAME="eth0"Output tersebut mengonfirmasi bahwa eth1 dipetakan ke alamat MAC 00:16:3e:10:bd:1b. Tidak terjadi deviasi NIC.