Ich verwende einen Ubuntu 16.04 LTS-Server ohne Kopf mit zwei physischen Netzwerkkarten mit den Namen enp5s0f0 und enp5s0f1.
Ich möchte diese Schnittstellen umbenennen und folgte diesem Beispiel . Ich habe die Datei daher folgendermaßen erstellt /lib/systemd/network/70-myinterface.link
(die ursprüngliche Quelle scheint nicht zu funktionieren) (ich habe die richtige Mac-Adresse eingestellt):
[Match]
MACAddress=12:34:56:78:9a:bc
[Link]
Name=dmz0
und startete den Server neu. Leider wurde die Oberfläche nicht umbenannt, obwohl sich udevadm
zeigt, dass meine Konfigurationsdatei verwendet wird:
$ 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
Hast du eine Idee, warum das Umbenennen nicht funktioniert hat?
networking
server
16.04
Muffel
quelle
quelle
MACAddress=
[Match]
funktioniert bei mir auch nicht inlink
Dateien, daher habe ichPath=
stattdessen verwendet. Du solltest es auch versuchen. Auch können Sie überprüfen , welchelink
Datei entspricht dem Gerät mitudevadm test-builtin net_setup_link /sys/class/net/enp5s0f1
BefehlAntworten:
Dies kann oder kann nicht helfen .. Ich würde /etc/udev/rules.d überprüfen und sehen, ob Sie 70-persistent-net.rules haben. Sie sollten in der Lage sein, sie mit dieser Datei umzubenennen
Meins sieht so aus:
Wenn Sie die Einträge für Ihre Karten in dieser Datei haben, können Sie den Namen beliebig ändern, indem Sie "NAME = TheNameYouWant" ändern.
quelle
Eine Option, die keine udev-Regeln erfordert (eine Alternative zu systemd-networkd .link-Dateien), die mit Ubuntu 16.04 sowie vielen anderen Linux-Versionen funktioniert, ist
Beispiel:
Im obigen Beispiel ist peth0 der ursprüngliche Schnittstellenname und eth0 der gewünschte Name. Stecken Sie den Namen ein, den Sie aktuell haben, wo peth0 ist, und den Namen, den Sie wollen, wo eth0 ist. Es ist kein Neustart erforderlich oder wird empfohlen. Wiederholen Sie den Vorgang für die zweite Schnittstellenkarte
Getestet unter Ubuntu 16.04 mit Kernel 4.4.0-36-generic # 55-Ubuntu
Bearbeiten: Wenn Sie nach einer dauerhaften Lösung suchen, die einen Neustart übersteht, lesen Sie Ändern des Namens der Netzwerkschnittstelle in Ubuntu 16.04
Quellen: https://www.freedesktop.org/software/systemd/man/systemd.link.html
http://kernelpanik.net/rename-a-linux-network-interface-without-udev/
Testen.
Hinweis: Da die @ antti-haapala-Methode zuvor funktioniert hat und plötzlich gestoppt wurde, könnte Sie Folgendes interessieren: "Als Sonderfall deaktiviert eine leere Datei (Dateigröße 0) oder ein Symlink mit demselben Namen, der auf / dev / null zeigt, die Konfigurationsdatei ganz (es ist "maskiert") ". <-Quelle
quelle
Alle drei benutzerdefinierten Benennungsmethoden ( systemd: Predictable Network Interface Names) beziehen sich auf udev-Regeln.
Die & udev-Regeln von systemd .link haben Ordnerpriorität.
/etc
überschreibt/run
überschreibt/lib
.Überprüfen Sie daher das aktuelle Setup.
Nach einer Änderung dieser udev-Regeln (Hinzufügen / Entfernen von Überschreibungsdateien) sollte die Boot-RAM-Disk aktualisiert werden:
Standardmäßig sind dies die einzigen Dateien, die Sie finden können
Ich habe sie alle in der VBox fresh 16.04-Installation getestet, wie im folgenden Link dokumentiert. Alle Methoden funktionieren wie erwartet:
Ubuntu 16.04 komplizierte Schnittstellennamen
/etc/udev/rules.d/70-persistent-net-rules
Wird von älteren Releases durch systemd .links ersetzt (diese werden jedoch nicht automatisch erstellt), habe ich es hier hinzugefügt, um zu überprüfen, ob es bestimmte Probleme gibt, nicht jedoch für den Fall von AnttiHaapala .quelle
Sie müssen Ihr
initrd
mit so etwas wie aktualisierenupdate-initramfs -k all -c
, da udev diese Konfigurationen bereits während des Betriebs anwendetinitrd
.Ubuntu 16.04 hat keine 70-persistent-net-rules-Datei mehr.
quelle
Ich habe nicht genug Reputation, um einen Kommentar abzugeben, aber nur um die markierte Antwort zu ergänzen, wird bei Neuinstallationen von Ubuntu 16.04 die Datei /etc/udev/rules.d/70-persistent-net.rules nicht vorhanden sein. Wenn Sie es jedoch manuell erstellen, können Sie eine Zeile hinzufügen, wie in der Antwort hier gezeigt, und es sollte genau wie in älteren Versionen funktionieren, mit einem bemerkenswerten Unterschied: Der KERNEL-Parameter sollte als der Name angegeben werden, der dem zugewiesen wurde Schnittstelle standardmäßig. Wenn das System die Schnittstelle beispielsweise als "ens160" bezeichnet und Sie sie in "eth0" ändern möchten, sieht die Zeile möglicherweise folgendermaßen aus:
Dies weist die Regel an, nur auf einer Schnittstelle eine Übereinstimmung zu finden, die mit dem angegebenen MAC (im Parameter ATTR {address}) und mit einem dem Parameter KERNEL entsprechenden Kernelnamen übereinstimmt. Alternativ könnten Sie wahrscheinlich den KERNEL-Parameter ganz weglassen, und das sollte auch funktionieren.
BEARBEITEN: Und wenn Sie, wie bereits erwähnt, die .link-Dateimethode verwenden möchten, müssen Sie initramfs aktualisieren, damit sie wirksam wird. Beachten Sie auch, dass die benutzerdefinierte .link-Datei in / etc / systemd / network und nicht in / lib / systemd / network erstellt werden sollte Lassen Sie benutzerdefinierte Link-Dateien zu, die die Standardeinstellungen in / lib / systemd / network überschreiben.
quelle