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

So konfigurieren Sie NFS-Client und -Server unter Linux

NFS wurde von Sun Microsystems entwickelt, um Dateien und Verzeichnisse zwischen ihren Systemen gemeinsam zu nutzen. NFS ermöglicht es den Systemen in einem Netzwerk, Dateien über das TCP/IP-Netzwerk gemeinsam zu nutzen. Es wird in der Client-Server-Weise betrieben, wobei das System mit dem gemeinsam genutzten Verzeichnis als Server bekannt ist, während das System, das auf das gemeinsam genutzte Verzeichnis zugreift, als Client bekannt ist. Der Client kann das Share-Verzeichnis per NFS-Server auf seinem eigenen System mounten, das als lokale Festplattenpartition angezeigt wird. Ein Client kann dann Dateien auf dem entfernten NFS-Server basierend auf den vom NFS-Server zugewiesenen Berechtigungen lesen/schreiben. Einige der Features von NFS sind wie folgt:

  • Benutzer können lokal auf entfernte Dateien zugreifen
  • Es ist nicht erforderlich, dass beide Computer dasselbe Betriebssystem haben
  • Es bietet eine zentralisierte Speicherlösung
  • Benutzer können ihre Daten an einem zentralen Ort speichern, wodurch lokaler Speicherplatz eingespart werden kann.

In diesem Beitrag zeigen wir Ihnen, wie Sie den NFS-Server und -Client installieren, Freigaben exportieren und die NFS-Freigabe auf dem Client mounten/unmounten.

Hinweis:

Für die Demonstration verwenden wir die beiden Maschinen mit den folgenden Details:

NFS-Host (Debian 10)

  • Hostname:nfs
  • IP:192.168.72.158

NFS-Client (Debian 10)

  • Hostname:Kunde
  • IP:192.168.72.159

Hinweis:Die hier erwähnten Schritte wurden auf Debian 10 (Buster-System) getestet.

Installation und Konfiguration des NFS-Servers

Im folgenden Abschnitt installieren wir zunächst den NFS-Server auf unserem Host-Rechner. Dann richten wir zwei Freigabeverzeichnisse ein, die /var/nfs-public sind und /var/nfs-docs für die gemeinsame Nutzung mit Client-Rechnern. Fangen wir an.

Schritt 1:Installieren Sie den NFS-Server auf dem Hostcomputer

Damit ein System als NFS-Server eingerichtet werden kann, müssen Sie nfs-kernel-server installieren Paket drauf. Aktualisieren Sie auf dem NFS-Hostcomputer zuerst den Index des lokalen Repositorys mit dem folgenden Befehl im Terminal:

$ sudo apt update

Installieren Sie dann nfs-kernel-server mit dem folgenden Befehl:

$ sudo apt install nfs-kernel-server

Jetzt erhalten Sie möglicherweise j/n Option zum Fortsetzen der Installation. Drücken Sie y um fortzufahren, woraufhin das System mit der Installation des nfs-kernel-server beginnt .

Einmal der nfs-kernel-server installiert ist, können Sie die Installation mit dem folgenden Befehl im Terminal überprüfen:

$ dpkg -l | grep nfs-kernel-server

Schritt 2:Erstellen Sie ein gemeinsames Verzeichnis auf dem Host

Erstellen Sie nun ein Verzeichnis auf dem Host, das Sie für die gemeinsame Nutzung mit den Clients festlegen möchten. Wir haben zwei Verzeichnisse /var/nfs erstellt –Dokumente und /var/nfs-public mit unterschiedlichen Konfigurationseinstellungen.

$ sudo mkdir -p /var/nfs-docs
$ sudo mkdir -p /var/nfs-public

Für /var/nfs-public -Verzeichnis ändern wir seine Eigentümerschaft auf nobody:nogroup mit dem folgenden Befehl:

$ sudo chown niemand:nogroup /var/nfs-public

Verwenden Sie den folgenden Befehl, um zu überprüfen, ob sich der Besitz geändert hat:

