/etc/networking/interfaces
"Öngörülebilir ağ arayüzü adları" kullanırken nasıl sıfırlanırsınız ?
Ubuntu'nun 15.10'dan eski sürümleri aşağıdaki gibi ağ bağdaştırıcısı adları kullanır:
eth0
eth1
eth2
Ağ kartını değiştirmek veya vm'yi yeni bir hipervizöre taşımak, Linux'un arabirim numarasını artırmasına neden olur. Silme /etc/udev/rules.d/70-peristent-net.rules
Linux'un yeniden kullanılmasını sağlar eth0
.
Ubuntu 15.10 ve daha yeni sürümlerde ' Öngörülebilir Ağ Arabirimi Adları ' kullanılır. Ağ bağdaştırıcısının adı mac adresinden türetilir.
ens3
ens32
ens192
Bir vm taşınırken, /etc/network/interfaces
hala var olmayan eski ağ bağdaştırıcısına başvurduğundan ağ başlatılmaz .
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens32
iface ens32 inet dhcp
pre-up sleep 2
/ Etc / network / interfaces dosyasını sıfırlamanın en iyi yolu nedir?
Şef / bento altın görüntülerine dayalı otomatik altın görüntüler yapmak için packer kullandığım için vm'yi kapatmadan ve yeni bir hipervizöre geçmeden önce bu eylemi yapmam gerekiyor .
Dosya taşıma işleminden sonra bir sonraki önyüklemede otomatik olarak yeniden oluşturulmadığından / etc / network / arabirimlerinin silinmesinin çalışmadığını gördüm.
Grub dosyamı 'eth0' adlandırma kuralına geri dönmek için düzenlemeyi denedim. / Etc / network / arabirimleri eski adı (eth0) ifade ederken, vm bir ip almaz ve herhangi bir yeniden başlatma vm'nin yeni adlandırma kuralını kullanmasına neden olur. Ayrıca ben biosdevname=0
grub yapılandırma kalıcı olarak kalmasını garanti sürece sürece systemd her zaman öncelik alacak buldum . Bunu kalıcı olarak nasıl uygulayacağınızdan emin değilim
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 bios.devname=0"
Mümkünse, altın görüntüleri olabildiğince temiz tutmayı tercih ettiğim için bulut init'i veya herhangi bir başlangıç sonrası komut dosyası kullanmayı tercih etmem.
Şüphesiz bu, bulut sağlayıcılarının (Azure, AWS, RackSpace, Openstack) vms içe aktarırken zaten çözdüğü bir sorundur. Tahmin edilebilir ağ arabirimi adlarını kullanarak bir vm'yi deneyen ve geçiren ilk kişi olamıyorum.
Kapatmadan ve vm'yi taşımadan önce bu komutları çalıştırmayı denedim
apt-get remove biosdevname -y;
ln -s /dev/null /etc/systemd/network/99-default.link;
Ben vm göç zaman bulmak /etc/network/interfaces
ve ip address
hala bakınens32