Website-Suche

So konfigurieren Sie NFS unter Linux


Die gemeinsame Nutzung von Dateien zwischen Computern und Servern ist eine wesentliche Netzwerkaufgabe. Glücklicherweise ist NFS (Network File System) für Linux-Systeme verfügbar und macht die Arbeit extrem einfach. Wenn NFS richtig konfiguriert ist, ist das Verschieben von Dateien zwischen Computern so einfach wie das Verschieben von Dateien auf demselben Computer. Da die NFS-Funktionalität direkt in den Linux-Kernel integriert ist, ist sie sowohl leistungsstark als auch auf jeder Linux-Distribution verfügbar, obwohl sich die Konfiguration zwischen den beiden leicht unterscheiden kann.

In dieser Anleitung zeigen wir, wie Sie NFS auf großen Linux-Distributionen wie Ubuntu und anderen auf Basis von Debian sowie Fedora und anderen auf Basis von Red Hat installieren und konfigurieren. Die Konfiguration umfasst einen Server (der die Dateien hostet) und einen Client-Computer (der eine Verbindung zum Server herstellt, um Dateien anzuzeigen oder hochzuladen). Führen Sie die folgenden Schritte aus, um NFS auf Ihrem eigenen System einzurichten.

In diesem Tutorial lernen Sie:

  • So installieren Sie den NFS-Server
  • Konfigurieren von NFS-Serverfreigaben
  • So stellen Sie eine Verbindung zum NFS-Server von Clientcomputern her her

Konfigurieren einer NFS-Serverfreigabe unter Linux

NFS-Server einrichten

In diesem Abschnitt der Anleitung wird die Konfiguration für den NFS-Server erläutert, d. h. der Rechner, der die NFS-Freigaben hosten wird. Client-Computer können dann eine Verbindung zum Server herstellen, um auf Dateien zuzugreifen und/oder diese hochzuladen.

  1. Das erste, was wir tun müssen, ist das NFS-Serverpaket zu installieren, das in den Haupt-Repositories verfügbar ist. Verwenden Sie den entsprechenden Befehl, um die Software auf Ihrem System zu installieren.

    Unter Ubuntu, Linux Mint und anderen Debian-basierten Distributionen:

    
    sudo apt install nfs-kernel-server
    

    Auf Fedora, CentOS, AlmaLinux und anderen RHEL-basierten Distributionen:

    
    sudo dnf install nfs-utils
    
  2. Stellen Sie als Nächstes sicher, dass der NFS-Dienst ausgeführt wird und bei nachfolgenden Rechnerstarts automatisch gestartet wird.

    
    sudo systemctl enable --now nfs-server
    
  3. Wenn Sie noch kein Verzeichnis erstellt haben, das Sie freigeben möchten, ist es jetzt an der Zeit, eines zu erstellen. In diesem Beispiel speichern wir unsere NFS-Freigabe als /media/nfs.

    
    sudo mkdir -p /media/nfs
    
  4. Als nächstes bearbeiten wir die Konfigurationsdatei /etc/exports. Hier können Sie konfigurieren, welche Verzeichnisse Sie freigeben und wer darauf zugreifen kann. Sie können auch spezifische Berechtigungen für die Freigaben festlegen, um den Zugriff weiter einzuschränken. Verwenden Sie nano oder Ihren bevorzugten Texteditor, um die Datei zu öffnen.

    
    sudo nano /etc/exports
    
  5. In der Datei erhält jede Freigabe eine eigene Zeile. Diese Zeile beginnt mit dem Speicherort der Freigabe auf dem Servercomputer. Gegenüber können Sie den Hostnamen eines akzeptierten Clients auflisten, sofern er in der Hostdatei des Servers verfügbar ist, oder eine IP-Adresse oder einen IP-Adressbereich. Platzieren Sie die Regeln für die Freigabe direkt hinter der IP-Adresse in einer Reihe von Klammern. Insgesamt sollte es in etwa so aussehen:

    
    /media/nfs		192.168.1.0/24(rw,sync,no_subtree_check)
    

    Sie können so viele Freigaben hinzufügen, wie Sie möchten, vorausgesetzt, jede hat eine eigene Zeile. Sie können auch mehr als einen Hostnamen oder eine IP in jede Zeile einfügen und ihnen unterschiedliche Berechtigungen zuweisen. Zum Beispiel:

    
    /media/nfs		192.168.1.112(rw,sync,no_subtree_check) 192.168.1.121(ro,sync,no_subtree_check)
    

    Im zweiten Fall konnte jeder dieser Computer die Freigabe anzeigen und von ihr lesen, aber nur der Computer unter 192.168.1.112 konnte darauf schreiben.



  6. Bearbeiten der Datei /etc/exports mit unseren NFS-Freigaben und -Optionen

  7. Es gibt viele weitere Optionen, aus denen Sie wählen können, um zu konfigurieren, wie der Server Ihre Freigabe für jeden Gast handhabt. Im Folgenden finden Sie eine vollständige Aufschlüsselung der verfügbaren Szenarien, aber die obige Konfiguration reicht für die meisten generischen Szenarien aus.

    ro – gibt an, dass das Verzeichnis nur schreibgeschützt gemountet werden darf
    rw – gewährt sowohl Lese- als auch Schreibberechtigungen für das Verzeichnis
    no_root_squash – ist eine äußerst gefährliche Option, die entfernten Root-Benutzern die gleichen Rechte gewährt wie dem Root-Benutzer des Host-Rechners
    subtree_check – gibt an, dass der Host im Falle eines Verzeichnisses, das exportiert wird, anstelle eines gesamten Dateisystems den Speicherort von Dateien und Verzeichnissen auf dem Host-Dateisystem überprüfen soll
    no_subtree_check – gibt an, dass der Host den Speicherort der Dateien, auf die innerhalb des Host-Dateisystems zugegriffen wird, nicht überprüfen soll
    sync – dies stellt nur sicher, dass der Host alle Änderungen, die in das freigegebene Verzeichnis hochgeladen werden, synchron hält
    – ignoriert Synchronisationsprüfungen zugunsten einer erhöhten Geschwindigkeit

  8. Wenn Sie alles so eingerichtet haben, wie Sie es möchten, speichern und beenden Sie die Datei. Führen Sie dann den Befehl exportfs aus, um Ihre neue Exportkonfiguration zu laden.

    
    sudo exportfs -arv
    exporting 192.168.1.0/24:/media/nfs
    

