Bagaimana saya bisa membuat alias untuk perangkat jaringan?


13

Saya mencoba untuk mendapatkan perangkat lunak tertentu untuk dijalankan yang menggunakan manajer lisensi yang belum memperhatikan bahwa distribusi Linux yang lebih baru tidak menamai perangkat jaringan mereka eth0lagi. Itu mencoba memverifikasi alamat MAC, tetapi karena NIC saya dipanggil ens1pada Centos 7 ini tidak berfungsi.

Penjual perangkat lunak ini sudah memperbaiki ini di komputer yang berbeda, dan saya ingin memahami bagaimana mereka melakukan ini. Mereka membuat semacam alias untuk ens1supaya manajer lisensi dapat menemukan eth0lagi.

Alias ​​tidak ditampilkan sama sekali jika saya lakukan ifconfig -a, tetapi itu terlihat ketika secara eksplisit menelepon ifconfig eth0. Menggunakan ip linkperintah itu terlihat sebagai berikut:

eth0@ens1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT
link/ether [mac address] brd ff:ff:ff:ff:ff:ff

Apa sebenarnya yang mereka lakukan di sini, dan bagaimana saya bisa membuat ulang alias semacam ini di komputer lain?


2
Apakah mereka mungkin menggunakan ip link set ens1 name eth0@ens1? Saya ragu apakah bisa selamat dari reboot seperti itu, tapi mungkin Anda bisa membuat perubahan pada DEVICEbaris ifcfg-ens1atau sesuatu? Bisakah Anda melihat keduanya eth0@ens1dan ens1dalam ip linkdaftar Anda , atau hanya nama baru?
Eric Renouf

1
Saya baru saja menguji ini dalam VM - ip link set ens1 name eth0@ens1menunjukkan nama baru ifconfig -ajuga. dan ip link set ens1 alias eth0ditampilkan alias eth0di baris terpisah saat Anda menjalankan ip link.
cas

Jawaban:


5

Ini mungkin dilakukan menggunakan macvlanfitur. Memungkinkan untuk menambahkan antarmuka Ethernet virtual di atas antarmuka perangkat keras yang ada. Dalam kasus Anda, itu bisa dilakukan seperti ini:

ip link add link ens1 name eth0 type macvlan

Secara default antarmuka baru mendapatkan alamat MAC unicast yang dikelola secara lokal dan dipilih secara acak. Atau Anda dapat menentukan alamat MAC dengan address <MAC>.


1

Anda dapat menggunakan aturan udev untuk mengganti nama NIC kembali ke eth0gaya lama .

mis. edit /etc/udev/rules.d/70-persistent-net.rulesuntuk memiliki garis seperti ini:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

di mana xx:xx:xx:xx:xx:xxalamat MAC NIC Anda

Anda juga harus memperbarui konfigurasi jaringan apa pun sehingga menggunakan eth0nama daripadaens1

Lihat Nama Antarmuka Jaringan yang Dapat Diprediksi untuk info lebih lanjut tentang mengapa perubahan ini terjadi.


2
Saya ingin benar-benar mengganti nama antarmuka, dan saya juga ingin tahu bagaimana alias bekerja yang mereka terapkan.
Mad Scientist

1
saya belum pernah melihat eth0@ens1formulir itu sebelumnya, dan googling untuk itu hanya menampilkan pertanyaan Anda. Sudahkah Anda mencoba grep -r eth0 /etc? jika Anda menemukannya, silakan posting karena saya juga penasaran.
cas
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.