GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

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

Ubuntu 20.04 unterstützt die NFS-Versionen 3 (NFSv3) und 4 (NFSv4). Die Standard-NFS-Version ist 4.2, die Unterstützung für Zugriffssteuerungslisten (ACLs), serverseitiges Kopieren, Sparse-Dateien, Speicherplatzreservierung, beschriftetes NFS, Layoutverbesserungen und vieles mehr bietet.

In diesem Handbuch erfahren Sie, wie Sie den NFS-Server und den NFS-Client unter Ubuntu 20.04 installieren und konfigurieren.

Verwandte Beiträge:

  • Einrichten von NFS-Server und -Client auf Rocky/Alma Linux 8
  • So installieren und konfigurieren Sie die Samba-Dateifreigabe unter Ubuntu 20.04

Voraussetzungen

  • Aktualisierter Ubuntu 20.04 Server zur Verwendung als Server und ein weiterer für den Client
  • Konnektivität von den Servern
  • Sudo-Zugriff von den Servern

Inhaltsverzeichnis

  1. Stellen Sie sicher, dass der Server aktualisiert ist
  2. Installieren Sie die NFS-Pakete
  3. Starten und Aktivieren des NFS-Servers
  4. Aktivieren des NFS-Dienstes in der Firewall
  5. Konfigurieren von Exporten auf NFS-Server
  6. Einrichten von NFS-Client-Systemen

1. Sicherstellen, dass der Server auf dem neuesten Stand ist

Bevor Sie fortfahren, stellen Sie sicher, dass der Server auf dem neuesten Stand ist. Verwenden Sie diesen Befehl, um dies zu erreichen:

sudo apt update
sudo apt upgrade -y

2. Installieren Sie die NFS-Pakete

Das Paket nfs-kernel-server bietet NFS-Dienste für Ubuntu. Das NFS-Serverpaket bietet Unterstützung für den Benutzerbereich, die zum Ausführen des NFS-Kernelservers erforderlich ist. Um das Paket zu installieren, führen Sie Folgendes aus:

sudo apt install -y nfs-kernel-server

Unter Ubuntu 20.04 ist NFS Version 2 deaktiviert. Die Versionen 3 und 4 sind aktiviert. Überprüfen Sie die installierte Version mit diesem Befehl:

$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

3. NFS-Server starten und aktivieren

Sobald die NFS-Pakete erfolgreich installiert wurden, wird der NFS-Server gestartet. Bestätigen Sie den Status des Dienstes mit diesem Befehl:

$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
     Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2022-01-17 19:24:54 UTC; 1min 40s ago
   Main PID: 20614 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 4624)
     Memory: 0B
     CGroup: /system.slice/nfs-server.service

Jan 17 19:24:52 dev-ubuntusrv.inv.re systemd[1]: Starting NFS server and services...
Jan 17 19:24:54 dev-ubuntusrv.inv.re systemd[1]: Finished NFS server and services.

Die obige Ausgabe zeigt, dass der Dienst erfolgreich gestartet wurde. Um den Dienst beim Systemstart starten zu lassen, verwenden Sie diesen Befehl:

sudo systemctl enable nfs-server

Bitte beachten Sie, dass die anderen Dienste, die für den Betrieb eines NFS-Servers oder das Mounten von NFS-Freigaben erforderlich sind, wie nfsdnfs-idmapdrpcbindrpc.mountdlockdrpc.statdrpc.rquotad und rpc.idmapd wird automatisch gestartet.

4. Aktivieren des NFS-Dienstes in der Firewall

Wenn Sie den NFS-Server auf einem Remote-Ubuntu-Server installieren, der durch eine Firewall geschützt ist, müssen Sie den Datenverkehr auf dem NFS-Port aktivieren:

sudo ufw allow nfs

Überprüfen Sie die Änderung:

sudo ufw status

5. Exporte auf NFS-Server konfigurieren

Die NFS-Serverkonfiguration wird in /etc/default/nfs-kernel-server definiert und /etc/default/nfs-common Dateien. Die Standardeinstellungen sind für die meisten Situationen ausreichend.

Lassen Sie uns Dateisysteme zum Exportieren oder Freigeben auf dem NFS-Server erstellen. Wir werden zwei Dateisysteme zum Starren erstellen, /mnt/nfs_shares/files für freigegebene Dateien und /mnt/nfs_shares/backup für Sicherungen.

Lassen Sie uns die Verzeichnisse auf dem Server erstellen

sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup

Bestätigen

$ sudo ls /mnt/nfs_shares
backup	files

Fügen Sie dann die obigen Dateisysteme in der Exportdatei /etc/exports hinzu im NFS-Server, um die lokalen Dateisysteme zu bestimmen, die an die NFS-Clients exportiert werden.

Öffnen Sie die Exportdatei mit Ihrem Texteditor

sudo vim /etc/exports

Fügen Sie dann diesen Inhalt hinzu:

/mnt/nfs_shares/files  	10.70.5.170(rw,sync)
/mnt/nfs_shares/backup  10.70.5.0/24(rw,sync,no_all_squash,root_squash)

