16.04’e yükselttikten sonra ağ arabirimlerini yükseltmek başarısız oldu


28

Sanal bir 14.04 sunucu makinesini 16.04'e yükselttim. VM'yi yeniden başlattıktan sonra aşağıdaki hatayı görüyorum:

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

Giriş yaptıktan sonra belirtilen komutu çalıştırabilir ve aşağıdaki çıktıları alabilirim (bağlanamıyorum gibi görüntü):

görüntü tanımını buraya girin

Yapılandırma /etc/network/interfacesiyi görünüyor - manuel olarak yapılandırılmış eth0 (burada dhcp kullanılmıyor)

Beni merak ettiren şey ifconfig -alisteler.

  • ens160
  • bak

Beklediğim yer

  • eth0
  • bak

Eth0 cihazını kullanarak denemek

sudo ifup -v eth0 

çıktılar:

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

Sanal kablolu ağ cihazının kendisi hala VM'de önceden olduğu gibi yapılandırılmıştır.

ip linkayrıca gösterir love ens160- ens160tek adresli sanal ağ cihazı için vmware'de yapılandırılmış mac adresi.

GÜNCELLEŞTİRME

/etc/network/interfacesEth0'ın bütün referanslarını ens160 olarak değiştirirsem bu sorunu çözebilirim .

AMA - bu birkaç nedenden dolayı benim için yanlış geliyor:

  1. Bu sorunu anlamak istiyorum
  2. Ens160 yerine eth0'a bağlı kalmak istiyorum

Bu yüzden lütfen birisi, aynı sunucudaki diğer 14.04 makinelerin başına gelmeyen ve 16.04'e yükselttiğim bu değişikliği açıklayabilir.


1
: Yinelenen olabilirdi askubuntu.com/questions/704361/...
dufte

Düzeltmenin benzer bir açıklaması burada: askubuntu.com/a/830163/543586
theINtoy

Yanıtlar:


15

neden

Soruna, systemd / udev kaynaklı Öngörülebilir Ağ Arabirimi İsimleri neden oldu.

Olası çözüm

Bu kaynağa göre şunları yapabilirsiniz:

  • Sabit isimlerin atanmasını engelleyin, böylece öngörülemeyen çekirdek isimleri tekrar kullanılır. Bunun için, varsayılan politika için udev'in kural dosyasını maskeleyin: ln -s / dev / null /etc/udev/rules.d/80-net-setup-link.rules
  • Kendi manuel adlandırma planınızı yaratırsınız; örneğin, "internet0", "dmz0" veya "lan0" arayüzlerini adlandırarak. Bunun için / etc / systemd / network / dizininde kendi .link dosyalarınızı oluşturun, bunlar açık bir ad veya arabirimlerinizin biri, bazıları veya tümü için daha iyi bir adlandırma şeması seçin. Daha fazla bilgi için systemd.link (5) 'e bakınız.
  • Net.ifnames = 0 komutunu çekirdek komut satırında geçirirsiniz

Uygulanan çözümler

Yeni bir dosya oluşturmak did 10-rename-network.rulesiçinde /etc/udev/rules.d/ve buna aşağıdaki içeriği ekledi:

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

nerede

  • eth0 = Kullanılan ağ arayüzü adı, kullanılan /etc/network/interfaces
  • ff:ff:ff:ff:ff:ff = ağ cihazının donanım mac adresi

Değişikliğin yapışkan olduğundan emin olmak için bu işlemi tamamladıktan sonra yeniden başlatmanızı tavsiye ederim.


Ben çalıştırmak zorunda keşfetti update-initramfs -ubenim değişikliklerin etkili olması için
ANEEL

Debian sistemimde dosya '/etc/udev/rules.d/70-persistent-net.rules'
jeremiah

6

/Etc/network/interfaces.d/setup dosyasını şuradan değiştirerek çözüldü:

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

için:

auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp

1

Benim durumumda bu sorun köprümü kaldırmaya çalışmakla ilgiliydi br0. Bunu yapmayı unutmuştum:

sudo apt-get install bridge-utils

önce ve böylece bağdaştırıcım başlatılamadı.


2
Bu OP'nin probleminden farklı. Bu sorunun bu soruya ait olduğundan emin değilim!
Zanna

0

Burada bulunan kalıcı / tutarlı ağ arabirimi adları için udev önbelleğini silmek / değiştirmek isteyebilirsiniz: /etc/udev/rules.d/70-persistent-net.rules

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.