GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie den NFS-Server unter CentOS 8 / RHEL 8 ein

Ein Akronym für Network File Share, NFS ist ein plattformübergreifendes Client/Server-Protokoll, das Client-Rechnern den Zugriff auf Dateien ermöglicht, die vom NFS-Server über ein Netzwerk freigegeben werden. Client-Systeme können die Dateisysteme vom NFS-Server lokal einhängen und auf Dateien und Verzeichnisse zugreifen, als ob sie lokal eingehängt wären. In diesem Leitfaden führen wir Sie durch die Installation und Konfiguration von NFS Server auf CentOS 8 / RHEL 8 .

Hinweis: In CentOS 8 oder RHEL 8 NFSv3 &v4 beide werden unterstützt. NFSv3 ermöglicht sicheres asynchrones Schreiben und unterstützt 64-Bit-Dateigrößen und -Offset. Während NFSv4 durch die Betriebssystem-Firewall funktioniert und ACL (Access Control List) unterstützt und keinen rpcbind-Dienst benötigt

NFS-Server/Client-Setup

Bevor wir beginnen, werden wir das folgende Setup verwenden, um zu simulieren, wie das NFS-Protokoll in einem Client/Server-Setup funktioniert.

  • IP des Servercomputers:Adresse:   192.168.2.102         CentOS 8
  • Client-Rechner-IP:Adresse:   192.168.2.103         CentOS 8

Mit unserem Setup beginnen wir mit der Installation von NFS auf dem Server-Rechner.

Schritt 1) ​​NFS auf dem CentOS 8 / RHEL 8-Server installieren und konfigurieren

Zunächst installieren wir das NFS-Serverpaket namens nfs-utils der als NFS-Daemon fungiert. Um das Paket nfs-utils zu installieren, starten Sie das Terminal und führen Sie den folgenden Befehl aus:

$ sudo dnf install nfs-utils -y

Im Beispiel unten ist nfs-utils bereits installiert.

Sobald die Installation abgeschlossen ist, starten und aktivieren Sie den nfs-server-Dienst, damit er automatisch über die Neustarts hinweg ausgeführt wird. Führen Sie die folgenden Befehle aus,

$ sudo systemctl start nfs-server.service
$ sudo systemctl enable nfs-server.service

Führen Sie Folgendes aus, um zu bestätigen, dass der NFS-Dienst ausgeführt wird:

$ sudo systemctl status nfs-server.service

Sie können die Version des nfs-Protokolls überprüfen, das Sie ausführen, indem Sie den folgenden Befehl ausführen:

$ rpcinfo -p | grep nfs

Die Version wird durch die zweite Spalte in der unten dargestellten Ausgabe angezeigt.

Zur weiteren Konfiguration des NFS-Servers finden Sie die Konfigurationsdateien unter /etc/nfs.conf Dabei handelt es sich um die NFS-Daemon-Konfigurationsdatei und die /etc/nfsmount.conf das ist die Konfigurationsdatei für den NFS-Mount.

Schritt 2) NFS-Freigabe erstellen und exportieren

In diesem Schritt erstellen wir ein Dateisystem, das vom Server für die Clientsysteme freigegeben wird. In dieser Anleitung erstellen wir ein Verzeichnis unter /mnt/nfs_share/docs wie unten gezeigt

$ sudo mkdir -p /mnt/nfs_shares/docs

Um Dateibeschränkungen für das NFS-Freigabeverzeichnis zu vermeiden, ist es ratsam, den Verzeichnisbesitz wie gezeigt zu konfigurieren. Dies ermöglicht die Erstellung von Dateien von den Client-Systemen, ohne auf Berechtigungsprobleme zu stoßen.

$ sudo chown -R nobody: /mnt/nfs_shares/docs

Außerdem können Sie die Verzeichnisberechtigungen nach Ihren Wünschen anpassen. In diesem Handbuch werden wir beispielsweise alle Berechtigungen (Lesen, Schreiben und Ausführen) dem NFS-Freigabeordner zuweisen

$ sudo chmod -R 777 /mnt/nfs_shares/docs

Damit die Änderungen wirksam werden, starten Sie den NFS-Daemon neu:

$ sudo systemctl restart nfs-utils.service

