Gagal memulai Naikkan antarmuka jaringan setelah memutakhirkan ke 16,04

28

Saya baru saja meningkatkan mesin server 14,04 virtual ke 16,04. Setelah mem-boot ulang VM, saya melihat kesalahan berikut:

[FAILED] Failed to start Raise network interfaces.
 See 'systemctl status networking.service' for details

Setelah masuk saya bisa menjalankan perintah yang disebutkan dan mendapatkan output berikut (gambar karena saya tidak dapat terhubung):

masukkan deskripsi gambar di sini

Konfigurasi di /etc/network/interfacestampak baik-baik saja - menampilkan eth0 yang dikonfigurasi secara manual (tidak menggunakan dhcp di sini)

Yang membuat saya bertanya-tanya adalah ifconfig -adaftar itu

  • ens160
  • lihat

Di mana saya harapkan

  • eth0
  • lihat

Mencoba meningkatkan perangkat eth0 melalui

sudo ifup -v eth0 

output:

...
Cannot find device "eth0"
Failed to bring up eth0.

Perangkat jaringan kabel virtual itu sendiri masih dikonfigurasi dalam VM itu sendiri seperti sebelumnya.

ip linkmenunjukkan juga lodan ens160- di mana ens160alamat mac dikonfigurasi di vmware untuk perangkat jaringan virtual yang dikonfigurasi.

MEMPERBARUI

Saya dapat menyelesaikan masalah ini jika saya mengubah semua referensi eth0 /etc/network/interfaceske ENC160.

TETAPI - ini terasa salah bagi saya karena beberapa alasan:

  1. Saya ingin memahami masalah ini
  2. Saya ingin tetap menggunakan eth0 alih-alih EN160

Jadi tolong dapat seseorang menjelaskan perubahan ini, yang tidak terjadi pada beberapa mesin 14,04 lainnya di server yang sama yang saya juga tingkatkan ke 16,04.

dufte
sumber
1
Bisa jadi duplikat ke: askubuntu.com/questions/704361/…
dufte
Penjelasan serupa tentang perbaikannya ada di sini: askubuntu.com/a/830163/543586
theINtoy

Jawaban:

15

Alasan

Masalahnya disebabkan oleh Predictable-Network-Interface-Names dari systemd / udev.

Solusi yang mungkin

Menurut sumber ini Anda dapat:

  • Anda menonaktifkan penetapan nama tetap, sehingga nama kernel yang tidak dapat diprediksi digunakan lagi. Untuk ini, cukup sembunyikan file aturan udev untuk kebijakan default: ln -s / dev / null /etc/udev/rules.d/80-net-setup-link.rules
  • Anda membuat skema penamaan manual Anda sendiri, misalnya dengan memberi nama antarmuka "internet0", "dmz0" atau "lan0". Untuk itu buat file .link Anda sendiri di / etc / systemd / network /, yang memilih nama eksplisit atau skema penamaan yang lebih baik untuk satu, beberapa, atau semua antarmuka Anda. Lihat systemd.link (5) untuk informasi lebih lanjut.
  • Anda melewatkan net.ifnames = 0 pada baris perintah kernel

Solusi terapan

Saya melakukan membuat file baru 10-rename-network.rulesdi /etc/udev/rules.d/dan menambahkan konten berikut untuk itu:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

dimana

  • eth0 = nama antarmuka jaringan yang diinginkan, digunakan dalam /etc/network/interfaces
  • ff:ff:ff:ff:ff:ff = alamat mac perangkat keras perangkat jaringan

Saya akan merekomendasikan me-reboot setelah menyelesaikan ini untuk memastikan perubahan itu lengket.

dufte
sumber
Saya menemukan saya harus berlari update-initramfs -uuntuk mendapatkan perubahan saya agar berlaku
Aneel
Pada sistem Debian saya, filenya adalah '/etc/udev/rules.d/70-persistent-net.rules'
jeremiah
6

Dipecahkan dengan mengubah file /etc/network/interfaces.d/setup dari:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

untuk:

auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp
τασος ματσιγκας
sumber
1

Dalam kasus saya, masalah ini terkait dengan mencoba membuka jembatan saya br0. Saya lupa melakukan ini:

sudo apt-get install bridge-utils

sebelumnya dan jadi adaptor saya tidak bisa memulai.

gigo
sumber
2
Ini berbeda dengan masalah OP. Saya tidak yakin jawaban ini milik pertanyaan ini!
Zanna
0

Anda mungkin ingin menghapus / memodifikasi cache udev untuk nama antarmuka jaringan yang persisten / konsisten, yang terletak di sini: /etc/udev/rules.d/70-persistent-net.rules

Malaikat Genchev
sumber