Mengubah nama Antarmuka Jaringan Ubuntu 16.04

55

Saya mencoba mengubah nama antarmuka jaringan pada Ubuntu 16.04 LTS versi baru ini tetapi tidak memiliki /etc/udev/rules.d/70-persistent-net.rules.

Jadi, saya mencoba menggunakan /lib/udev/write_net_rulestetapi tidak ada.

Mengapa saya perlu modifikasi ini? Karena saya menggunakan alat untuk Mensimulasikan platform virtual yang menggunakan lisensi fleksibel dan otentikasi harus dalam eth0nama antarmuka.

Ada saran?

Perintah ip linkkembali:

user@laptop:~$ ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether b8:2a:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
3: wlp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 5c:e0:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff

user@laptop:~$ ifconfig 
enp6s0    Link encap:Ethernet  HWaddr b8:2a:xx:yy:xx:yy  
lo        Link encap:Local Loopback  
wlp7s0    Link encap:Ethernet  HWaddr 5c:e0:xx:yy:xx:yy  

(Beberapa informasi diabaikan dan ditekan)

Saya sudah mencoba beberapa tautan:

Geancarlo Abich
sumber

Jawaban:

74

Ada banyak informasi yang menyesatkan tentang cara mengubah nama jaringan di Ubuntu versi terbaru. Beberapa informasi menunjuk ke systemd.link, yang salah karena Ubuntu (per 16.04) tidak menggunakan bagian dari systemd ini.

Sebenarnya, mengubah nama antarmuka bekerja hampir seperti dulu, dengan dua perbedaan kecil: Pertama, file /etc/udev/rules.d/70-persistent-net.rulessekarang harus dibuat secara manual. Ini memiliki keuntungan bahwa Anda tidak perlu khawatir tentang skrip apa pun yang menimpa file ini dan cukup menambahkan baris yang Anda butuhkan (Anda juga tidak perlu komentar). Kedua - dan ini adalah perubahan yang menghabiskan banyak waktu untuk mencari tahu - formatnya sedikit berubah dibandingkan dengan Ubuntu 14,04 LTS:

Baris untuk memperbaiki nama antarmuka NIC dengan alamat MAC "02: 01: 02: 03: 04: 05" ke "eth0" sekarang adalah:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"

Baris ini terlihat hampir sama dengan di Ubuntu 14.04 LTS dengan satu perbedaan kecil: Di Ubuntu 14.04, ada kondisi tambahan KERNEL=="eth*". Untuk beberapa alasan, ini tidak berfungsi di Ubuntu 16.04 LTS. Jika kondisi tambahan ini ada, seluruh baris diabaikan dan Anda kembali ke perilaku default (seperti yang ditentukan dalam 80-net-setup-link.rules).

Sebastian Marsching
sumber
2
Bingo! Saya sekarang memiliki enusb01 untuk NIC USB Docking Station saya. Terima kasih! # Stasiun Docking Tautan Display USB SUBSYSTEM == "net", ACTION == "add", DRIVERS == "? *", ATTR {address} == "8c: ae: 4c: fa: 92: bf", ATTR { dev_id} == "0x0", ATTR {type} == "1", NAME = "enusb1"
flickerfly
Bagaimana saya dapat mengatur nama enp0s1dari enp0s17? Apakah ini proses yang sama? Juga, apa yang harus saya lakukan untuk antarmuka jaringan virtual seperti enp0s1:1atau enp0s2dll?
soufrk
2
Anda tidak benar-benar perlu menentukan semua itu di 16.04. Saya bisa pergi denganSUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0"
kbuilds
4
@kbuilds, per Linux From Scratch : DRIVERS == "? *" - Ini ada agar Udev akan mengabaikan sub-antarmuka VLAN atau jembatan (karena sub-antarmuka ini tidak memiliki driver). Sub-antarmuka ini dilewati karena nama yang akan ditugaskan akan bertabrakan dengan perangkat induknya.
John Doe
1
Penting: Anda perlu mengedit / etc / network / interfaces untuk memastikan antarmuka yang diganti nama dimulai secara otomatis. Kalau tidak, jika Anda menggunakan SSH - Anda akan kehilangan akses ke mesin itu, belum lagi buang waktu untuk mencari tahu mengapa itu tidak berhasil.
user4551
66

