web-dev-qa-db-fra.com

Comment puis-je changer le périphérique réseau par défaut "ens33" en ancien "eth0" sur Fedora 19?

Je viens d'installer un Fedora 19 sur la station de travail VMware 9. Le périphérique réseau par défaut est "ens33" au lieu de "eth0" sur RHEL.

La raison pour laquelle je dois utiliser "eth0" est que le composant de licence de l'un de nos produits doit être lié à "eth0".

Il y a quelques articles discutant de problèmes similaires, dont la plupart sont pour des systèmes d'exploitation plus anciens. Je n'en ai pas trouvé qui correspond exactement à ma situation.

22
YM Jiang

La façon la plus simple de restaurer l'ancienne façon Kernel/modules/udev renommer vos interfaces Ethernet est de fournir ces paramètres de noyau à Fedora 19:

  1. net.ifnames =
  2. biosdevname =

Pour ce faire, procédez comme suit:

  1. Modifier / etc/default/grub
  2. À la fin de GRUB_CMDLINE_LINUX ligne ajouter "net.ifnames = 0 biosdevname ="
  3. Sauvegardez le fichier
  4. Tapez "grub2-mkconfig -o /boot/grub2/grub.cfg"
  5. Tapez "reboot"

Si vous n'avez pas fourni ces paramètres lors de l'installation, vous devrez probablement ajuster et/ou renommer les fichiers d'interface à / etc/sysconfig/network-scripts/ifcfg - *.

Jusqu'à Fedora 18, juste biosdevname = suffisait.

À titre d'exemple, dans une certaine machine, dans une recherche exhaustive, j'ai obtenu:

-Aucun paramètre: NIC identifié comme "enp5s2".
- Paramètre biosdevname = 0: NIC identifié comme "enp5s2".
- Paramètre net.ifnames = 0: NIC identifié comme "em1".
- Paramètre net.ifnames = 0 ET biosdevname = 0: NIC identifié comme "eth".

31
Guilsson

Vous pouvez le faire en utilisant une règle udev, comme ceci:

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
9
Chris Down

Dans Fedora 20, les choses semblent avoir changé un peu plus.

1) Arguments du noyau grub
Oui, "net.ifnames = 0" et "biodevame = 0" semblent nécessaires.

2)/etc/sysconfig/network-scripts/ifcfg-ethX
Oui, elles sont également nécessaires.

3) /etc/udev/rules.d/60-net.rules
Si vous avez plusieurs interfaces et que vous souhaitez contrôler le nom de chaque périphérique plutôt que de laisser le noyau faire à sa manière, /etc/udev/rules.d/60-net.rules semble nécessaire pour remplacer/usr/lib/udev/rules.d/60-net.rules comme suit.

# 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 biosdevname semble inutile.

7
hiro

Bien que la réponse acceptée fournisse une solution qui fonctionne, elle n'explique pas pourquoi ens33 est en train d'être utilisé. Les liens ci-dessous expliquent pourquoi le périphérique réseau est nommé autrement que eth0 et comment il est désormais nommé dans les variantes de RHEL 7:

Il convient également de noter que les valeurs telles que "33" qui apparaissent dans ens33 provient de la valeur de l'emplacement de l'adaptateur PCI renvoyée par le BIOS. Utilisez cette commande pour voir quelles valeurs votre système a répertoriées pour "Emplacement physique":

lspci -vv | grep -A20 Ethernet

Des informations supplémentaires sur la partie "ens" du nom peuvent être trouvées dans le code source udev .

2
Mark Edington

Ceci est différent dans Fedora 19 que dans les versions précédentes. Il y a deux choses à aborder:

  1. Supprimez biosdevname s'il est installé. (yum remove biosdevname, ou mettez -biosdevname dans votre kickstart.
  2. Désactivez la règle udev: ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

Plus d'informations peuvent être trouvées sur http://fedoraproject.org/wiki/Features/SystemdPredictableNetworkInterfaceNames

2
mattdm

Pour Fedora-24:

  1. Éditer /etc/default/grub

  2. Au bout du GRUB_CMDLINE_LINUX ajout de ligne net.ifnames=0 biosdevname=0

  3. Sauvegardez le fichier

  4. Type

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

    ou tapez

    grub2-mkconfig -o /boot/efi/EFI/Fedora/grub.cfg
    
  5. Tapez reboot

1
Hafiz