Klonlanmış Linux sistemi ve /etc/udev/rules.d/70-persistent-net.rules


9

Bir Ubuntu sistemi kurdum ve tanımlamak eth0da dahil olmak üzere düzgün yapılandırdım /etc/network/interfaces. Daha sonra bu sistemi hayal ettim ve yeni bir sistemde klonladım.

Sistemi ilk başlattığımda her şey iyiydi, ama birkaç yeniden başlattıktan sonra ağ yapılandırması zaman aşımına uğradı. Giriş yaptığımda eth0uygun olmadığını gördüm .

İlk araştırmam, denememe izin verdi ifdown -ave ifup -abirkaç kez belirgin bir etki yaratmadım.

Araştırma sonunda beni işaret etti /etc/udev/rules.d/70-persistent-net.rules, burada yeni sistemin MAC adresinin eth1 yarattığını keşfettim. İyi fikir, ama olmasını istediğim şey değil.

Şimdi açtığımda /etc/udev/rules.d/70-persistent-net.rules, altı farklı HW Adresi için altı giriş bulunduğunu fark ettim, sadece bir arayüz olduğu için garip buluyorum.

Sorum şu: benim kullanımım bir ifup -aşekilde yaratılacak yeni MAC adresleri mi yarattı? Değilse, bunun nasıl olduğuna dair herhangi bir düşünce var mı? Ben değişmiş /etc/udev/rules.d/70-persistent-net.rulesakım HW Adresi isim eth0ve çalışma gibi görünüyor, ama adresi yeniden başlatma üzerinde tekrar değişiklik olmayacak emin olabilirsiniz?


Bu Q'nun gelecekteki ziyaretçileri: Bu bir VM değil, OP'nin yeni donanıma klonladığı fiziksel bir sistem!
slm

Yanıtlar:


7

Ben sanal makineleri (VM) klon zaman zaman aynı sorun CentOS altında zaman zaman karşılaştım. Sorun, orijinal VM'den Ethernet cihazını kurmak için bu dosyaya bir giriş alması kaynaklanıyor eth0.

Örnek .rules dosyası

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

# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

İlk VM'yi klonladığınızda sorun çirkin başını ortaya çıkarır, bu, biri için KVM gibi bazı sanallaştırma teknolojileri altında yeni bir MAC adresinin oluşturulmasına neden olur. Bu yeni MAC adresi, klonlanan VM önyükleme yapıp yeni bir Ethernet aygıtı olarak görüntülendiğinde otomatik olarak algılanır /lib/udev/write_net_rulesve bu nedenle yukarıdaki dosyaya 2. bir giriş eklenir.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Genellikle bu dosyayı 70-persistent-net.rulesbir düzenleyicide açar ve satırları birleştiririm, böylece yeni MAC adresi eth0aygıta atanır ve yeniden başlatılır.

...
# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

DÜZENLEME # 1

OP soruyu aşağıdaki yeni bilgilerle takip etti.

Madde 1: Hmmm. Benim durumumda bu işe yaramaz çünkü mac adresine bağlı esnek bir lisansa sahip bir yazılım çalıştırıyorum. Sürekli değişen adresler, söz konusu yazılımı işe yaramaz hale getirir.

@Zobal - Flex'e aşinayım. Bir VM olduğundan VM'nin MAC'ini değiştirebilirsiniz (VM yazılımında - VirtualBox, KVM, vb.).

NOT: Flex, Flexera tarafından sağlanan bir lisanslama teknolojisidir . Bunlara GlobeTrotter Yazılımı deniyordu. Bu teknoloji, yazılımın fiziksel bir ana bilgisayara bağlanmasına veya istemcilerin belirteçleri bir süre için kontrol edebileceği "sunucu" olarak merkezi bir sunucudan yönetilen lisanslara sahip olabilir. Lisanslar genellikle bir ana bilgisayara bağlıdır ve bu ana makine genellikle komutu kullanarak bulabileceğiniz benzersiz bir numara ile tanımlanır hostid.

Örneğin:

$ hostid
a8c0c801

Madde 2: Benim durumumda bir VM değil. Bir fiziksel sistemi başka bir fiziksel sisteme klonladım.

Buna yanıt verdim: Peki o zaman tek seçeneğiniz yeni sistemin MAC adresini diğer sistemin MAC'iyle aynı olarak değiştirmek. Bu 2 sistemin aynı ağda var olamayacağını, aksi takdirde birbirleriyle çatışacaklarını fark edin. Ayrıca Flex lisansı genellikle MAC kullanmaz, komut kullanılarak tanımlanabilir sayıyı kullanır hostid!

Referanslar


Hmmm. Benim durumumda bu işe yaramaz çünkü mac adresine bağlı esnek bir lisansa sahip bir yazılım çalıştırıyorum. Sürekli değişen adresler, söz konusu yazılımı işe yaramaz hale getirir ...
Zobal

@Zobal - Flex'e aşinayım. Bir VM olduğundan VM'nin MAC'ini değiştirebilirsiniz (VM yazılımında - VirtualBox, KVM, vb.).
slm

Benim durumumda bir VM değil. Bir fiziksel sistemi başka bir fiziksel sisteme klonladım.
Zobal

@Zobal - o zaman tek seçeneğiniz yeni sistemin MAC adresini diğer sistemin MAC'iyle aynı şekilde değiştirmek. Bu 2 sistemin aynı ağda var olamayacağını, aksi takdirde birbirleriyle çatışacaklarını fark edin. Ayrıca Flex lisansı genellikle MAC kullanmaz, komut kullanılarak tanımlanabilir numarayı kullanır hostid!
slm

esnek lisanslar, yazılımımızı belirli bir makineye bağlamak için oluşturduğumuz lisanslardır ve bu durumda MAC kullanır. Yeni Geliştirme: UBUNTU'yu sıfırdan yeniden yükledim (görüntüden değil) ve aynı davranışı alıyorum. Aslında sadece kirli kapanmalarda ortaya çıkıyor (güç çekiliyor). Düşüncesi olan var mı?
Zobal

0

hostid, sunucunuzun ip adresi kadar benzersizdir.
Örnekte hostid a8c0c801, sunucunuzun ip adresi 192.168.1.200 mi?
A8C0 C801 -> C0A8 01C8
C0: 192
A8: 168
01: 1
C8: 200

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.