Network File System (NFS) ist ein leistungsstarkes Dateisystemprotokoll, das die gemeinsame Nutzung von Dateien über ein Netzwerk ermöglicht. Mit NFS können verschiedene Linux-Systeme auf entfernte Dateien so zugreifen, als wären sie lokal gespeichert. In diesem Beitrag zeigen wir, wie du einen NFS-Server unter Linux einrichtest und konfigurierst, um Verzeichnisse für andere Systeme im Netzwerk freizugeben.
Was ist NFS?
NFS (Network File System) ist ein Protokoll, das von Sun Microsystems entwickelt wurde, um Datei- und Verzeichnisfreigaben über ein Netzwerk zu ermöglichen. Es wird häufig in Netzwerken verwendet, in denen Linux-basierte Clients vorhanden sind. Es unterstützt den gemeinsamen Zugriff auf Dateien und erleichtert die Zusammenarbeit zwischen verschiedenen Systemen in einem Netzwerk.
Voraussetzungen
Bevor du mit der Konfiguration des NFS-Servers beginnst, stelle sicher, dass du:
- Ein Linux-basiertes Betriebssystem (wie Ubuntu, CentOS oder Debian) hast.
- Root-Zugriff oder sudo-Berechtigungen auf dem System besitzt.
- Ein grundlegendes Verständnis von Netzwerk- und Dateisystemen hast.
Schritt 1: Installiere den NFS-Server
- Aktualisiere das System Stelle sicher, dass dein System auf dem neuesten Stand ist, indem du die Paketlisten aktualisierst und die neuesten Pakete installierst.Für Debian/Ubuntu:
sudo apt update
sudo apt upgrade
Für CentOS/RHEL:
sudo yum update
Installiere das NFS-Server-Paket Für die Installation des NFS-Servers musst du das Paket nfs-kernel-server
installieren. Dies kann durch den folgenden Befehl erfolgen:
Auf Debian/Ubuntu:
sudo apt install nfs-kernel-server
Auf CentOS/RHEL:
sudo yum install nfs-utils
Schritt 2: Erstelle das Verzeichnis, das freigegeben werden soll
Nun, da der NFS-Server installiert ist, erstelle das Verzeichnis, das du im Netzwerk freigeben möchtest. In diesem Beispiel erstellen wir das Verzeichnis /srv/nfs/share
:
sudo mkdir -p /srv/nfs/share
Setze die Berechtigungen für dieses Verzeichnis entsprechend den Anforderungen der Benutzer. In unserem Fall erlauben wir den vollen Zugriff auf das Verzeichnis:
sudo chown nobody:nogroup /srv/nfs/share
sudo chmod 777 /srv/nfs/share
Schritt 3: Konfiguriere die NFS-Freigaben
Die NFS-Freigaben werden in der Datei /etc/exports
konfiguriert. Öffne diese Datei mit einem Texteditor:
sudo nano /etc/exports
Füge die folgende Zeile hinzu, um das Verzeichnis für das Netzwerk freizugeben. Ersetze 192.168.1.0/24
durch das Subnetz oder die IP-Adresse deines Netzwerks:
- rw: Erlaubt Lese- und Schreibzugriff auf das Verzeichnis.
- sync: Stellt sicher, dass Änderungen sofort auf die Festplatte geschrieben werden.
- no_subtree_check: Verhindert Überprüfungen des Verzeichnisbaums für mehr Leistung.
Schritt 4: NFS-Dienste starten und aktivieren
Nachdem du die Konfigurationsdatei aktualisiert hast, musst du den NFS-Server neu starten, damit die Änderungen übernommen werden. Führe den folgenden Befehl aus:
sudo systemctl restart nfs-kernel-server
Um sicherzustellen, dass der NFS-Dienst bei jedem Systemstart automatisch gestartet wird, aktiviere ihn mit:
sudo systemctl enable nfs-kernel-server
Schritt 5: Firewall-Konfiguration
Wenn eine Firewall aktiv ist, musst du sicherstellen, dass NFS-Datenverkehr durchgelassen wird. Öffne die benötigten Ports:
Für UFW (Debian/Ubuntu):
sudo ufw allow from 192.168.1.0/24 to any port nfs
Für firewalld (CentOS/RHEL):
sudo firewall-cmd --add-service=nfs --permanent
sudo firewall-cmd --reload
Schritt 6: NFS-Client konfigurieren
Nachdem der NFS-Server eingerichtet wurde, kannst du nun von einem Client-Computer aus auf das freigegebene Verzeichnis zugreifen.
- Installiere die NFS-Client-SoftwareAuf Debian/Ubuntu:
sudo apt install nfs-common
Auf CentOS/RHEL:
sudo yum install nfs-utils
Erstelle ein Verzeichnis zum Einhängen des freigegebenen Verzeichnisses
Auf dem Client-Computer erstellst du ein Verzeichnis, in das das NFS-Verzeichnis eingehängt wird:
sudo mkdir -p /mnt/nfs_share
Hänge das freigegebene Verzeichnis ein
Führe den folgenden Befehl aus, um das Verzeichnis manuell einzuhängen:
sudo mount 192.168.1.100:/srv/nfs/share /mnt/nfs_share
Ersetze 192.168.1.100
durch die IP-Adresse deines NFS-Servers.
Überprüfe die Einbindung
Du kannst überprüfen, ob das Verzeichnis erfolgreich eingebunden wurde, indem du den folgenden Befehl ausführst:
df -h
- Das freigegebene Verzeichnis sollte in der Ausgabe erscheinen.
Schritt 7: Automatisches Einhängen beim Systemstart
Damit das NFS-Verzeichnis bei jedem Systemstart automatisch eingebunden wird, füge einen Eintrag in die Datei /etc/fstab
auf dem Client-Computer hinzu:
192.168.1.100:/srv/nfs/share /mnt/nfs_share nfs defaults 0 0
Dadurch wird das NFS-Verzeichnis automatisch gemountet, wenn das System neu gestartet wird.
Fazit
Die Einrichtung eines NFS-Servers unter Linux ist relativ einfach und bietet eine hervorragende Möglichkeit, Dateien zwischen mehreren Systemen zu teilen. Mit dieser Anleitung hast du einen funktionierenden NFS-Server und kannst Verzeichnisse im Netzwerk freigeben. NFS ist besonders nützlich in Umgebungen, in denen mehrere Linux-Rechner regelmäßig auf gemeinsame Daten zugreifen müssen.
Wenn du noch Fragen zur Konfiguration oder zu spezifischen Szenarien hast, hinterlasse gerne einen Kommentar!