Um die NFS-Freigabe zu exportieren, damit Client-Systeme darauf zugreifen können, müssen wir die Datei /etc/exports bearbeiten Datei. Sie können mehreren Clients Zugriff auf die Freigabe gewähren, indem Sie wie gezeigt ein Subnetz angeben

/mnt/nfs_shares/docs   192.168.2.0/24(rw,sync,no_all_squash,root_squash

Außerdem können Sie jeden Client in einer separaten Zeile angeben:

/mnt/nfs_shares/docs  Client-IP(rw,sync,no_all_squash,root_squash)

/mnt/nfs_shares/docs  Client-IP(rw,sync,no_all_squash,root_squash)

Mit unserem Setup gewähren wir Zugriff auf unseren Client-Rechner mit einer IP 192.168.2.103. Fügen Sie in der Datei „/etc/exports die folgende Zeile hinzu ’:

$ sudo vi /etc/exports
/mnt/nfs_shares/docs    192.168.2.103(rw,sync,no_all_squash,root_squash)

Speichern und beenden Sie die Datei. Verwenden Sie den cat-Befehl, um die Eingabe wie gezeigt zu bestätigen

[[email protected]] cat /etc/exports
/mnt/nfs_shares/docs    192.168.2.103(rw,sync,no_all_squash,root_squash)
[[email protected]]

Schauen wir uns die Bedeutung der verwendeten Parameter an:

  • w – Dies steht für Lesen/Schreiben. Es gewährt Lese- und Schreibberechtigungen für die NFS-Freigabe.
  • synchronisieren – Der Parameter erfordert, dass die Änderungen zuerst auf die Festplatte geschrieben werden, bevor eine andere Operation ausgeführt werden kann.
  • no_all_squash – Dadurch werden alle UIDs und GIDs von den Client-Anfragen identischen UIDS und GIDs zugeordnet, die sich auf dem NFS-Server befinden.
  • root_squash – Das Attribut ordnet Anfragen des Root-Benutzers auf der Client-Seite einer anonymen UID / GID zu.

Um den oben erstellten Ordner zu exportieren, verwenden Sie den exportfs-Befehl wie gezeigt:

$ sudo exportfs -arv

Das -a Option impliziert, dass alle Verzeichnisse exportiert werden, -r steht für das erneute Exportieren aller Verzeichnisse und schließlich -v Flag zeigt eine ausführliche Ausgabe an.

Nur um absolut sicher zu sein, was die Exportliste betrifft, können Sie die Exportliste mit dem Befehl anzeigen:

$ sudo exportfs -s

Perfekt! Unsere Exportliste existiert. So weit, ist es gut. Die einzige verbleibende Konfiguration auf dem NFS-Server besteht darin, NFS-Dienste auf der Firewall zuzulassen.

Schritt 3) Konfiguration der Firewall-Regeln für den NFS-Server

Der letzte Schritt bei der Konfiguration des Servers besteht darin, NFS-Dienste durch die Firewall auf dem CentOS 8-Servercomputer zuzulassen. Diese Dienste sind nfs, rpc-bind und mountd . Führen Sie also die folgenden Befehle aus.

$ sudo firewall-cmd --permanent --add-service=nfs
$ sudo firewall-cmd --permanent --add-service=rpc-bind
$ sudo firewall-cmd --permanent --add-service=mountd

Laden Sie anschließend die Firewall neu, damit die Änderungen wirksam werden

$ sudo firewall-cmd --reload

Gehen wir jetzt zum Client-System und richten es für den Zugriff auf die NFS-Freigaben ein.

Einrichten des NFS-Client-Systems

Um das Clientsystem für den Zugriff auf die NFS-Dateifreigaben zu konfigurieren, gehen Sie wie folgt vor

Schritt 1) ​​Installieren Sie die erforderlichen NFS-Pakete

Installieren Sie auf dem CentOS 8-Clientsystem die erforderlichen Pakete für den Zugriff auf die NFS-Freigabe, die sich auf dem NFS-Server befindet

$ sudo dnf install nfs-utils nfs4-acl-tools -y

Für Debian- oder Ubuntu-Systeme:

$ sudo apt install nfs-common nfs4-acl-tools -y