Pada Ubuntu 16.04.1 LTS, Linux plaptop 4.4.0-31-genericx86_64 MATE. langkah pertama dari @Geancarlo Abich jawab dan berhasil . Ubuntu membuat nama baru langsung setelah reboot:

Edit / etc / default / grub Anda untuk mengubah baris

GRUB_CMDLINE_LINUX=""

untuk

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

dan akhirnya:

$ sudo update-grub

dan reboot sistem Anda:

$ sudo reboot
msa@plaptop:~$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 70:5a:0f:d7:03:38  
          inet addr:10.67.10.43  Bcast:10.67.10.255  Mask:255.255.255.0
          inet6 addr: fe80::8c03:edb5:a3d1:ba21/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:63129 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37788 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:51115719 (51.1 MB)  TX bytes:5006758 (5.0 MB)
          Interrupt:16 Memory:f1200000-f1220000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:255 errors:0 dropped:0 overruns:0 frame:0
          TX packets:255 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:21076 (21.0 KB)  TX bytes:21076 (21.0 KB)

wlan0     Link encap:Ethernet  HWaddr 44:85:00:62:c6:e5  
          inet addr:10.67.14.106  Bcast:10.67.14.255  Mask:255.255.255.0
          inet6 addr: fe80::5844:f9dd:32ff:9b45/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5320 (5.3 KB)  TX bytes:14611 (14.6 KB)
floorripper
sumber
1
tidak berfungsi untuk saya, setelah memperbarui langkah-langkah ini. ifcofig hanya menunjukkan kartu "lo", itu tidak menunjukkan eth dan layanan :(
vimal prakash
2
Ini berhasil untuk saya. @ Vimalprakash Saya juga hanya 'lo' muncul di output ifconfig setelah perubahan ini. Namun, itu karena antarmuka lain sedang down (lakukan ifconfig -a untuk melihat semua antarmuka) karena konfigurasi di / etc / network / interfaces saya ada di nama lama.
chitti
Itu berhasil untuk saya.
Paulo
apa yang dilakukan perintah "net.ifnames = 0" && "biosdevname = 0" lakukan ??? Posting di sini adalah emas murni ... bekerja pada 16,04 xubuntu
2
Bekerja di Ubuntu 18,04 juga
Simon Warta
12

Ubuntu-16.04-server-amd64

Di /etc/default/grub, ubah

GRUB_CMDLINE_LINUX=""

untuk

GRUB_CMDLINE_LINUX="net.ifnames=0"

Kemudian, ketikkan:

sudo update-grub

dan reboot sistem Anda

sudo reboot
Syed-anwar Syed-bueraheng Al-I
sumber
3
Lebih baik adalahGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
musbach
8

Saya mencoba mencampur beberapa saran dan saya telah menemukan solusinya!

Langkah 1 : Nonaktifkan nama bawaan Firmware bawaan.

Edit dari Anda /etc/default/grubmengubah garis dari

GRUB_CMDLINE_LINUX=""

untuk

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

dan, akhirnya jalankan sebagai root:

$ sudo update-grub

dan reboot sistem Anda.

$ sudo reboot

Langkah 2 : Buat file persisten/etc/udev/rules.d/70-persistent-net.rulessebagai root dan isi.

$ sudo gedit /etc/udev/rules.d/70-persistent-net.rules

Contoh:

# 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.

# PCI device lan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ethX"

# PCI device Wlan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wlanX"

(Gunakan antarmuka MAC Address untuk merujuk ke antarmuka yang ingin Anda ganti namanya, dan ubah nilai nama antarmuka 'X' seperti yang Anda inginkan)

Simpan perubahan dan mulai ulang.

$ sudo reboot

Ini bekerja untuk saya.

Geancarlo Abich
sumber
5
Langkah kedua tidak perlu.
musbach
1
Ya. Dapat mengkonfirmasi apa yang dikatakan @musbach pada 16.04
menixator