Netzwerk · 5 min read · Sep 29, 2025
So benennen Sie Netzwerkinterfaces in eth0 auf CentOS um

In diesem Artikel werden wir über die Benennung von Linux-Schnittstellen lernen. Es ist für RHEL-basierte Linux-Distributionen wie AlmaLinux, CentOS und Rocky Linux geschrieben. Sie werden lernen, wie die Netzwerkschnittstelle auf Linux benannt wird: eth(X), ens(X), eno(X) usw.
Zunächst werden wir das Benennungskonzept einer Netzwerkschnittstelle im Linux-System kennenlernen, einschließlich des klassischen Benennungsschemas, biosdevname und der System-udev-Richtlinie.
1. Traditionelle Benennungskonvention
Die traditionelle Benennungskonvention ist das standardmäßige traditionelle Schnittstellenbenennungsschema, das vom Linux-Kernel-Treiber bereitgestellt wird. Wie wir wissen, ist die traditionelle Benennungskonvention wie eth(n) für Ethernet-Geräte, wlan(n) für drahtlose LAN-Geräte und usb(n) für usbnet.
In der traditionellen Benennungskonvention wird alle Netzwerkhardware vom Kernel-Treiber gleich behandelt. Es ist gut genug, um uns über die Art der Verbindung zu informieren, aber nicht viel über die Hardware, an die Sie gewöhnt sind.
2. Biosdevname
Biosdevname ist ein Projekt, das von Dell gestartet wurde, um eine konsistente Benennung von Netzwerkgeräten bereitzustellen. Biosdevname ist ein udev-Hilfsprogramm, das einen konsistenten Benennungsmechanismus für Netzwerkgeräte basierend auf dem physischen Standort der Hardware bereitstellt, wie es vom System-BIOS vorgeschlagen wird.
Nachfolgend finden Sie die Standardrichtlinie des Benennungsschemas, das von biosdevname bereitgestellt wird:
- Für die Onboard-Netzwerkgeräte werden sie als “ em
[_ “ benannt.] - Für Add-On NICs-Geräte werden sie als “ p
p “ benannt.[_ ]
Weitere Details:
- em = Onboard-Netzgeräte
= der jeweilige PCI-Slot = Portnummer der NICs (wenn mehrere Ports vorhanden sind) = der SRIOV- und/oder NPAR-Instanzindex - Das ‘ p ‘ bei Add-On-NIC steht für PCI-Slot und Port
3. Systemd Udev-Regeln
Heutzutage verwenden einige beliebte Linux-Distributionen wie Ubuntu, CentOS und Debian Systemd als System- und Dienstmanager. Und seit Version 197 wurde systemd in die nativen Benennungsrichtlinien und -schemata für Netzwerkschnittstellen aufgenommen, die ähnlich wie biosdevname sind.
Nachfolgend sind 5 Richtlinien zur Benennung von Netzwerkschnittstellen für Systemd-basierte Systeme aufgeführt:
- Für Onboard-Netzwerkgeräte wird es beispielsweise ‘eno1’, ‘eno2’ usw. benannt.
- Für integrierte Firmware/BIOS bereitgestellte PCI-Express-Hotplug-Slotindexnummern wird es als ‘ens1’ benannt. Dies wird angewendet, wenn die erste Richtlinie fehlschlägt. Wird hauptsächlich von virtuellen Maschinen wie VMWare und KVM verwendet.
- Namen, die den physischen Standort des Anschlusses der Hardware (Beispiel: enp2s0) einbeziehen, werden angewendet, wenn anwendbar, andernfalls wird in allen anderen Fällen direkt auf Schema 5 zurückgegriffen.
- Namen, die die MAC-Adresse der Schnittstelle einbeziehen (Beispiel: enx78e7d1ea46da), werden standardmäßig nicht verwendet, sind jedoch verfügbar, wenn der Benutzer dies wünscht.
- Das traditionelle unvorhersehbare Kernel-Benennungsschema wird verwendet, wenn alle anderen Methoden fehlschlagen (Beispiel: eth0).
Jetzt haben wir über die Benennungskonvention von Linux-Schnittstellen gelernt.
Als Nächstes zeigen wir Ihnen, wie Sie die Namen der Netzwerkschnittstellen in das traditionelle ‘et0’, eth1 usw. ändern können. Und es gibt zwei Möglichkeiten, dies zu tun: Ändern der Netzwerkschnittstellennamen über ‘biosdevname’ und über die ‘systemd udev-Regeln’.
1. Ändern Sie den Schnittstellennamen in eth0, indem Sie Biosdevname deaktivieren
Wie wir oben wissen, ist biosdevname ein udev-Hilfsprogramm, das von Dell erstellt wurde, um Netzwerkschnittstellen gemäß den Vorgaben des System-BIOS zu benennen. Und standardmäßig ist das biosdevname-Paket im Linux-System installiert.
Um biosdevname im Linux-System zu deaktivieren, müssen Sie es auf Boot-Ebene deaktivieren, indem Sie die Grub-Konfiguration auf Ihrem System bearbeiten.
Bevor wir weitergehen, überprüfen wir die aktuellen Schnittstellen im System mit dem folgenden Befehl.
ifconfig -a
ip addrUnd hier ist das Ergebnis.