$ ls -la /var/nfs-public

Für die /var/nfs-docs , werden wir die Inhaberschaft nicht ändern.

Schritt 3:Exportieren Sie die Freigaben

Jetzt konfigurieren wir die Exportdatei des NFS-Servers für die gemeinsame Nutzung der Ressourcen. Die NFS-Exportdatei ist /etc/exports die wie folgt bearbeitet werden kann:

$ sudo nano /etc/exports

In dieser Datei geben wir nun die Verzeichnisse an, die wir freigeben möchten, und den Client, der darauf zugreifen kann. Sie können Einträge in der NFS-Exportdatei mit der folgenden Syntax hinzufügen:

Verzeichnis host1(Optionen) host2(Optionen)...hostN(Optionen)...

Wo

  • Verzeichnis ist das Verzeichnis, das Sie mit den Clients teilen möchten.
  • Host ist die IP-Adresse/Subnetzadresse des Clients/Subnetzes, mit dem Sie teilen möchten. Um die IP-Adresse Ihres Client-Rechners zu finden, können Sie unsere Anleitung zum Finden Ihrer IP-Adresse besuchen .
  • Optionen sind einige der Konfigurationsoptionen, die angeben, wie die Ressourcen geteilt werden sollen.

Für unsere beiden Verzeichnisse /var/nfs-docs und /var/nfs-public haben wir die folgenden Einträge in /etc/exports hinzugefügt Datei:

/var/nfs-public 192.168.72.159(rw,sync,no_subtree_check)/var/nfs-docs 192.168.72.159(rw,sync, no_root_squash,no_subtree_check)


In der obigen Konfigurationsdatei weisen beide Einträge den NFS-Server an, /var/nfs-public gemeinsam zu nutzen und /var/nfs-docs Verzeichnisse mit dem NFS-Client192.168.72.159 mit rw (Lese- und Schreibberechtigung). Im zweiten Eintrag haben wir den no_root_squash hinzugefügt Dadurch erhält der Client auch Root-Berechtigungen auf dem NFS-Server. Wenn Sie mit den Exportkonfigurationen fertig sind, speichern und schließen Sie die Datei /etc/exports Datei.

Um die Freigaben jetzt zu exportieren, müssen Sie den NFS-Server neu starten. Hier ist der Befehl dazu:

$ sudo systemctl nfs-kernel-server neu starten

Jedes Mal, wenn Sie Änderungen an der Datei /etc/exports vornehmen müssen Sie den Dienst neu starten, um die Konfigurationsänderungen zu übernehmen.

Alternativ können Sie diesen Befehl verwenden, um die Freigaben zu exportieren:

$ sudo exportfs -a

Um zu überprüfen, ob der NFS-Server ohne Probleme läuft, überprüfen Sie seinen Status mit dem folgenden Befehl im Terminal:

$ sudo systemctl status nfs-kernel-server

Schritt 4:Firewall auf dem NFS-Server einrichten

Wenn auf dem NFS-Server eine Firewall aktiviert ist, müssen Sie sie so konfigurieren, dass Clients eine Verbindung zum NFS-Port 2049 herstellen können . Um zu überprüfen, ob die Firewall auf dem NFS-Server aktiviert ist, geben Sie den folgenden Befehl im Terminal ein:

$ sudo ufw-Status

In der folgenden Ausgabe sehen Sie active Status, der anzeigt, dass die Firewall aktiviert ist.

Lassen Sie jetzt Clients den NFS-Port 2049 zu , müssen Sie eine Regel in der Firewall hinzufügen. Geben Sie dazu den folgenden Befehl im Terminal ein:

$ sudo ufw allow from client_ip/subnet_ID to any port nfs

Zum Beispiel, um das gesamte Subnetz 192.168.72.0/24 zuzulassen Zugriff auf NF-Port 2049 , wäre der Befehl:

$ sudo ufw allow von 192.168.72.0/24 zu jedem Port nfs

