GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Richten Sie den NFS-Server unter Debian 10/11 ein [NFS-Share-Mount]

Übersicht

In diesem Beitrag führen wir Sie durch einen Prozess, wie Sie den NFS-Server unter Debian 10 einrichten, und der Prozess ist derselbe für Debian 11. Weiter oben auf dieser Website haben wir auch die andere Methode behandelt, in der wir den Prozess zum Mounten des freigegebenen Netzwerks gezeigt haben Laufwerk unter Linux, aber bei dieser Methode haben wir die cifs-utils-Tools (LINK) verwendet. Das Prinzip hinter diesem Vorgang ist im Grunde dasselbe – mounten Sie einen freigegebenen Netzwerkordner oder ein Laufwerk von einem anderen Computer und greifen Sie über das lokale Netzwerk darauf zu.

NFS-Server und -Client

NFS-Tools bestehen aus der Serveranwendung und der Clientanwendung. Die Serveranwendung installieren Sie natürlich auf dem Rechner, dessen Ordner oder Laufwerk Sie über das Netzwerk freigeben möchten. Die Client-Anwendung, die Sie auf allen anderen Computern installieren, von denen aus Sie auf den freigegebenen Netzwerkordner/das Laufwerk auf dem Server zugreifen.

Eine kleine Anmerkung:

Damit dies funktioniert, muss Ihr Servercomputer eine statische IP-Adresse haben.

NFS-Server einrichten

Installation des NFS-Servers

Führen Sie auf Ihrem Servercomputer diesen Befehl aus, um NFS zu installieren:

sudo apt install nfs-kernel-server

Nächster Schritt – Konfiguration des NFS-Servers. Führen Sie diesen Befehl aus, um auf die NFS-Serverkonfiguration zuzugreifen:

sudo nano /etc/exports

Die Konfigurationssyntax muss ungefähr so ​​aussehen (die Konfigurationszeile wird im Detail erklärt). Im Folgenden erkläre ich die Syntax ausführlicher:

/home/sharedfolder     192.168.100.0/24(rw,sync,no_subtree_check)

Speichern Sie die Datei und beenden Sie sie. Führen Sie dann den Befehl aus:

sudo exportfs -ra

Und starten Sie den NFS-Server neu:

sudo systemctl restart nfs-kernel-server.service

Und das ist der Konfigurationsteil des NFS-Servers. Die Datei muss in etwa so aussehen:

Hinweis für den freigegebenen Ordner

Auch für den von Ihnen freigegebenen Ordner … wenn der Ordner von einem Root-Benutzer oder mit einem Benutzer mit den sudo-Berechtigungen und vom Client-Computer aus erstellt wurde, verwenden Sie ein Konto, das kein Root ist – es könnten Lese- und Schreibprobleme auftreten beim Zugriff auf den Ordner vom Client aus.

In diesem Fall sollten Sie die Verzeichnisberechtigungen und den Besitz des freigegebenen Ordners des Servers wie folgt ändern:

sudo chown -R nobody:nogroup /home/sharedfolder/
sudo chmod -R 755 /home/sharedfolder/

Das bedeutet, dass der freigegebene Ordner keinem Konto oder keiner lokalen Gruppe gehört und über Lese- und Schreibberechtigungen verfügt.

Noch was

Wenn Sie auf Ihrem Server eine ufw-Firewall ausführen, müssen wir auch eine Firewallregel hinzufügen, damit wir vom Clientcomputer aus auf den freigegebenen Ordner zugreifen können. Führen Sie diesen Befehl für die ufw-Firewall aus:

sudo ufw allow from 192.168.100.0 to any port nfs

Die IP-Adresse muss aus Ihrem IP-Pool stammen.

NFS-Serverkonfigurationssyntax

Ok, lassen Sie uns die NFS-Serverkonfiguration behandeln. Also habe ich im vorherigen Absatz diesen Befehl als Beispiel verwendet:

/home/sharedfolder     192.168.100.0/24(rw,sync,no_subtree_check)

