Varsayılan “ens33” ağ cihazını Fedora 19'daki eski “eth0” olarak nasıl değiştirebilirim?


22

VMware iş istasyonu 9'a yeni bir Fedora 19 kurdum. Varsayılan ağ cihazı, RHEL'deki "eth0" yerine "ens33" dir.

"Eth0" kullanmamın nedeni, ürünlerimizden birinin lisans bileşeninin "eth0" ile bağlantılı olması gerektiğidir.

Çoğu eski işletim sistemleri için olan benzer konular hakkında tartışan bazı yayınlar var. Durumuma tam olarak uyan bir tane bulamadım.


Fedora 19, RHEL 5.5'ten, bunun bir kopyası olarak işaretlendiği ve cevabı aynı olmadığı için önemli ölçüde farklıdır .
mattdm

Yanıtlar:


31

Eski kernel yöntemini geri yüklemenin en kolay yolu, ethernet arabirimlerinizi yeniden adlandırmak için çekirdek / modül / udev, bu çekirdek parametrelerini Fedora 19'a sağlamaktır :

  1. net.ifnames = 0
  2. biosdevname = 0

Bunu yapmak için şu adımları izleyin:

  1. / Etc / default / grub düzenle
  2. GRUB_CMDLINE_LINUX satırının sonunda " net.ifnames = 0 biosdevname = 0" "
  3. Dosya 'yı kaydet
  4. " Grub2-mkconfig -o /boot/grub2/grub.cfg " yazın.
  5. " Reboot " yazın

Kurulum sırasında bu parametreleri sağlamadıysanız, muhtemelen / etc / sysconfig / network-scripts / ifcfg- * adresindeki arayüz dosyalarını ayarlamanız ve / veya yeniden adlandırmanız gerekecek .

Kadar Fedora 18 , sadece biosdevname = 0 yeterliydi.

Örnek olarak, belirli bir makinede, kapsamlı bir araştırmada, anladım:

-Hayır parametre: NIC " enp5s2 " olarak tanımlandı .
-Parameter biosdevname = 0: " enp5s2 " olarak tanımlanan NIC .
-Parameter net.ifnames = 0: " em1 " olarak tanımlanan NIC .
-Parameter net.ifnames = 0 AND biosdevname = 0: " eth0 " olarak tanımlanan NIC .


Detaylı adımlar için çok teşekkür ederiz! MathWorks'ün bana sağladığı her şey Fedora'nın daha eski sürümleri içindi.
Watson

@ dr-watson: Fedora 14'e kadar, ethX ethernet arayüzleri için varsayılan adlandı . Fedora 15'te, Tutarlı Ağ Aygıtı Adlandırması uygulandı. 15'ten 18'e kadar olan Fedora'dan sadece biosdevname = 0 ethX'in isimlendirmesini sağlamak için yeterliydi. Rica ederim.
Guilsson

3
Bu çözüm aynı zamanda Fedora 20'de de çalışıyor. Teşekkürler.
heuristicus

Ayrıca Fedora 21
Eric Grunzke

Ubuntu 14.04 de.
sjas

9

Bunu, udev kuralını kullanarak yapabilirsiniz:

cat > /etc/udev/rules.d/99-rename-to-eth0.rules << EOF
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="$(cat /sys/class/net/ens33/address)", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
EOF

Örnek için teşekkürler. Diğerleri için, bunun /sys/class/net/ens33bios tarafından döndürülen ve çıktılarında bulunan değerlere bağlı olarak farklı olabileceğine dikkat etmek önemlidir lspci -vv | grep -A25 Ethernet. Ayrıca, amaç eth0ad olarak kullanmaksa , cihazın "öngörülebilir" ismini devre dışı bırakmak için sadece çekirdek önyükleme bayraklarını belirtmek daha uygun olabilir.
Mark Edington

7

Fedora 20'de işler biraz daha değişmiş gibi görünüyor.

1) grub çekirdek argümanları
Evet, hem "net.ifnames = 0" hem de "biodevame = 0" gerekli görünüyor.

2) / etc / sysconfig / network-scriptleri / ifcfg-ethX
Evet, bunlar da gereklidir.

3) /etc/udev/rules.d/60-net.rules
Birden fazla arabiriminiz varsa ve çekirdeğin kendine göre yapmasına izin vermek yerine her bir cihazın adını denetlemek istiyorsanız, /etc/udev/rules.d/60 -net.rules, /usr/lib/udev/rules.d/60-net.rules dosyasını aşağıdaki gibi geçersiz kılmak için gerekli görünüyor.

# PCI device 0x1011:0x0019 (tulip) {SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:c0:f0:4c:f5:78", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="60:a4:4c:b5:26:48", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

4) yum remove biosdevnamegereksiz görünüyor.


1
Çeşitli faktörleri ayırdığınız için teşekkürler. Görünüşe göre # 1 noktasındaki bir yazım hatası var, "biodevame" değil "biosdevname" olmalı.
Mark Edington,


2

Kabul edilen cevap işe yarayan bir çözüm sunarken, neden ens33kullanıldığını açıklamıyor . Aşağıdaki bağlantılar, ağ cihazının neden başka bir şey olarak adlandırıldığına eth0ve şimdi RHEL 7 varyantlarında nasıl adlandırıldığına ilişkin arka plan sağlar :

Ayrıca görünen "33" gibi değerlerin ens33BIOS tarafından döndürülen PCI adaptör yuvası değerinden geldiğine dikkat etmek önemlidir. Sisteminizin "Fiziksel Yuva" için hangi değerleri listelediğini görmek için bu komutu kullanın:

lspci -vv | grep -A20 Ethernet

Adın "ens" kısmı hakkında ek bilgi udev kaynak kodunda bulunabilir .


1

Fedora-24 için:

  1. Düzenle /etc/default/grub

  2. GRUB_CMDLINE_LINUXSatır sonundanet.ifnames=0 biosdevname=0

  3. Dosya 'yı kaydet

  4. tip

    grub2-mkconfig -o /boot/grub2/grub.cfg"
    

    veya tür

    grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
    
  5. tip reboot


Bu yöntemi Fedora 26'ya uyguladığımda ağ cihazı neden sistemden tamamen kayboluyor? ifconfigsadece döner love virbr0, fakat aslen enp4s0orada değil.
ajeh

Kendimi cevaplamak için: ethNbu sözleşmeyi kullanmak için adlandırmada kullanılacak tüm ağ komut dosyalarını değiştirirken dikkatli olmalısınız . enp4s0Bir senaryoda bırakmıştım .
ajeh
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.