Einführung
Network File System (NFS) ist ein Dateisystem, das den lokalen Zugriff auf entfernte Dateien von mehreren Standorten innerhalb eines Netzwerks ermöglicht. Für diesen Zugriff verwendet NFS eine Standard-Client/Server-Architektur, die die gemeinsame Nutzung zwischen Linux-Rechnern unabhängig von ihrer Distribution unterstützt.
In diesem Tutorial erfahren Sie, wie Sie den NFS-Server und die Clients unter Ubuntu installieren und konfigurieren.

Voraussetzungen
- Zwei oder mehr Ubuntu-Rechner
- Zugriff auf die Kommandozeile/das Terminal
- Sudo-Berechtigungen auf allen Computern
Richten Sie die NFS-Hostseite ein
Die Schritte dieses Tutorials behandeln die NFS-Installation und -Einrichtung auf Ubuntu und anderen Debian-basierten Distributionen. Andere Linux-Distributionen wie Fedora und CentOS/RHEL weisen eine etwas andere Befehlssyntax auf. Der Prozess folgt jedoch demselben Muster.
Installieren Sie den NFS-Kernel-Server
Beginnen Sie mit der Einrichtung von NFS, indem Sie einen Hostcomputer auswählen.
Aktualisieren Sie als Nächstes das Paket-Repository:
sudo apt update
Installieren Sie dann den NFS-Kernel-Server mit dem folgenden Befehl auf der ausgewählten Maschine:
sudo apt install nfs-kernel-server

Geben Sie „y“ ein und drücken Sie ENTER, um die Installation zu starten.
Gemeinsames Verzeichnis konfigurieren
Erstellen Sie auf dem Hostcomputer ein Verzeichnis, das Sie für das Clientsystem freigeben möchten. Wählen Sie einen beliebigen Namen.
sudo mkdir -p /mnt/nfsdir
Ändern Sie den Benutzer und die Gruppe des Eigentümers in niemand und keine Gruppe . Diese Einstellung macht den Ordner öffentlich:
sudo chown nobody:nogroup /mnt/nfsdir
Legen Sie die Berechtigungen auf 777 fest , sodass jeder Dateien in diesem Ordner lesen, schreiben und ausführen kann:
sudo chmod 777 /mnt/nfsdir
NFS-Exportdatei bearbeiten, um Clients Serverzugriff zu gewähren
Die Berechtigung zum Zugriff auf den Host-Server-Rechner wird in der Exportdatei gewährt, die sich in /etc befindet Verzeichnis. Öffnen Sie die Datei mit einem Texteditor Ihrer Wahl, dieses Tutorial verwendet Vi:
sudo vi /etc/exports
Fügen Sie für jeden Client, dem Sie Zugriff gewähren möchten, diese Zeile zur Datei hinzu:
/mnt/nfsdir clientIP(rw,sync,no_subtree_check)

Verlassen Sie die Datei und speichern Sie die Änderungen
Die Optionen in Klammern haben folgende Funktionen:
- “rw ” bietet Clients Lese- und Schreibzugriff auf Verzeichnisse auf dem Server.
- “synchronisieren “ zwingt NFS, Änderungen zu schreiben, bevor es dem Client antwortet. Diese Option stellt sicher, dass der Status des Hosts den Clients genau angezeigt wird.
- “no_subtree_check ” deaktiviert Teilbaum Überprüfung. Der Teilbaumprozess kann Probleme verursachen, wenn Benutzer Dateien umbenennen.
Freigegebenes Verzeichnis exportieren
Nachdem Sie die erforderlichen Änderungen in /etc/exports vorgenommen haben , verwenden Sie exportfs
Befehl zum Exportieren aller freigegebenen Verzeichnisse, die Sie in dieser Datei registriert haben:
sudo exportfs -a
Starten Sie als Nächstes den NFS-Kernel-Server neu, um die Änderungen an der Konfiguration zu übernehmen:
sudo systemctl restart nfs-kernel-server
Wenn Sie UFW verwenden, müssen Sie Clients den Zugriff auf den Server erlauben:
sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs
Die Ausgabe bestätigt das Hinzufügen der IP-Adresse:

Um sicherzustellen, dass Sie den Vorgang erfolgreich abgeschlossen haben, geben Sie Folgendes ein:
sudo ufw status
Suchen Sie in der Ausgabe nach der hinzugefügten IP-Adresse:

Einrichten der NFS-Clientseite
Führen Sie die folgenden Schritte auf allen Computern aus, die Sie als Clients für die Freigabe einrichten möchten.
Installieren Sie NFS Common
Um NFS auf Client-Rechnern zu aktivieren, installieren Sie das allgemeine NFS-Paket:
sudo apt update
sudo apt install nfs-common

Geben Sie „y“ ein und drücken Sie die EINGABETASTE, um die Installation zu starten.
Richten Sie einen Mount Point ein
Der Client-Rechner benötigt einen Einhängepunkt für das freigegebene Verzeichnis, das vom Server exportiert wird.
Erstellen Sie ein Verzeichnis, indem Sie Folgendes eingeben:
sudo mkdir -p /mnt/nfsdir_client
Verwenden Sie den folgenden Befehl, um das gemeinsam genutzte Verzeichnis am Mount-Punkt zu mounten:
sudo mount host_IP:/mnt/nfsdir /mnt/nfsdir_client
Verwenden Sie df -h
Befehl, um zu überprüfen, ob Sie den Ordner erfolgreich gemountet haben:

Wenn Sie den freigegebenen Ordner nicht mehr benötigen, heben Sie die Bereitstellung auf, indem Sie Folgendes eingeben:
sudo umount /mnt/nfsdir_client
Gemeinsame NFS-Verzeichnisse beim Booten des Betriebssystems einhängen
Wenn Sie möchten, dass die Ordner auch nach dem Neustart des Computers gemountet bleiben, müssen Sie sie zu /etc/fstab hinzufügen Datei.
Um die Datei /etc/fstab zu bearbeiten, geben Sie Folgendes ein:
sudo vim /etc/fstab
Kopieren Sie die folgende Zeile an das Ende der Datei und ersetzen Sie „host_IP“ durch die tatsächliche IP-Adresse des Hosts:
host_IP:/mnt/nfsdir /mnt/nsfdir_client nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Fügen Sie diese Zeile für jeden Ordner hinzu, den Sie benötigen. Auf diese Weise werden alle Ordner in der Liste bei jedem Start automatisch gemountet.