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 “ pp[_] “ 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:

  1. Für Onboard-Netzwerkgeräte wird es beispielsweise ‘eno1’, ‘eno2’ usw. benannt.
  2. 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.
  3. 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.
  4. 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.
  5. 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 addr

Und 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 grub

Fü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=0

Speichern und schließen.

Danach generieren Sie eine neue Grub-Konfiguration mit dem Befehl ‘grub2-mkconfig’ wie unten.

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

Und 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-eth1

Jetzt 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 addr

Und 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 eth

Sie 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-eth1

Jetzt 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 addr

Und 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 eth

Sie werden sehen, dass der Name ‘ensX’ in den traditionellen Namen ‘ethX’ geändert wurde, der durch die benutzerdefinierten udev-Regeln geändert wurde.

Referenz

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.