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
nmclinutzen, 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
nmclifü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 |