Udev: ağ arayüzümü yeniden adlandırma


20

Bir Dell 1950 sunucusuna RHEL 6.3'ü yeni kurdum . Bu sunucu iki GBit bağlantı noktası, Gb0 ve Gb1 olarak.

Bazı belirsiz nedenlerden dolayı, Gb0 ve Gb1udev adını seçti . Bu kesinlikle benim için iyi bir bulmak değil ve sadece karışıklık verir. eth1 eth0

Bu yüzden yapılandırmayı değiştirdim /etc/udev/rules.d/70-persistent-net.rules:

# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
  ATTR{address}=="00:20:19:52:d3:c0",           \
  ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
  ATTR{address}=="00:20:19:52:d3:be",           \
  ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

İstediğimi yansıtmak için dosyadaki "NAME" alanını değiştirdim. Sunucuyu yeniden başlattım ve işe yaramadı.

Gelen dmesggünlüğüne aşağıdaki yazıyı okuyabilirsiniz:

udev: renamed network interface eth1 to rename5
udev: renamed network interface eth0 to eth1
udev: renamed network interface rename5 to eth0

Burada neyin yanlış olduğu hakkında bir fikrin var mı? Geçiş neden udevböyle? Bu sorunun olmadığı başka bir benzer sunucum var.


öyleyse şimdi görev nedir? hala Gb0 == eth1 & Gb1 == eth0?
umläute

bir kez kontrol grep -R 'rename5' /etc/udev/rules.d/çünkü günlükleri neden rename5aynı için başka bir kural olduğunu gösteriyor ?
Rahul Patil

Ağ arayüzleri için benzer bir şey yaptım ve günlükte olduğu gibi görünüyor (içindeki mantığı izlerseniz, orijinal eth1'e sahte bir ad atar, böylece orijinal eth0'ı eth1 olarak yeniden adlandırabilir). Günlüğe göre her şey yolunda olmalı. İsimlerin henüz uygun olmadığından emin misiniz?
zagrimsan

Ödev hala yanlış: Gb0 == eth1 & Gb1 == eth0. Dosyada yaptığım değişiklikler uygulanmaz. /Etc/udev/rules.d/ içinde rename5 izim yok. Anladığım şey, çekirdek önyükleme eth0 ve eth1 önyükleme olduğunda ancak udev onları değiştirdiğinde. eth0 => eth1 ve eth1 => eth0
Hugo

Bir çözüm buldun mu? Ben de bu sorunla mücadele ediyorum. Normal önyüklemede p1p1 ve p1p2 ile bitiriyorum. Ama p1p2'ye bir ağ kablosu taktığımdan, bazı önyüklemelerde (hepsi tuhaf değil), p1p1 ve rename3!?!? Udev herhangi bir nedenle et1'i p1p2 yerine yeniden adlandır3 olarak değiştiriyor. Bu tabii ki ağ i / f yapılandırması ve güvenlik duvarı X- kırmak (Ben Ubuntu olduğum için değil
Huygens

Yanıtlar:


9

Bu çok geç olsa da, sorunumu

KERNEL="eth*",

kuralın bir parçası /etc/udev/rules.d/70-persistent-net.rules. UDEV, cihazı "yeniden adlandır *" olarak yeniden adlandırdığında, bu bölüm kural eşleşmesini durduracağı için çalışır. Bu nedenle, kaldırılması, UDEV'nin aradığı adı ne olursa olsun, doğru aygıta doğru adın atanmasına izin verir.


Bu benim için ubuntu 14.04 de çözdü. OP ile tam olarak aynı davranış (yeniden adlandırmanın pXpY olması dışında).
ndemou

9

Benim durumumda, sorun her arayüzün mac adresinin üç dosyada ayarlanmış olmasından kaynaklanıyor:

/etc/udev/rules.d/70-persistent-net.rules
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1

Mac adresi için ifcfg dosyası ile net.rules arasında tutarlılığa ihtiyacımız var.


1
/etc/sysconfigredhat / centos linux üzerindedir. Ubuntu üzerinde bu dosyalar altında olacak/etc/network/if-up.d
nmgeek

6

Bunu sadece silerek /etc/udev/rules.d/70-persistent-net.rulesve yeniden başlatarak çözebildim .


1

boşluk oluşturmayı denedin /etc/udev/rules.d/80-net-name-slot.rulesmi?

Udev v197'den bu yana, udev öngörülebilir ağ arabirimi adları uyguladı, bu yolda boş bir dosya oluşturup yeniden önyükleme yaparak, arabirim adlarınızı eski haline getirmelisiniz.

benzer bir soruya cevap verdim: Creating eth0 with consistent network device naming


1
Bu, üç ağ cihazımdan ikisini düzeltti. Boş bir dosya yerine, / dev / null için bir bağlantı oluşturdum. Her iki yaklaşımın da işe yarayacağını umuyorum.
MrMas

Bu doğru v210 etrafında değişiklikler doğru okudum eğer o sistemd kaldırıldı gibi görünüyor: github.com/systemd/systemd/commit/…
nhed

0

Et0, eth1, wlan0, wlan1 vb. Standart çekirdek adları oldukları için (kalıcı olmayan şema adlandırma durumunda) da olabilir. Udev belgelerinde şöyle denir:

ADI

Ağ arabirimi için kullanılacak ad. Arabirim adını ayarlamak için daha üst düzey bir mekanizma için bkz. Systemd.link (5). Bir aygıt düğümünün adı udev tarafından değiştirilemez , yalnızca ek semboller oluşturulabilir.

Bu yüzden udev kuralları için asla eth *, wlan * vb. Adları kullanmayın.

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.