Diese Konfigurationssyntax ist für ein Szenario gedacht, in dem Sie möchten, dass Ihr freigegebener NFS-Ordner im gesamten lokalen Netzwerk für jeden unter dem IP-Pool 192.168.100.0 verfügbar ist.

Wir werden diese Syntax im Detail behandeln:

  • /home/sharedfolder – das ist natürlich der Verzeichnispfad des Ordners, den Sie über das Netzwerk freigeben möchten. Dies kann auch ein beliebiges Verzeichnis auf dem System sein (ersetzen Sie den freigegebenen Ordner durch den tatsächlichen Ordnernamen)
  • 192.168.100.0/24 – die IP-Adresse von Clients/Netzwerkpool und Subnetzmaske. Oben habe ich bereits einen Fall mit der IP-Adresse erwähnt, bei der Sie möchten, dass jeder Client im gesamten lokalen Netzwerk auf den freigegebenen NFS-Ordner zugreifen kann. In diesem Fall müssen Sie den IP-Pool Ihres Routers kennen. Dies kann auch so konfiguriert werden, dass nur bestimmte Clients auf die NFS-Netzwerkfreigabe zugreifen können. Damit dies funktioniert, müssen Clients auch eine statische IP-Adresse haben, die Sie selbst zuweisen können. In diesem Fall würde eine Syntax etwa so aussehen:
    • /home/sharedfolder 192.168.100.14(rw,sync,no_subtree_check)
    • Und wenn Sie ein Szenario für mehrere spezifische Clients benötigen, um auf die NFS-Freigabe zuzugreifen, dann müssen Sie für jeden Client einzeln mehrere Zeilen hinzufügen … so:
    • /home/sharedfolder 192.168.100.14(rw,sync,no_subtree_check)
    • /home/sharedfolder 192.168.100.38(rw,sync,no_subtree_check)
  • (rw,sync,no_subtree_check) – In diesem Teil fügen wir zwischen diesen Klammern die Freigabeeigenschaften wie Client-Berechtigungen und etc…
      hinzu
    • w -Diese Option gibt dem Client-Rechner sowohl Lese- als auch Schreibzugriff auf den freigegebenen Ordner.
    • synchronisieren – Diese Option zwingt NFS dazu, Änderungen auf die Festplatte zu schreiben, bevor es antwortet. Dies führt zu einer stabileren und konsistenteren Umgebung, da die Antwort den tatsächlichen Zustand des Remote-Volumes widerspiegelt. Es verringert jedoch auch die Geschwindigkeit von Dateioperationen.
    • no_subtree_check – Diese Option verhindert die Subtree-Prüfung, bei der der Server bei jeder Anfrage prüfen muss, ob die Datei tatsächlich noch im exportierten Baum vorhanden ist. Dies kann viele Probleme verursachen, wenn eine Datei umbenannt wird, während der Client sie geöffnet hat. In fast allen Fällen ist es besser, die Teilbaumprüfung zu deaktivieren.

Installation des NFS-Clients und Mounten der NFS-Netzwerkfreigabe

Führen Sie auf dem Clientcomputer diese Befehle aus, um den NFS-Client zu installieren:

sudo apt update
sudo apt install nfs-common

Der nächste Schritt besteht darin, einen Bereitstellungspunkt auf dem Client-Computer zu erstellen. Der folgende Befehl wird als Beispiel verwendet. Dies kann auch ein beliebiger Ort sein:

sudo mkdir /mnt/nfs-share

Jetzt können wir unseren NFS-Netzwerkfreigabeordner mounten:

sudo mount 192.168.100.119:/home/sharedfolder/ /mnt/nfs-share

Auch hier muss die IP im obigen Befehl von Ihrem Server sein und dieser Befehl sollte die Netzwerkfreigabe auf Ihrem Client-Rechner bereitstellen. Der freigegebene Ordner sollte sofort im Dateimanager erscheinen… So (Beispielbild unten):

Testen der NFS-Netzwerkfreigabe mit dem Terminal