Als Ergebnis haben wir zwei Netzwerkschnittstellen ‘ens3’ und ‘ens8’.
Als Nächstes werden wir beide Schnittstellen in ‘eth0’ und ‘eth1’ auf unserem CentOS 8-System umbenennen, indem wir die Grub-Konfiguration und die Netzwerkkonfiguration für jede Schnittstelle bearbeiten.
- Grub2 einrichten
Gehen Sie zum Verzeichnis ‘/etc/sysconfig/‘ und bearbeiten Sie die ‘grub’-Konfiguration mit dem vim-Editor.
cd /etc/sysconfig/
vim grubFügen Sie in der Konfiguration ‘GRUB_CMDLINE_LINUX’ die folgende Konfiguration hinzu, um biosdevname und den Kernelparameter net.ifnames zu deaktivieren.
net.ifnames=0 biosdevname=0Speichern und schließen.

Danach generieren Sie eine neue Grub-Konfiguration mit dem Befehl ‘grub2-mkconfig’ wie unten.
sudo grub2-mkconfig -o /boot/grub2/grub.cfgUnd Sie erhalten das Ergebnis wie unten.

- Netzwerk-Skript bearbeiten
Als Nächstes müssen wir beide Netzwerkschnittstellen in der Konfiguration im Verzeichnis ‘/etc/sysconfig/network-scripts/‘ umbenennen.
Gehen Sie zu ‘/etc/sysconfig/network-scripts/‘.
cd /etc/sysconfig/network-scripts/Benennen Sie beide Schnittstellennamen in ‘ifcfg-ethX’ um.
mv ifcfg-enp0s3 ifcfg-eth0
mv ifcfg-enp0s8 ifcfg-eth1Ändern Sie danach beide Schnittstellen in ‘ethX’ in beiden Dateien mit dem folgenden sed-Befehl.
sed -i -e 's/enp0s3/eth0/g' ifcfg-eth0
sed -i -e 's/enp0s8/eth1/g' ifcfg-eth1Jetzt starten Sie das CentOS 8-System neu.
sudo reboot
- Testen
Sobald Sie sich wieder angemeldet haben, überprüfen Sie die verfügbaren Netzwerkschnittstellen mit dem folgenden Befehl.
ifconfig
ip addrUnd Sie werden das Ergebnis wie unten angezeigt bekommen.

Beide Netzwerkschnittstellen auf dem CentOS 8-System wurden geändert und verwenden jetzt die traditionelle Benennungskonvention. Die Netzwerkschnittstellen wurden durch Deaktivierung von ‘biosdevname’ während des Systemstarts geändert.
- Optional
Wenn Sie Details zu den Änderungen im Systemstart überprüfen möchten, können Sie den folgenden Befehl ausführen.
dmesg | grep -i ethSie werden sehen, dass der Standard-Schnittstellenname in den traditionellen Namen ‘ethX’ geändert wurde, der durch die benutzerdefinierten udev-Regeln geändert wurde.

2. Ändern Sie den Schnittstellennamen in eth0 mit den Udev-Regeln
Eine andere Möglichkeit, den Namen der Netzwerkschnittstelle in die traditionelle Benennung wie eth0 usw. zu ändern, besteht darin, benutzerdefinierte udev-Regeln zu erstellen. Und durch die Verwendung der benutzerdefinierten udev-Regeln werden die Netzwerkschnittstellen nach dem System geändert.
- Erstellen Sie benutzerdefinierte Udev-Regeln
Gehen Sie jetzt zum Verzeichnis ‘/etc/udev/rules.d/‘ und erstellen Sie die benutzerdefinierte Regel mit dem Namen ‘70-persistent-net.rules’ mit dem vim-Editor.
cd /etc/udev/rules.d/
vim 70-persistent-net.rulesÄndern Sie die MAC-Adresse und die Standard-Schnittstelle ‘ens3’ und ‘ens8’ mit Ihrer eigenen und fügen Sie sie ein.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:6c:a8:e6", ATTR{type}=="1", KERNEL=="ens3", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:97:cf:33", ATTR{type}=="1", KERNEL=="ens8", NAME="eth1"Speichern und schließen.

- Netzwerk-Skript bearbeiten
Gehen Sie als Nächstes zum Verzeichnis ‘/etc/sysconfig/networ-scripts’.
cd /etc/sysconfig/network-scripts/Benennen Sie beide Schnittstellennamen in ‘ifcfg-ethX’ um.
mv ifcfg-enp0s3 ifcfg-eth0
mv ifcfg-enp0s8 ifcfg-eth1Ändern Sie danach beide Schnittstellen in ‘ethX’ in beiden Dateien mit dem folgenden sed-Befehl.
sed -i -e 's/enp0s3/eth0/g' ifcfg-eth0
sed -i -e 's/enp0s8/eth1/g' ifcfg-eth1Jetzt starten Sie den CentOS 8-Server neu.
sudo reboot
- Testen
Sobald Sie sich wieder angemeldet haben, überprüfen Sie alle verfügbaren Netzwerkschnittstellen mit den folgenden Befehlen.
ifconfig
ip addrUnd Sie erhalten die neue Schnittstelle ‘ethX’, die zugewiesen wurde.

- Optional
Wenn Sie Details zu den Änderungen im Systemstart überprüfen möchten, können Sie den folgenden Befehl ausführen.
dmesg | grep -i ethSie werden sehen, dass der Name ‘ensX’ in den traditionellen Namen ‘ethX’ geändert wurde, der durch die benutzerdefinierten udev-Regeln geändert wurde.

Referenz
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.