Überprüfen Sie dann, ob die Regel erfolgreich hinzugefügt wurde, den Status der Firewall:

$ sudo ufw-Status

Der hervorgehobene Eintrag in der folgenden Ausgabe zeigt die Verbindung von 192.168.72.0/24 ist erlaubt an Port 2049 .

Jetzt haben wir die Konfigurationen auf dem NFS-Server abgeschlossen. Kommen wir zur Installation und Konfiguration des NFS-Clients.

Installieren und Konfigurieren des NFS-Clients

Im folgenden Abschnitt installieren wir zunächst den NFS-Client auf unserem Client-Rechner. Dann richten wir zwei Einhängepunkte ein, die /media/public sind und /media/docs zum Mounten der Remote-NFS-Freigaben /var/nfs-public und /var/nfs-docs . Fangen wir an.

Schritt 1:Installieren Sie das NFS-Client-Paket auf dem Client-Rechner

Damit ein System als NFS-Client eingerichtet werden kann, müssen Sie nfs-common installieren Paket drauf. Aktualisieren Sie auf dem NFS-Client-Rechner zuerst den lokalen Repository-Index mit dem folgenden Befehl im Terminal:

$ sudo apt update

Installieren Sie dann nfs-common mit dem folgenden Befehl:

$ sudo apt install nfs-common

Jetzt erhalten Sie möglicherweise j/n Option zum Fortsetzen der Installation. Drücken Sie y um fortzufahren, woraufhin das System mit der Installation von nfs-common beginnt Paket.

Schritt 2:Bereitstellungspunkte erstellen

Auf dem Clientsystem müssen Sie einen Einhängepunkt erstellen, um die Freigaben einzuhängen, die sich auf dem NFS-Server befinden. Auf unserem Client haben wir die beiden Verzeichnisse unter /media erstellt für unsere Einhängepunkte:

$ sudo mkdir -p /media/docs$ sudo mkdir -p /media/public

Schritt 3:NFS-Freigaben manuell auf dem Client mounten

Jetzt mounten wir die NFS-Freigaben an den Mount-Punkten, die wir im vorherigen Schritt erstellt haben. Hier ist die Syntax dafür:

$ sudo mount NFS_server_IP:NFS_share client_mountpoint

Wo:

NFS_server_IP ist die IP-Adresse des NFS-Servers

NFS_share ist die Freigabe, die sich auf dem NFS-Server befindet

client_mountpoint ist der Einhängepunkt, an dem Sie die Freigabe einhängen möchten.

Von unserem NFS-Server haben wir zwei freigegebene Verzeichnisse exportiert, die :/var/nfs-docs waren und /var/nfs-public . Auf unserem Client-Rechner werden wir eine Freigabe /var/nfs-docs mounten zu einem Einhängepunkt /media/docs während der andere /var/nfs-public teilt auf dem zweiten Einhängepunkt /media/public .

Wir haben die folgenden Befehle verwendet, um die NFS-Freigaben auf dem NFS-Client bereitzustellen.

$ sudo mount 192.168.72.158:/var/nfs-docs /media/docs$ sudo mount 192.168.72.158:/var/nfs-public /media/public

Um nun zu überprüfen, ob die freigegebenen NFS-Verzeichnisse erfolgreich gemountet wurden, geben Sie den Befehl „df –h“ in Terminal:

ein
$ df -h

Hier ist die Ausgabe des Befehls „df -h“, die unten zwei NFS-Freigaben zeigt.

Da wir die Freigaben auf /media gemountet haben Verzeichnis, können Sie auch über den Dateimanager auf die gemounteten Verzeichnisse zugreifen.

Schritt 4:Automatisches Mounten der NFS-Freigaben auf dem Client beim Booten

Bei jedem Neustart des Client-Systems müssen Sie die NFS-Freigabe manuell mit dem Befehl mount einhängen. Dies ist für eine einmalige oder gelegentliche Verwendung in Ordnung. Wenn Sie jedoch ständigen Zugriff auf die NFS-Freigaben wünschen, müssen Sie die Einbindung mithilfe von /etc/fstab dauerhaft machen Datei.

