Netzwerk unter CentOS 7.9 konfigurieren: ifcfg, nmcli und Migration
EdwardMoon
Netzwerkänderungen unter CentOS 7.9 gehören heute zur Wiederherstellung und Migration bestehender Server. Der Support für CentOS Linux 7 endete am 30. Juni 2024. Verwenden Sie für neue Produktionsserver eine unterstützte Version von Rocky Linux oder RHEL und verwalten Sie das Netzwerk über NetworkManager-Verbindungsprofile. Dieser Artikel korrigiert fehlerhafte IP- und Broadcast-Beispiele und beschreibt einen Ablauf aus Sicherung, Anwendung, Prüfung und Wiederherstellung, der den Fernzugriff berücksichtigt.
Die Beispiele verwenden das Dokumentationsnetz 192.0.2.0/24. Ersetzen Sie vor der Anwendung IP-Adresse, Präfix, Gateway, DNS und Schnittstellennamen durch die tatsächlichen Werte. Prüfen Sie vorher auch, ob eine Wiederherstellung über die Konsole oder eine Fernverwaltungskarte möglich ist.

Support-Ende und Änderungsumfang klären
Das Vault-Repository von CentOS 7 archiviert alte Pakete und stellt die Sicherheitsunterstützung nicht wieder her. Isolieren Sie aus dem Internet erreichbare Server und migrieren Sie Systeme und Daten nach der Netzwerkwiederherstellung auf ein unterstütztes Betriebssystem.Stellen Sie zuerst fest, welche Komponente die Verbindung verwaltet: NetworkManager oder die klassischen network-scripts. Dokumentieren Sie Standardroute, DNS und die tatsächlichen Schnittstellennamen. So müssen Sie bei einer Wiederherstellung keine Werte erraten.
cat /etc/centos-release
systemctl is-active NetworkManager
nmcli general status
nmcli device status
nmcli connection show
ip -br address
ip route show
cat /etc/resolv.conf
Konfiguration sichern und einen unabhängigen Wiederherstellungszugang bereitstellen
Werden Netzwerkänderungen unter CentOS 7.9 unmittelbar in einer SSH-Sitzung angewendet, kann die Verbindung abbrechen. Prüfen Sie zuerst den Konsolenzugang. Sichern Sie die Netzwerkkonfiguration sowie Ausgaben zu Routing und DNS und nehmen Sie die NetworkManager-Profile in dieselbe Sicherung auf.
STAMP=$(date +%Y%m%d-%H%M%S)
sudo install -d -m 0700 "/root/network-backup-${STAMP}"
sudo cp -a /etc/sysconfig/network-scripts "/root/network-backup-${STAMP}/"
nmcli -f all connection show | sudo tee "/root/network-backup-${STAMP}/nmcli-connections.txt" >/dev/null
ip address show | sudo tee "/root/network-backup-${STAMP}/ip-address.txt" >/dev/null
ip route show table all | sudo tee "/root/network-backup-${STAMP}/ip-route.txt" >/dev/null
cat /etc/resolv.conf | sudo tee "/root/network-backup-${STAMP}/resolv.conf.txt" >/dev/null
Klassische ifcfg-Dateien
Verwenden Sie das folgende Format nur, wenn der bestehende CentOS-7.9-Server weiterhin ifcfg-Dateien auswertet. Adresse und Gateway liegen im gemeinsamen Beispielnetz 192.0.2.0/24. IP-Adresse und Broadcast-Adresse dürfen nicht aus unterschiedlichen Netzen stammen. Bei Angabe eines CIDR-Präfixes kann BROADCAST normalerweise entfallen.
TYPE=Ethernet
BOOTPROTO=none
NAME=ens192
DEVICE=ens192
ONBOOT=yes
IPADDR=192.0.2.10
PREFIX=24
GATEWAY=192.0.2.1
DNS1=192.0.2.53
DEFROUTE=yes
IPV6INIT=yes
Dateiname und DEVICE müssen zur tatsächlichen Schnittstelle passen. Prüfen Sie bei mehreren NICs DEFROUTE und die route-Dateien. Es dürfen nicht unbeabsichtigt mehrere Standardrouten entstehen. Planen Sie erforderliches Policy Routing gesondert.
# Nur die erforderlichen Einträge bearbeiten; die vorhandene Datei nicht leeren.
sudoedit /etc/sysconfig/network-scripts/ifcfg-ens192
sudo chown root:root /etc/sysconfig/network-scripts/ifcfg-ens192
sudo chmod 0600 /etc/sysconfig/network-scripts/ifcfg-ens192
sudo grep -Ev '^(#|$)' /etc/sysconfig/network-scripts/ifcfg-ens192
Das betroffene Verbindungsprofil gezielt anwenden
Das folgende nmcli-Verfahren gilt nur, wenn NetworkManager läuft und die betreffende Schnittstelle verwaltet. Prüfen Sie zuerst mit nmcli device status, dass ens192 nicht als unmanaged geführt wird. Auf Servern, die ausschließlich die klassischen network-scripts verwenden, dürfen Sie diese nmcli-Befehle nicht anwenden. Nutzen Sie dort an der Konsole ifdown/ifup für die betroffene Schnittstelle. Mischen Sie beide Verwaltungsverfahren nicht für dieselbe Schnittstelle.
Starten Sie auf entfernten Servern weder den gesamten network-Dienst noch NetworkManager neu. Stellen Sie zuerst ein Wartungsfenster und den Konsolenzugang sicher. Aktivieren Sie anschließend nur die betroffene Verbindung. Lassen Sie die bestehende SSH-Sitzung geöffnet, bis der Test einer neuen Sitzung abgeschlossen ist.sudo nmcli connection reload
nmcli connection show
sudo nmcli connection up ens192
Konfiguration mit NetworkManager und nmcli
Unter Rocky Linux 9 und RHEL 9 bilden NetworkManager-Verbindungsprofile die Grundlage. Das folgende Beispiel speichert den Namen des vorhandenen Profils in einer Variablen und ändert statische IPv4-Adresse, Gateway und DNS gemeinsam.
CON='System ens192'
sudo nmcli connection modify "$CON" ipv4.method manual ipv4.addresses 192.0.2.10/24 ipv4.gateway 192.0.2.1 ipv4.dns 192.0.2.53 ipv4.never-default no
nmcli -f connection.id,ipv4.method,ipv4.addresses,ipv4.gateway,ipv4.dns connection show "$CON"
sudo nmcli connection up "$CON"
Bei Cloud-Images können cloud-init oder ein Agent des Anbieters Netzwerkprofile erneut schreiben. Prüfen Sie vor Änderungen mit nmcli die Image-Richtlinien und die Dokumentation des Anbieters.
Adresse, Routing und DNS prüfen
Eine Erfolgsmeldung des Konfigurationsbefehls reicht nicht aus. Prüfen Sie zuerst Link und Adresse, anschließend die Standardroute, die Erreichbarkeit des Gateways, die DNS-Auflösung und die tatsächlich benötigten Dienstports.
nmcli device status
nmcli -f GENERAL.STATE,IP4.ADDRESS,IP4.GATEWAY,IP4.DNS device show ens192
ip -br link show ens192
ip -br address show ens192
ip route get 192.0.2.1
ping -c 3 192.0.2.1
getent ahosts example.com
ss -lntup
Änderungen bei Problemen zurücksetzen
Auch das folgende Wiederherstellungsbeispiel setzt eine von NetworkManager verwaltete Verbindung voraus. In einer Umgebung mit klassischen network-scripts stellen Sie zuerst die gesicherten Dateien wieder her und wenden sie anschließend an der Konsole mit ifdown/ifup für die Zielschnittstelle an.
Stellen Sie die gesicherten Dateien über die Konsole wieder her. Lesen Sie anschließend die Profile neu ein und aktivieren Sie ausschließlich die betroffene Verbindung. Bewahren Sie vor dem Überschreiben auch den fehlerhaften Zustand in einem eigenen Verzeichnis auf, damit er später untersucht werden kann.
sudo cp -a /etc/sysconfig/network-scripts "/root/network-failed-$(date +%Y%m%d-%H%M%S)"
sudo cp -a /root/network-backup-YYYYMMDD-HHMMSS/network-scripts/. /etc/sysconfig/network-scripts/
sudo nmcli connection reload
sudo nmcli connection up ens192
Checkliste für die Migration
Halten Sie einen klaren Ablauf ein: die gesamte aktuelle Konfiguration sichern, vor der Änderung den Konsolenzugang bestätigen und anschließend nur das betroffene Verbindungsprofil ändern. Testen Sie eine neue SSH-Sitzung in einem separaten Terminal. Schließen Sie danach die Migration auf eine unterstützte Linux-Version ab.
- Konsole beziehungsweise Fernverwaltungskarte und eine Sicherung des Ausgangszustands bereitstellen.
- Schnittstellennamen, IP-Adressen, Präfixe, Gateways, DNS und statische Routen dokumentieren.
- Doppelte IP-Adressen und Konflikte zwischen Standardrouten ausschließen.
- Nur die betroffene Verbindung aktivieren und die bestehende SSH-Sitzung geöffnet lassen.
- Eine neue SSH-Sitzung und die Zustandsprüfungen der Anwendungen erfolgreich testen.
- Den CentOS-7-Server isoliert halten und auf eine unterstützte Linux-Version migrieren.
Offizielle Dokumentation und weitere Artikel
- Red Hat: RHEL-9-Netzwerkkonfiguration und NetworkManager
- CentOS Linux: Informationen zum Support-Ende
- Notfallwiederherstellung mit CentOS 7 Vault
- CentOS 7 durch einen Neuaufbau unter Rocky Linux ablösen
- Rocky Linux installieren und grundlegend absichern
Dieses Verfahren besteht nicht nur aus dem Kopieren einer Konfigurationsdatei. Klären Sie zuerst die zuständige Netzwerkverwaltung und den Wiederherstellungszugang und ändern Sie anschließend gezielt die betreffende Verbindung. Adresse, Routing und DNS müssen jeweils geprüft werden. Bei einem nicht mehr unterstützten Server gehört zur Netzwerkwiederherstellung auch die anschließende Migration.