linux-rhel-centos-fedora networking configuration rhel sysconfig legacy

Network Config Files & sysconfig (Artikel 080)

Analyse der Netzwerk-Konfigurationsdateien unter RHEL. Vom klassischen ifcfg-Format bis hin zu modernen Keyfiles und globalen Einstellungen in /etc/sysconfig/network.

# RHEL Network Files: Hinter den Kulissen des NetworkManagers

TL;DR / Management Summary Während wir heute meist Tools wie nmcli nutzen, ist es für Admins essenziell zu wissen, wo diese Informationen persistent auf der Disk liegen. In der RHEL-Welt befinden wir uns gerade in einem Übergang: Weg von den klassischen Shell-Skripten in /etc/sysconfig/network-scripts/, hin zu standardisierten INI-Keyfiles. Wer diese Dateien versteht, kann Konfigurationen auch dann reparieren, wenn der NetworkManager-Dienst selbst nicht mehr startet.


# 1. Einführung & Architektur

Vom Skript zum Keyfile.

Traditionell war RHEL berühmt für seine ifcfg-Dateien. Diese waren eigentlich Bash-Skripte, die Variablen setzten. Ab RHEL 9 setzt Red Hat auf das Keyfile-Format, welches auch von anderen Distributionen (wie Arch oder Debian) genutzt werden kann.

# Dateipfade Übersicht

  • Legacy (RHEL < 9): /etc/sysconfig/network-scripts/ifcfg-<name>
  • Modern (RHEL 9+): /etc/NetworkManager/system-connections/<name>.nmconnection
  • Globales Netzwerk: /etc/sysconfig/network
  • Hostname: /etc/hostname

# 2. Die Anatomie einer ifcfg Datei (Legacy)

Verstehen, was wir ablösen.

# /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8

Wichtig: In RHEL 9 werden diese Dateien standardmäßig nicht mehr unterstützt (das Plugin ifcfg-rh muss manuell nachinstalliert werden).


# 3. Das moderne Keyfile (.nmconnection)

Struktur und Sicherheit.

Keyfiles sind klassische INI-Dateien. Sie werden vom NetworkManager automatisch erstellt, wenn man nmcli nutzt.

[connection]
id=static-eth0
uuid=550e8400-e29b-41d4-a716-446655440000
type=ethernet
interface-name=eth0

[ipv4]
address1=192.168.1.10/24,192.168.1.1
dns=8.8.8.8;8.8.4.4;
method=manual

[ipv6]
method=ignore

# 4. Day-2 Operations: Globale Einstellungen

Mehr als nur IPs.

# Der Hostname

Verwenden Sie hostnamectl, um die Datei /etc/hostname sauber zu schreiben:

sudo hostnamectl set-hostname server01.company.com

# Die /etc/hosts Datei

Wichtig für das lokale Mapping, bevor DNS greift.

127.0.0.1   localhost server01.company.com server01
10.0.0.5    database-internal

# 5. Troubleshooting & “War Stories”

Wenn die Dateien lügen.

# Story 1: “Der Dateiberechtigungs-Fail”

Symptom: Der Admin erstellt manuell ein Keyfile unter /etc/NetworkManager/system-connections/, aber es taucht in nmcli con show nicht auf. Ursache: Der NetworkManager ist extrem pingelig bei den Rechten. Keyfiles enthalten oft Passwörter (WLAN/VPN) und müssen daher 600 (root-only) gehören. Lösung: sudo chmod 600 /etc/NetworkManager/system-connections/*.nmconnection && sudo nmcli con reload.

# Story 2: “Das doppelte Gateway”

Symptom: Der Server ist sporadisch nicht erreichbar. ip route zeigt zwei Default-Gateways. Ursache: In zwei verschiedenen ifcfg Dateien wurde der Parameter GATEWAY= gesetzt. Lösung: In RHEL darf nur eine Datei (meist die für das externe Interface) ein Gateway definieren. Entfernen Sie den Eintrag aus allen anderen Dateien.


# 6. Fazit & Empfehlung

  • Migration: Wenn Sie von RHEL 7/8 auf 9 migrieren, rechnen Sie damit, dass Ihre ifcfg-Files konvertiert werden müssen.
  • Backup: Sichern Sie den gesamten Ordner /etc/NetworkManager/system-connections/ – er ist die Lebensversicherung Ihres Netzwerks.
  • Tool-Wahl: Nutzen Sie nmcli für Änderungen. Es schreibt die Files im Hintergrund korrekt und verhindert Syntax-Fehler.

# Anhang: Cheatsheet

Aufgabe Pfad / Befehl
Haupt-Config NM /etc/NetworkManager/NetworkManager.conf
DNS Settings (NM) /etc/NetworkManager/conf.d/
Globales Gateway /etc/sysconfig/network
Static Routes /etc/sysconfig/network-scripts/route-<if>
Dateien neu einlesen nmcli connection reload