Um die gemounteten NFS-Freigaben auf dem Server anzuzeigen, verwenden Sie showmount Befehl:

$ showmount -e 192.168.2.102

Schritt 2) Mounten der Remote-NFS-Freigabe auf dem Server

Als nächstes müssen wir das Remote-NFS-Freigabeverzeichnis einhängen, das sich auf dem lokalen Clientsystem befindet. Aber zuerst erstellen wir ein Verzeichnis, um die NFS-Freigabe zu mounten.

$ sudo mkdir p /mnt/client_share

Um die NFS-Freigabe zu mounten, führen Sie den folgenden Befehl aus. Denken Sie daran, dass 192.168.2.102 die IP-Adresse des NFS-Servers ist.

$ sudo mount -t nfs 192.168.2.102:/mnt/nfs_shares/docs /mnt/client_share

Sie können überprüfen, ob die Remote-NFS-Freigabe gemountet wurde, indem Sie Folgendes ausführen:

$ sudo mount | grep -i nfs

Um die Mount-Freigabe bei einem Neustart dauerhaft zu machen, müssen Sie die Datei /etc/fstab bearbeiten Datei und fügen Sie den Eintrag unten an.

192.168.2.102:/mnt/nfs_shares/docs  /mnt/client_share  nfs  defaults  0  0

Speichern und schließen Sie die Datei.

Testen der Einrichtung von NFS-Server und -Client

An diesem Punkt sind wir mit allen Konfigurationen fertig. Wir müssen jedoch unser Setup testen und sicherstellen, dass alles funktioniert. Also erstellen wir zuerst eine Testdatei im Share-Verzeichnis des NFS-Servers und prüfen, ob sie im gemounteten NFS-Verzeichnis des Clients vorhanden ist.

$ sudo touch /mnt/nfs_shares/docs/server_nfs_file.txt

Gehen Sie jetzt zum Client-System und prüfen Sie, ob die Datei auf der Client-Seite existiert.

$ ls -l /mnt/client_share/

Toll! Aus der Ausgabe können wir deutlich erkennen, dass die Datei existiert. Machen wir jetzt das Gegenteil. Wir werden eine Datei auf dem NFS-Client-System erstellen und prüfen, ob vom NFS-Server aus darauf zugegriffen werden kann.

Erstellen Sie auf dem Client die Datei wie gezeigt:

$ sudo touch /mnt/client_share/client_nfs_file.txt

Gehen Sie jetzt zurück zum Server und prüfen Sie, ob die Datei im NFS-Freigabeverzeichnis vorhanden ist

$ ls -l /mnt/nfs_shares/docs

Fantastisch! Wir können die Datei anzeigen und darauf zugreifen.

Wie Sie sehen, können Sie problemlos Dateien sowohl auf dem NFS-Server als auch auf dem NFS-Client erstellen und sie nahtlos zwischen den beiden Systemen sowie anderen Client-Systemen freigeben, die für den Zugriff auf die Freigaben konfiguriert wurden. Und damit sind wir heute am Ende unseres Tutorials angelangt. In diesem Handbuch haben wir Ihnen gezeigt, wie Sie den NFS-Server und das Client-System-Setup auf CentOS 8 und RHEL 8 installieren und einrichten.


Cent OS
  1. SysLog-Server auf CentOS 6 / RHEL 6 einrichten

  2. So richten Sie einen SysLog-Server unter CentOS 7 / RHEL 7 ein

  3. So richten Sie den NFS-Server unter CentOS 7 / RHEL 7 ein

  4. So richten Sie den SVN-Server unter CentOS, RHEL und Fedora ein

  5. So richten Sie einen Squid-Proxyserver unter CentOS/RHEL 7 ein

So richten Sie Jenkins unter CentOS 8 / RHEL 8 ein

So richten Sie einen SVN-Server unter CentOS ein

So richten Sie Icinga Web 2 unter CentOS 8 / RHEL 8 ein

So installieren Sie Zabbix Server 4.x unter CentOS 6 / RHEL 6

So richten Sie einen zentralisierten SysLog-Server unter CentOS 8 / RHEL 8 ein

So richten Sie HAProxy unter CentOS 8 ein