Der Zugriff auf Ihre Freigabe ist jetzt von den Client-Rechnern aus möglich, die Sie in der Datei /etc/exports konfiguriert haben. Im nächsten Abschnitt finden Sie Anweisungen zum Herstellen einer Verbindung mit der NFS-Freigabe.

Verbindung zum NFS-Server von Client-Rechnern aus herstellen

In diesem Abschnitt des Handbuchs wird gezeigt, wie Sie einen Clientcomputer verwenden, um eine Verbindung mit der NFS-Freigabe herzustellen, die wir im vorherigen Abschnitt konfiguriert haben.

  1. Das erste, was wir tun müssen, ist die entsprechenden NFS-Pakete auf unserem System zu installieren. Verwenden Sie den entsprechenden Befehl unten, um es mit dem Paketmanager Ihres Systems zu installieren.

    Unter Ubuntu, Linux Mint und anderen Debian-basierten Distributionen:

    
    sudo apt install nfs-common
    

    Auf Fedora, CentOS, AlmaLinux und anderen RHEL-basierten Distributionen:

    
    sudo dnf install nfs-utils
    
  2. Wenn das Paket installiert ist, können Sie die NFS-Freigabe(n) mounten. Um es auszuprobieren, wählen Sie ein Verzeichnis aus, in das gemountet werden soll, und führen Sie den mount-Befehl mit Root-Rechten aus, um die Netzwerkfreigabe zu mounten. In diesem Befehl geben wir die IP des NFS-Servers an, die zufällig 192.168.1.110 ist.

    
    sudo mount -t nfs4 192.168.1.110:/media/nfs /media/share
    
  3. Mounten Sie die NFS-Freigabe auf unserem Client-System und überprüfen Sie dann, ob unsere Testdatei angezeigt wird, die auf dem Server erstellt wurde

  4. Unter der Voraussetzung, dass das Mounten erfolgreich war, können Sie auf Ihre freigegebenen Dateien in dem Verzeichnis zugreifen, in dem Sie sie bereitgestellt haben. Für eine dauerhaftere Lösung können Sie die Freigabe zur Datei /etc/fstab Ihres Clients hinzufügen. Die allgemeine Syntax ähnelt stark dem Befehl, den Sie gerade zum Einbinden Ihrer Freigabe verwendet haben. Beginnen Sie mit dem Speicherort der Freigabe in Ihrem Netzwerk. Geben Sie anschließend an, wo die Freigabe bereitgestellt werden soll. Der Dateisystemtyp ist hier nfs4. Die Optionen liegen bei Ihnen, aber die Verwendung der Standardeinstellungen und das Zulassen des Benutzerzugriffs sind bei nicht vertraulichen Freigaben ziemlich üblich. Das Endergebnis sollte ein bisschen wie im folgenden Beispiel aussehen.

    
    192.168.1.110:/media/nfs	/media/share	nfs4	defaults,user,exec	0 0
    

    Wenn Sie nicht sicher sind, ob die Freigabe immer auf dem Client verfügbar sein wird, fügen Sie noauto zur Liste der Optionen hinzu, um zu verhindern, dass Ihr System versucht, sie automatisch zu mounten.

    
    192.168.1.110:/media/nfs	/media/share	nfs4	defaults,user,exec,noauto	0 0
    
  5. Bearbeiten der NFS-Freigabe in die Datei /etc/fstab, sodass sie automatisch gemountet wird

  6. Um die fstab auszuführen, die Sie gerade bearbeitet haben, führen Sie den folgenden mount-Befehl aus.

    
    sudo mount -a
    

    Ihre Freigabe sollte genau an der von Ihnen angegebenen Stelle bereitgestellt werden.

Abschließende Gedanken

Ihr NFS-Server ist jetzt bereit, mit der Bereitstellung von Dateien zu beginnen, und Sie sollten keine Probleme haben, den Rest Ihrer Client-Computer einzurichten. Denken Sie daran, dass NFS nicht viel Sicherheit bietet, so dass Sie andere Methoden benötigen, um den Zugriff auf Ihre Dateien einzuschränken, falls Sie sich dafür entscheiden, etwas Sensibleres freizugeben.

Verwandte Artikel: