NFS-Server und Client auf AlmaLinux 9 einrichten

Inhaltsübersicht
- Einführung: Was ist NFS
- Voraussetzungen
- NFS‑Server installieren und starten
- Freigaben erstellen und konfigurieren
- Firewall für NFS absichern
- NFS‑Client einrichten und mounten
- Schreibzugriff prüfen
- Automatisches Mounten mit /etc/fstab
- Sicherheit, Troubleshooting und Best Practices
- Checklisten, Testfälle und Akzeptanzkriterien
- Zusammenfassung
Einführung: Was ist NFS
NFS (Network File System) ist ein Netzwerkprotokoll, das es Clients ermöglicht, entfernte Dateisysteme so zu verwenden, als wären sie lokal eingebunden. Ursprünglich von Sun Microsystems entwickelt, ist NFS ein Standard für Datei‑Shares in LAN‑Umgebungen. Typische Einsatzfälle sind zentrale Home‑Verzeichnisse, gemeinsame Datenspeicher und Backup‑Ziele.
Kurzdefinition: NFS stellt entfernte Verzeichnisse über RPC bereit, Clients mounten diese per nfs/nfs4 und greifen auf Dateien wie auf lokale Dateien zu.
Wichtig: Bei produktiven Umgebungen auf Authentifizierung (z. B. Kerberos), Rechteverwaltung und Netzwerkabsicherung achten.
Hauptvarianten und Begriffe
- NFSv3: älter, UDP/TCP möglich, zustandslos, verbreitet bei Legacy‑Setups.
- NFSv4: moderner, zustandsbasiert, integriert Locking und bessere Firewall‑Handhabung.
- idmapd: Benutzer/UID‑Mapping zwischen Server und Client.
- rpcbind/mountd: Hilfsdienste, bei NFSv3/älteren Setups wichtig.
Voraussetzungen
Stellen Sie vor Beginn sicher:
- Ein AlmaLinux 9 Server mit sudo‑Zugriff (Hostname: almalinux9-server, Beispiel‑IP: 192.168.10.15).
- Mindestens ein Client (RHEL‑basiert), ebenfalls mit sudo.
- Grundkenntnisse der Shell und der Systemd‑Dienstverwaltung.
NFS‑Server installieren und starten
Installieren Sie das Paket nfs-utils auf Server und Client; Paketquelle ist AppStream.
sudo dnf install nfs-utils
Konfigurieren Sie idmapd für korrekte Benutzerzuordnung: öffnen Sie /etc/idmapd.conf und setzen Sie die Domain auf Ihren FQDN bzw. Hostnamen.
sudo nano /etc/idmapd.conf
Suchen Sie die Zeile mit Domain und ändern/entkommentieren Sie sie:
Domain = almalinux9-server
Speichern und schließen.
Starten und aktivieren Sie den NFS‑Service:
sudo systemctl start nfs-server
sudo systemctl enable nfs-server
Prüfen Sie den Zustand des Dienstes:
sudo systemctl status nfs-server
Wichtig: Falls der Dienst nicht startet, prüfen Sie journalctl -u nfs-server –no-pager auf Fehlermeldungen.
Freigabeverzeichnisse erstellen und Berechtigungen setzen
Legen Sie die Verzeichnisse an, die Sie per NFS freigeben möchten. Im Beispiel verwenden wir /mnt/shared und /mnt/backup.
sudo mkdir -p /mnt/shared /mnt/backup
sudo chown -R nobody:nobody /mnt/shared /mnt/backup
sudo chmod 775 /mnt/shared /mnt/backup
Ergänzen Sie die NFS‑Exportliste in /etc/exports:
sudo nano /etc/exports
Beispielinhalt (an Ihre Umgebung anpassen):
/mnt/backup 192.168.10.21(rw,sync,no_subtree_check)
/home 192.168.10.21(rw,sync,no_root_squash,no_subtree_check)
/mnt/shared 192.168.10.0/24(rw,sync,no_subtree_check)
Parameter kurz erklärt:
- rw: Lese‑ und Schreibzugriff erlauben.
- sync: Schreibvorgänge werden zuerst auf Disk geschrieben — sicherer, langsamer.
- no_subtree_check: Deaktiviert Subtree‑Checking, verbessert Performance bei verschachtelten Verzeichnissen.
- no_root_squash: Behandelt root‑Benutzer vom Client als root auf dem Server (vorsichtig einsetzen).
Anschließend NFS neu starten und Exports prüfen:
sudo systemctl restart nfs-server
sudo exportfs -v
Die Ausgabe zeigt die aktuellen Freigaben und Optionen.
Firewall für NFS absichern
Wenn firewalld aktiv ist, erlauben Sie die notwendigen Dienste. NFSv4 benötigt weniger dynamische Ports als ältere Versionen, prüfen Sie Ihre NFS‑Version und passen Sie Regeln an.
sudo firewall-cmd --add-service={nfs,nfs3,mountd,rpc-bind} --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Hinweis: Für NFSv4 genügt oft die Regel für nfs; bei aktivem rpcbind/mountd müssen rpcbind/mountd freigeschaltet werden.
Wichtig: Öffnen Sie nur die notwendigen Dienste in produktiven Netzen; verwenden Sie Netzwerkzonen (trusted/internal) statt globaler Freigaben.
NFS‑Client einrichten und Freigaben prüfen
Auf dem Client installieren Sie ebenfalls nfs-utils:
sudo dnf install nfs-utils
Liste der Freigaben vom Server anzeigen:
sudo showmount -e 192.168.10.15
Die Ausgabe sollte die in /etc/exports konfigurierten Verzeichnisse zeigen.
Erstellen Sie lokale Mountpoints und mounten Sie die Freigaben:
sudo mkdir -p /data /backup /shared
sudo mount 192.168.10.15:/mnt/backup /backup
sudo mount 192.168.10.15:/mnt/shared /shared
sudo mount 192.168.10.15:/home /data
Prüfen Sie die gemounteten Dateisysteme:
sudo df -h
Schreibzugriff vom Client prüfen
Erstellen Sie Testdateien auf dem Client, um Lese‑ und Schreibrechte zu verifizieren:
echo "This file from client" > /backup/test-write1.txt
echo "This file from client" > /shared/test-write2.txt
echo "This file from client" > /data/alice/test-write3.txt
Auf dem Server kontrollieren Sie das Vorhandensein:
cat /mnt/backup/test-write1.txt
cat /mnt/shared/test-write2.txt
cat /home/alice/test-write3.txt
Wenn die Inhalte sichtbar sind, funktionieren Rechte und Mounts korrekt.
Automatisches Mounten via /etc/fstab
Für Auto‑Mounts nach Neustart tragen Sie die Freigaben in /etc/fstab ein.
Zuerst aushängen und prüfen:
sudo umount /data /backup /shared
sudo df -h
Bearbeiten Sie /etc/fstab:
sudo nano /etc/fstab
Beispielzeilen (anpassen):
192.168.10.15:/mnt/backup /backup nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
192.168.10.15:/mnt/shared /shared nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
192.168.10.15:/home /data nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
Speichern und dann mounten:
sudo mount -a
sudo df -h
Tipp: Verwenden Sie die Optionen nofail und netdev, falls das Netzwerk später als das Dateisystem initialisiert wird, um Boot‑Hänger zu vermeiden.
Sicherheit und Härtung
Wichtige Maßnahmen:
- Verwenden Sie NFSv4 statt NFSv3, wenn möglich — weniger dynamische Ports, bessere Funktionen.
- Absichern mit Kerberos (sec=krb5, krb5i, krb5p) für Authentifizierung und Integrität/Privatsphäre.
- Minimieren Sie Netzwerkzugriff: nur bestimmte Subnetze oder Hosts freigeben.
- Verwenden Sie root_squash (Standard) statt no_root_squash für Freigaben, die keine root‑Rechte benötigen.
- Prüfen Sie Dateisystemrechte auf Serverseite (UID/GID‑Konsistenz zwischen Client/Server).
- Monitoring: überwachen Sie mount‑Status, I/O‑Latenzen und Fehler in journalctl.
Beispiel für Kerberos‑Absicherung (nur grobe Hinweise):
- Kerberos‑KDC einrichten
- host‑Principals für Server/Client erstellen
- exports mit sec=krb5i definieren
Hinweis: Kerberos erfordert SSSD/Kerberos‑Config und kann komplex sein; planen Sie Tests in einer Testumgebung.
Troubleshooting: Häufige Probleme und Lösungen
Problem: mount hängt oder blockiert bei Boot.
- Lösung: fstab‑Einträge mit nofail,_netdev oder systemd‑Mount‑Units verwenden.
Problem: Permission denied beim Schreiben.
- Lösung: Prüfen Sie UID/GID‑Mapping (idmapd), Dateisystemrechte und ob root_squash aktiv ist.
Problem: showmount zeigt keine Freigaben.
- Lösung: Prüfen Sie, ob rpcbind/mountd laufen und ob Firewall Regeln Dienste blockieren.
Problem: Performanceprobleme.
- Lösung: Überprüfen Sie sync vs async (async schneller, weniger sicher), Netzwerklatency, NFS‑Version, no_subtree_check, TCP vs UDP.
Problem: Locks funktionieren nicht.
- Lösung: Stellen Sie sicher, dass nfs‑lockd/rpc.statd laufen und dass die Lock‑Ports durch die Firewall zugelassen sind.
Wann NFS ungeeignet ist (Gegenbeispiele)
- Über WAN/hohe Latenz: NFS ist für LAN‑Zugriffe optimiert; bei hohen Latenzen verschlechtert sich Performance.
- Multi‑Writer verteilte Workloads mit starker Konsistenzanforderung: Lösungen wie CephFS, GlusterFS oder verteilte Blockspeicher sind oft besser.
- Dateien mit strikten POSIX‑Locking‑Anforderungen in heterogenen Umgebungen können Probleme mit UID/GID‑Mapping haben.
Alternative Ansätze:
- SMB/CIFS: Besser für Windows‑Clients und AD‑Integration.
- GlusterFS/CephFS: Wenn Sie verteilten, skalierbaren Storage benötigen.
- SSHFS: Schnell einzurichten für einzelne Nutzer, nicht geeignet für Produktions‑I/O.
Rollebasierte Checkliste für Deployments
Systemadministrator (Server):
- nfs-utils installiert
- /etc/idmapd.conf konfiguriert (Domain)
- /etc/exports korrekt gesetzt und getestet
- firewalld Regeln überprüft
- Dienst nfs-server aktiv und dauerhaft
- Backup und Monitoring eingerichtet
Systemadministrator (Client):
- nfs-utils installiert
- showmount auf Server zeigt erwartete Freigaben
- lokale Mountpoints angelegt
- mount überprüft und Schreibtests durchgeführt
- /etc/fstab mit nofail und netdev ergänzt
Security Officer:
- Zugriff nur für notwendige Subnetze/Hosts erlaubt
- Root‑Squash je Freigabe geprüft
- Überprüfung auf sensible Daten in Freigaben
- (Optional) Kerberos‑Absicherung geplant
SOP: Kurzcheck für Rollout in 10 Schritten
- Paketinstallation auf Server und Client.
- idmapd konfigurieren (Domain).
- Freigabeverzeichnisse anlegen und Rechte setzen.
- /etc/exports editieren und exportfs prüfen.
- NFS‑Dienste starten und aktivieren.
- Firewallregeln hinzufügen und reload.
- Client: showmount prüfen und testweise mounten.
- Schreibtests durchführen und Serverprüfung.
- /etc/fstab ergänzen mit nofail/netdev.
- Dokumentation aktualisieren und Monitoring einrichten.
Testfälle und Akzeptanzkriterien
- Mount möglich: Client kann alle konfigurierten Freigaben ohne Fehler mounten.
- Lese-/Schreibzugriff: Dateien, die auf Client geschrieben werden, sind auf Server sichtbar und umgekehrt.
- Persistenz: Nach reboot sind alle fstab‑eingetragenen Freigaben gemountet (oder nofail verhindert Boot‑Blockade).
- Sicherheit: Nur konfigurierte IPs/Subnetze können auf die Freigaben zugreifen.
Datenschutz und Compliance (Kurz)
NFS speichert oft Benutzerdaten zentral. Prüfen Sie:
- Sind personenbezogene Daten gespeichert? Falls ja, Zugriffsrechte und Protokollierung sicherstellen.
- Werden Backups verschlüsselt abgelegt?
- Regionales Datenschutzrecht (z. B. DSGVO) beachten: Datenzugriffe, Rollen und Verantwortlichkeiten dokumentieren.
Zusammenfassung
Sie haben gelernt, wie Sie auf AlmaLinux 9 einen NFS‑Server installieren, Freigaben erstellen und über Firewalld absichern. Außerdem haben Sie den Client‑Workflow, Schreibtests und das automatische Mounten mittels /etc/fstab durchgeführt. Ergänzend werden Sicherheitsoptionen, Troubleshooting‑Tipps und Checklisten bereitgestellt, die den produktiven Betrieb erleichtern.
Wichtig: Planen Sie bei produktiven Systemen zusätzliche Absicherungen wie Kerberos, Monitoring und regelmäßige Prüfungen der Berechtigungen ein.
Weiterführende Schritte
- Testen Sie NFSv4 und erwägen Sie Kerberos für Authentifizierung.
- In produktiven Setups: Monitoring für I/O, Locks und Fehlerraten einrichten.
Ähnliche Materialien

Ist Ihr Smartphone bereit für Windows 10 Mobile?

Windows-Registry sichern & wiederherstellen

So findest du Beiträge, die dir auf Instagram gefallen haben

WhatsApp: Spracheingabe mit Gboard & SwiftKey

IMDb: Gemeinsame Suche für Filme, Cast & Crew
