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.
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:
Pour ce faire, procédez comme suit:
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".
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
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.
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 .
Ceci est différent dans Fedora 19 que dans les versions précédentes. Il y a deux choses à aborder:
yum remove biosdevname
, ou mettez -biosdevname
dans votre kickstart.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
Pour Fedora-24:
Éditer /etc/default/grub
Au bout du GRUB_CMDLINE_LINUX
ajout de ligne net.ifnames=0 biosdevname=0
Sauvegardez le fichier
Type
grub2-mkconfig -o /boot/grub2/grub.cfg"
ou tapez
grub2-mkconfig -o /boot/efi/EFI/Fedora/grub.cfg
Tapez reboot