mengubah nama antarmuka jaringan, debian wheezy

14

Saya mencoba untuk menetapkan nama untuk antarmuka, "ethLan" bukan eth0. Melakukan hal itu juga memastikan bahwa nama if akan tetap konsisten di setiap reboot dan kernel.

Saya memang menemukan beberapa artikel dalam subjek, tetapi semuanya berumur beberapa tahun:
http://www.debian-administration.org/articles/463
http://www.linuxfromscratch.org/hints/downloads/files/ nameif.txt

Saya melakukan apa yang mereka katakan dan menambahkan ethLan mac ke / etc / mactab / . Pada titik ini saya memiliki dua masalah:
1) if [...] && /sbin/nameifSkrip yang saya letakkan di /etc/network/if-pre-up.d/ tidak berjalan. Saya memecahkan ini dengan menambahkan ini ke /etc/init.d/networking , tetapi mengapa tidak jika-pre-up.d bekerja?
2) Antarmuka tidak akan dimuat kecuali saya secara manual melakukan ifconfig ethLan up , meskipun menambahkannya ke / etc / network / interfaces . Apa yang saya lakukan salah?

pengguna
sumber

Jawaban:

17

Artikel yang Anda temukan agak ketinggalan jaman. Sekarang ada metode mudah untuk menetapkan nama ke antarmuka jaringan, melalui Udev .

Pada Debian dan turunannya (termasuk Ubuntu), cari file bernama /etc/udev/rules.d/70-persistent-net.rules. File ini dibuat /lib/udev/rules.d/75-persistent-net-generator.rulesdengan bantuan skrip /lib/udev/write_net_rules. Setiap kali udev melihat perangkat jaringan baru, itu akan memberinya nomor baru dan menambahkan nomor itu ke /etc/udev/rules.d/70-persistent-net.rules. Dengan begitu, nomor antarmuka persisten di seluruh reboot, dan akan bertahan setelah instalasi ulang jika Anda mengembalikan /etc.

(Jika distribusi Anda tidak mengirimkan file-file ini, cari di paket Debian .)

Jika Anda ingin memberikan nama yang bermakna untuk sebuah antarmuka dan Anda memiliki /etc/udev/rules.d/70-persistent-net.rules, semua yang perlu Anda lakukan adalah untuk mengedit file dan perubahan "eth0"untuk "ethLan". Jalankan udevadm trigger --sysname eth0untuk mengganti nama perangkat yang ada setelah Anda mengedit file (saya pikir ini membutuhkan mematikan antarmuka). Jika Anda tidak memiliki file itu, Anda dapat menulis sendiri satu baris yang cocok (skrip rumit yang ditambahkan Debian hanya untuk melakukan ini secara otomatis):

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", NAME="ethLan"
Gilles 'SANGAT berhenti menjadi jahat'
sumber
1
Jika Anda ingin daftar atribut berguna yang dapat digunakan dalam aturan udev, Anda dapat mencoba sesuatu seperti udevadm info -a /sys/class/net/eth0. (lihat udevadm(8)untuk lebih jelasnya)
Austin Adams
1
Pertanyaannya jelas menyatakan untuk Wheezy, namun mungkin perlu dicatat bahwa jawaban ini tidak lagi berlaku untuk Debian dan Ubuntu yang lebih baru. Dimulai dengan penamaan antarmuka systemd 220-7 perlu dilakukan melalui cara lain.
sampi
@sampi Jawaban saya masih berlaku untuk Debian jessie (rilis stabil saat ini). Apakah itu gagal pada peregangan, atau hanya merekomendasikan metode yang usang? Apakah Anda tahu rilis Ubuntu mana yang merupakan cutoff?
Gilles 'SANGAT berhenti menjadi jahat'
@Gilles Saya tidak menggali cukup dalam ke detail untuk mengetahui apakah itu benar-benar gagal atau hanya merupakan penghinaan yang direkomendasikan. Sepertinya Ubuntu Wily dan yang lebih baru menggunakan systemd lebih tinggi dari 220-7 .
sampi
6

Untuk orang-orang yang datang di pos ini melalui mesin pencari, seperti saya:

Di Debian stretch dan yang lebih baru, Anda dapat menggunakan file .link systemd untuk udev mengganti nama perangkat. Lihat https://manpages.debian.org/stretch/udev/systemd.link.5.en.html untuk halaman manual.

Sebuah contoh:

cat /etc/systemd/network/10-uplink0.link 
[Match]
MACAddress=00:0d:b9:49:8a:18

[Link]
Name=uplink0

Jangan lupa untuk menjalankannya update-initramfs -usetelah itu untuk menanamkan file konfigurasi yang diperbarui ini ke initramfs Anda, di mana file itu akan diterapkan.

Michael
sumber
Jika file tautan ada di sistem dengan udev.rules.d mana yang akan diutamakan?
vfclists
1

Ada cara yang sedikit lebih sederhana untuk melakukan itu dengan paket bernama ifrename. Ini memiliki udevfile konfigurasi (dari ) yang terpisah dan Anda dapat menggunakan alamat MAC untuk mengidentifikasi antarmuka.

Namun bertentangan dengan wireless-tools.

Mischa Arefiev
sumber
2
Perlu dicatat bahwa ifrenameakan bertentangan dengan udevjika keduanya digunakan untuk memberikan antarmuka nama yang persisten.
Mischa Arefiev