Bearbeiten Sie die /etc/fstab Datei:

$ sudo nano /etc/fstab

Fügen Sie nun Einträge für Ihre NFS-Freigabe hinzu, die Sie automatisch einhängen möchten:

192.168.72.158:/var/nfs-docs /media/docs nfs rw,sync,hard,intr 0 0192.168.72.158:/nfs-public /media/public nfs rw,sync,hard,intr 0 0 

Speichern und schließen Sie dann die /etc/fstab Datei.

Wenn Sie das System das nächste Mal neu starten, wird der Client die NFS-Freigaben automatisch einhängen.

NFS-Zugriff testen

Jetzt testen wir den Zugriff auf freigegebene NFS-Verzeichnisse, indem wir in jedem Verzeichnis eine neue Datei erstellen.

Erstellen Sie zuerst auf dem Client-Rechner einen test1 Datei als sudo im lokalen Einhängepunkt /media/public :

$ sudo touch /media/public/test1

Prüfen Sie nun den Besitz der neuen Datei:

$ ls -l /media/public/test1

Sie werden sehen, dass der Eigentümer der Datei niemand ist user und nogroup Gruppe. Obwohl wir die Datei als sudo auf dem Client-Rechner erstellt haben, hat der NFS-Server sie in den Besitz des Hosts nobody:nogroup übersetzt . Dies bedeutet, dass ein Root-Benutzer auf dem Client die Verwaltungsaufgabe für das freigegebene Verzeichnis des Servers nicht ausführen kann.

Erstellen Sie nun einen test1 Datei als sudo im zweiten lokalen Einhängepunkt /media/docs :

$ sudo touch /media/docs/test1

Wenn wir den Besitz dieser Datei überprüfen, sehen Sie, dass sie dem Root-Benutzer und der Root-Gruppe gehört. Das liegt daran, dass wir no_root_squash gesetzt haben Option, die es dem Root-Benutzer auf dem Client-Rechner ermöglicht, als Root im Verzeichnis des Servers zu fungieren und administrative Aufgaben auszuführen.

Überprüfen Sie nun auf dem NFS-Server, ob Sie beide Dateien anzeigen können.

Unmounten der NFS-Freigabe vom Client-Rechner

Wenn Sie die NFS-Freigabe nicht mehr benötigen, können Sie sie vom Clientsystem aushängen. Geben Sie zum Unmounten der NFS-Freigaben umount gefolgt vom Namen des Verzeichnisses ein, in dem die NFS-Freigabe gemountet ist.

$ umount /media/docs$ umount /media/public

So können Sie NFS-Server und -Client im Debian 10-System einrichten. In diesem Artikel haben wir behandelt, wie Sie den NFS-Server und -Client installieren, freigegebene NFS-Verzeichnisse konfigurieren und die NFS-Freigaben auf dem Clientsystem bereitstellen/entladen. Vielleicht möchten Sie unseren Beitrag zum Konfigurieren von NFS-Server und -Client unter Linux Mint 20 besuchen.


Debian
  1. So richten Sie NTP-Server und -Client unter Debian 9 Stretch Linux ein

  2. Einrichten eines NFS-Servers und -Clients unter Scientific Linux 6.3

  3. So richten Sie NFS-Server und -Client unter Rocky/Alma Linux 8 ein

  4. So richten Sie NFS-Server und -Client unter Ubuntu 20.04 ein

  5. So installieren und konfigurieren Sie Linux NTP-Server und -Client

So installieren und konfigurieren Sie den DHCP-Server unter Linux

So konfigurieren Sie NTP-Server und -Client unter Debian 10

So richten Sie NFS-Server und -Client unter Debian 10 ein

So installieren und konfigurieren Sie einen NFS-Server auf einem Linux-System

So installieren und konfigurieren Sie einen Linux Ubuntu NFS-Server

So installieren und konfigurieren Sie den DNS-Server unter Linux