Dies sind die Exportoptionen, die verwendet werden können:

  • w – erlaubt sowohl lesenden als auch schreibenden Zugriff auf das Dateisystem.
  • synchronisieren – weist den NFS-Server an, Operationen zu schreiben (Informationen auf die Festplatte zu schreiben), wenn dies angefordert wird (gilt standardmäßig).
  • all_squash – ordnet alle UIDs und GIDs von Client-Anfragen dem anonymen Benutzer zu.
  • no_all_squash – verwendet, um alle UIDs und GIDs von Client-Anfragen auf identische UIDs und GIDs auf dem NFS-Server abzubilden.
  • root_squash – ordnet Anfragen vom Root-Benutzer oder UID/GID 0 vom Client der anonymen UID/GID zu.

Sobald die Dateisysteme in der Exportdatei definiert sind, müssen wir die exportfs ausführen Befehl, damit sie exportiert werden. Die exportfs können mit dem -a ausgeführt werden Flag bedeutet Exportieren oder Exportieren aller Verzeichnisse, -r d. h. alle Verzeichnisse erneut exportieren und /var/lib/nfs/etab synchronisieren mit /etc/exports und Dateien unter /etc/exports.d , und -v aktiviert die ausführliche Ausgabe.

sudo exportfs -arv

Dies ist die Ausgabe auf meinem Server

$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup

Führen Sie den folgenden Befehl aus, um die aktuelle Exportliste anzuzeigen. Bitte beachten Sie, dass die exportfs-Tabelle auch einige Standardoptionen anwendet, die nicht explizit definiert sind:

$ sudo exportfs  -s
/mnt/nfs_shares/files  10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup  10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

6. Einrichten von NFS-Client-Systemen

Nachdem wir die Exporte auf dem Server konfiguriert haben, können wir vom Clientsystem aus darauf zugreifen. Melden Sie sich beim Client-System an und installieren Sie die erforderlichen Pakete, um den Zugriff auf NFS-Freigaben zu ermöglichen.

Auf RHEL-basierten Systemen:

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

Auf Debian/Ubuntu-basierten Distributionen:

sudo apt install nfs-common nfs4-acl-tools

Wir können dann den Befehl showmount ausführen, um Mount-Informationen für den NFS-Server anzuzeigen. Der Befehl gibt exportierte Dateisysteme auf dem Server aus

showmount -e 10.70.5.221

Ausgabe

$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files  10.70.5.170

Erstellen Sie ein lokales Dateisystemverzeichnis zum Mounten der entfernten NFS-Dateisysteme und hängen Sie es als NFS-Dateisystem ein

mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/files ~/nfs_files

Wir können dann bestätigen, dass das Remote-Dateisystem gemountet wurde, indem wir mount ausführen Befehl und Filter nfs Halterungen.

sudo mount | grep nfs

Ausgabe auf meinem Rechner

$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/ubuntu/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/ubuntu/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)

Damit die Einbindung auch nach einem Systemneustart dauerhaft bleibt, fügen Sie die Einträge zu /etc/fstab hinzu Datei. Verwenden Sie diese Befehle (als root), um dies zu erreichen:

echo "10.70.5.221:/mnt/nfs_shares/backup     /home/ubuntu/backups  nfs     defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files     /home/ubuntu/nfs_files  nfs     defaults 0 0" >> /etc/fstab

Testen Sie abschließend, ob NFS Setup funktioniert einwandfrei, indem Sie eine Datei auf dem Server erstellen und prüfen, ob die Datei im Client angezeigt wird.

Auf dem Server:

sudo touch /mnt/nfs_shares/files/file_on_server.txt

Dann auf dem Client-Rechner bestätigen

$ ls ~/nfs_files/
file_on_server.txt

Sie können auch umgekehrt vorgehen. Auf dem Client:

touch ~/nfs_files/file_on_client.txt

Dann auf dem Server bestätigen:

$ ls /mnt/nfs_shares/files/
file_on_client.txt  file_on_server.txt

Um das entfernte Dateisystem auf der Client-Seite zu unmounten.

sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup

Bitte beachten Sie, dass Sie nicht unmount können das entfernte Dateisystem, wenn Sie darin arbeiten.

Schlussfolgerung

In dieser Anleitung haben wir es geschafft, einen NFS-Server und -Client auf Ubuntu 20.04 zu installieren und zu konfigurieren.


Ubuntu
  1. So installieren und konfigurieren Sie einen NFS-Server unter Ubuntu 20.04

  2. So konfigurieren Sie einen NFS-Server und mounten NFS-Freigaben unter Ubuntu 14.10

  3. So installieren Sie NFS-Client und -Server unter Ubuntu 20.04

  4. Installieren Sie UrBackup Server und Client auf Ubuntu 20.04 – wie geht das?

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

So installieren Sie Telnet-Server und -Client unter Ubuntu

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

Installieren Sie NFS-Server und -Client auf Ubuntu

So installieren Sie NTP-Server und Client(s) unter Ubuntu 20.04 LTS

So richten Sie Quad 9 DNS auf Ubuntu 16.04 und Ubuntu 17.10 Desktop ein

So richten Sie NFS-Server und -Client unter CentOS 8 ein