J'utilise un serveur sans tête Ubuntu 16.04 LTS avec deux cartes réseau physiques, qui sont nommées enp5s0f0 et enp5s0f1.
Je voudrais renommer ces interfaces et suivre cet exemple . J'ai donc créé le fichier /lib/systemd/network/70-myinterface.link
(la source d'origine ne semble pas fonctionner) comme ceci (j'ai défini la bonne adresse mac):
[Match]
MACAddress=12:34:56:78:9a:bc
[Link]
Name=dmz0
et redémarré le serveur. Malheureusement, l'interface n'a pas été renommée, même si cela udevadm
montre que mon fichier de configuration est utilisé:
$ udevadm info /sys/class/net/enp5s0f1
P: /devices/pci0000:00/0000:00:02.0/0000:01:00.0/0000:02:02.0/0000:05:00.1/net/enp5s0f1
E: DEVPATH=/devices/pci0000:00/0000:00:02.0/0000:01:00.0/0000:02:02.0/0000:05:00.1/net/enp5s0f1
E: ID_BUS=pci
E: ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper)
E: ID_MODEL_ID=0x1096
E: ID_NET_DRIVER=e1000e
E: ID_NET_LINK_FILE=/lib/systemd/network/70-myinterface.link <-- my file
E: ID_NET_NAME_MAC=enx123456789abc
E: ID_NET_NAME_PATH=enp5s0f1
E: ID_OUI_FROM_DATABASE=Intel Corporation
E: ID_PATH=pci-0000:05:00.1
E: ID_PATH_TAG=pci-0000_05_00_1
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_VENDOR_ID=0x8086
E: IFINDEX=3
E: INTERFACE=enp5s0f1
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp5s0f1
E: TAGS=:systemd:
E: USEC_INITIALIZED=1900192
Savez-vous pourquoi le changement de nom n'a pas fonctionné?
networking
server
16.04
muffel
la source
la source
MACAddress=
[Match]
ne fonctionne pas aussi pour moi dans leslink
fichiers, donc j'ai fini par l'utiliser à laPath=
place. Vous devriez aussi essayer. Vous pouvez également vérifier quellink
fichier correspond à votre appareil avec laudevadm test-builtin net_setup_link /sys/class/net/enp5s0f1
commandeRéponses:
Cela peut ou peut ne pas aider .. Je voudrais vérifier /etc/udev/rules.d et voir si vous avez 70-persistent-net.rules. Vous devriez pouvoir les renommer en utilisant ce fichier
Le mien ressemble à ceci:
Si vous avez les entrées pour vos cartes dans ce fichier, vous pouvez changer le nom en ce que vous voulez en changeant le "NAME = TheNameYouWant"
la source
Une option qui ne requiert pas de règles udev (une alternative aux fichiers systemd-networkd .link) qui fonctionne avec Ubuntu 16.04 ainsi que de nombreuses autres versions de Linux est
Exemple:
Dans l'exemple ci-dessus, peth0 est le nom de l'interface d'origine et eth0 est le nom souhaité. Branchez le nom que vous avez actuellement où se trouve peth0 et le nom que vous voulez où se trouve eth0. Aucun redémarrage n'est requis ou suggéré. Répétez le processus pour la deuxième carte d'interface
Testé sur Ubuntu 16.04 avec le noyau 4.4.0-36-generic # 55-Ubuntu
Modifier: Si vous recherchez une solution persistante qui survit au redémarrage, voir Changer le nom des interfaces réseau Ubuntu 16.04
Sources: https://www.freedesktop.org/software/systemd/man/systemd.link.html
http://kernelpanik.net/rename-a-linux-network-interface-without-udev/
Essai.
Remarque: étant donné que la méthode @ antti-haapala a fonctionné avant et s'est soudainement arrêtée, vous pourriez être intéressé de savoir que "Dans un cas particulier, un fichier vide (taille de fichier 0) ou un lien symbolique avec le même nom pointant vers / dev / null désactive le fichier de configuration entièrement (il est "masqué") ". <-Source
la source
Les trois méthodes de dénomination personnalisées, a expliqué systemd: Noms d'interface réseau prévisibles , sont liées aux règles udev.
Les règles & udev de systemd .link ont la priorité sur les dossiers.
/etc
remplace les/run
substitutions/lib
.Vérifiez donc la configuration actuelle.
Après toute modification de ces règles udev (ajout / suppression de fichiers de substitution) pour être efficace, le disque RAM de démarrage doit être mis à jour:
Par défaut, ce sont les seuls fichiers que vous pouvez trouver
Je les ai tous testés dans la nouvelle installation de VBox 16.04 comme indiqué dans le lien ci-dessous, toutes les méthodes fonctionnent comme prévu:
Noms d'interfaces compliquées d'Ubuntu 16.04
/etc/udev/rules.d/70-persistent-net-rules
provient d'anciennes versions remplacées par systemd .link (mais elles ne sont pas créées automatiquement), je l'ai ajouté ici pour vérifier son existence pour des problèmes spécifiques mais pas pour le cas d' AntiHaapala .la source
Vous devez mettre à jour votre
initrd
avec quelque chose commeupdate-initramfs -k all -c
, car udev applique déjà ces configurations lors de l'exécutioninitrd
.Ubuntu 16.04 n'a plus de fichier 70-persistent-net-rules.
la source
Je n'ai pas assez de réputation pour commenter, mais juste pour ajouter à la réponse marquée, les installations propres d'Ubuntu 16.04 n'auront pas le fichier /etc/udev/rules.d/70-persistent-net.rules présent. Cependant, si vous le créez manuellement, vous pouvez ajouter une ligne comme indiqué dans la réponse ici et cela devrait fonctionner comme dans les versions antérieures, avec une différence notable - le paramètre KERNEL doit être spécifié comme le nom attribué au interface par défaut. Par exemple, si le système a nommé l'interface "ens160" et que vous souhaitez la changer en "eth0", la ligne pourrait ressembler à:
Cela indique à la règle de ne correspondre que sur une interface correspondant au MAC spécifié (dans le paramètre ATTR {adresse}) et avec un nom de noyau correspondant au paramètre KERNEL. Alternativement, vous pouvez probablement omettre complètement le paramètre KERNEL et cela devrait également fonctionner.
EDIT: Et comme déjà mentionné, si vous souhaitez utiliser la méthode du fichier .link, vous devrez mettre à jour initramfs pour qu'elle prenne effet. Notez également que le fichier .link personnalisé doit être créé dans / etc / systemd / network et non dans / lib / systemd / network (l'un ou l'autre fonctionnera mais la meilleure pratique consiste à utiliser / etc / systemd / network car c'est à cela qu'il sert - à autoriser les fichiers .link personnalisés qui remplacent les valeurs par défaut dans / lib / systemd / network).
la source