Sie können die Netzwerkfreigabe natürlich über den Dateimanager und über die Desktopumgebung testen. Ich teste die Freigabe aber auch gerne per Terminal. Der Methodentest mit dem Terminal eignet sich auch für Szenarien, in denen Sie keinen Monitor haben und auf einen Remote-Server zugreifen.

sudo touch /mnt/nfs-share/test.txt

Dieser Befehl erstellt eine .txt-Datei auf unserem Einhängepunkt und diese Datei sollte sofort auf unserem Server erscheinen. Wie in den Bildern unten:

Einbinden der Netzwerkfreigabe beim Booten

Der Mount-Befehl, den wir zuvor verwendet haben – im Grunde war das ein manuelles Mounten und es ist nicht dauerhaft. Das heißt, sobald Sie Ihren Client-Rechner neu starten oder ausschalten … wird das Mounten weg sein und Sie müssen es erneut manuell mounten.

Es gibt jedoch eine Möglichkeit, es dauerhaft zu mounten, und zwar mit der Konfiguration, um die Netzwerkfreigabe beim Booten zu mounten. Wenn also Ihr Client-Rechner hochfährt, wird die Netzwerkfreigabe automatisch gemountet.

Diese Methode ist optional und Sie tun es, wenn Sie möchten.

!!!BITTE BEACHTEN SIE DIESEN SCHRITT!!!

Wenn Sie es nicht richtig machen, könnten Sie Ihren Computer beim nächsten Neustart sperren. Die Fstab-Datei ist die Konfigurationsdatei des Bootvorgangs, in der sich auch Ihre Festplatten befinden. Wenn die Datei also nicht richtig konfiguriert ist, können Sie das Booten der Maschine verhindern.

Führen Sie auf dem Client-Computer diesen Befehl aus, um auf die fstab-Datei zuzugreifen:

sudo nano /etc/fstab

Dann… AM ENDE DER DATEI fügen Sie diese Befehlszeile hinzu:

192.168.100.119:/home/sharedfolder   /mnt/nfs-share   nfs   rw,soft,noatime,x-gvfs-show

Es sollte so aussehen:

Speichern Sie die Datei und beenden Sie sie. Und das ist alles. Die ersten beiden Teile des Befehls weisen den Client an, auf den Server zuzugreifen und den freigegebenen Netzwerkordner auf dem Bereitstellungspunkt des Clients bereitzustellen. Für diese Mount-Methode haben wir ziemlich wenige Mount-Optionen und -Eigenschaften verwendet, um den Mount so stabil wie möglich zu machen und Lese-Schreib-Probleme zu vermeiden. Sie können die Erklärung der Option in der Manpage des NFS auf dem Terminal nachlesen:

man nfs

oder auf den Webversionen der NFS-Manpage – manpage1 und manpage2

Zusammenfassung

Das war der Vorgang zum Einrichten des NFS-Servers unter Debian 10 und unter Debian 11. Hier haben wir nicht nur den Installationsprozess und die Konfiguration für den Client- und Servercomputer behandelt, sondern auch den Mount-Prozess und den Zugriff auf die NFS-Freigabe behandelt und auch einige potenzielle Risiken.

Vielen Dank für Ihre Zeit.


Debian
  1. So richten Sie einen Samba-Server unter Debian 10 Buster ein

  2. So richten Sie den Rsyslog-Server unter Debian 11 ein

  3. Einrichten eines NFS-Servers und -Clients unter Debian 9 (Stretch)

  4. Installieren Sie Wireguard-Server auf Debian 10/11

  5. Installieren Sie den OpenVPN-Server auf Debian 10/11

So richten Sie den NFS-Server unter Debian 9 / Ubuntu 16.04 / LinuxMint 18 ein

So richten Sie Rsyslog Server Debian 10/11 ein

So richten Sie Selenium mit ChromeDriver unter Debian 10/9/8 ein

Ersteinrichtung des Servers mit Debian 10/9/8

Ersteinrichtung des Servers mit Debian 11

So richten Sie den OpenLDAP-Server unter Debian 10 ein