NFS steht für Network File System, ein Dienst, der Ihnen hilft, Dateien und Ordner zwischen *nix / Linux-Systemen auszutauschen, der 1990 von SUN Microsystems entwickelt wurde.
Mit NFS können Sie eine Remote-Freigabe wie eine lokale Festplatte mounten. Dieser Beitrag hilft Ihnen beim Einrichten des NFS-Servers auf Debian 9 / Ubuntu 16.04 .
Umgebung
Diese Anleitung sollte auch auf älteren Debian-Versionen wie Debian 8 funktionieren und Ubuntu Versionen wie Ubuntu 17.10 / 17.04 / 15.10 / 15.04 / Ubuntu 14.04 .
Hier sind meine Knotendetails.
Hostname des NFS-Servers:server.itzgeek.local
IP-Adresse des NFS-Servers:192.168.1.10 /24
Hostname des NFS-Clients:client.itzgeek.local
NFS-Client-IP-Adresse:192.168.1.20/24
Verwenden Sie sowohl auf dem NFS-Server als auch auf dem Client eine statische IP-Adresse um Netzwerkprobleme aufgrund der Nichtverfügbarkeit des DHCP-Servers zu vermeiden .
Wichtige Dienste
rpcbind :Der rpcbind ist ein Server, der RPC-Programmnummern in universelle Adressen umwandelt.
ns :Ermöglicht den Clients den Zugriff auf NFS-Freigaben.
nlockmgr :Die NFS-Dateisperrung implementiert die Wiederherstellung der Dateisperre, wenn ein NFS-Server abstürzt und neu startet.
mountd :Verarbeitet die Zugriffskontrollliste, um festzustellen, ob der Client auf eine NFS-Freigabe zugreifen darf.
Wichtige Konfigurationsdateien
Sie werden an den folgenden Konfigurationsdateien arbeiten, wenn Sie NFS-Server und -Clients einrichten.
/etc/exports :Die Hauptkonfigurationsdatei. In dieser Datei erwähnen Sie das Dateisystem, das Sie auf entfernte Hosts exportieren möchten, mit bestimmten Optionen.
/etc/fstab :Diese Datei enthält Einträge zum automatischen Mounten aller Dateisysteme einschließlich NFS beim Systemstart.
/etc/hosts.allow , und /etc/hosts.deny :Diese Dateien werden als TCP-Wrapper bezeichnet und von NFS verwendet, um zu entscheiden, ob eingehende Verbindungen von externen IP-Adressen akzeptiert werden oder nicht
Installieren und konfigurieren Sie den NFS-Server
Wechseln Sie zum Root-Benutzer.
sudo su -
ODER
su -
Installieren Sie NFS-Pakete auf dem NFS-Server mit dem folgenden Befehl.
apt-get install -y nfs-kernel-server
NFS-Freigabe erstellen
Lassen Sie uns ein Verzeichnis erstellen, das wir mit Client-Computern teilen möchten. Hier erstellen wir ein neues Verzeichnis namens nfsshare in / partitionieren und über NFS freigeben.
Sie können auch Ihr vorhandenes Verzeichnis für NFS verwenden.
mkdir /nfsshare
Erlauben Sie Client-Rechnern, das erstellte Verzeichnis zu lesen und zu schreiben.
chmod 777 /nfsshare/
NFS-Freigabe exportieren
Ändern Sie /etc/exports Dateien zum Exportieren von NFS-Freigaben.
vi /etc/exports
Machen Sie einen Eintrag des Verzeichnisses /nfsshare als NFS-Freigabe exportieren.
/nfsshare 192.168.1.20(rw,sync,no_root_squash,no_subtree_check)
Wo,
/nfsshare :Ein gemeinsames Verzeichnis
192.168.1.20 :IP-Adresse des Client-Rechners. Sie können den Hostnamen anstelle einer IP-Adresse verwenden. Außerdem können Sie Subnetze wie 192.168.1.0/24 erwähnen, falls Sie es für mehrere Computer freigeben möchten.
rw :Schreibberechtigung für einen freigegebenen Ordner
synchronisieren :Alle Änderungen am Dateisystem werden sofort auf die Festplatte geschrieben; auf die jeweiligen Schreiboperationen wird gewartet.
no_root_squash :Standardmäßig wird jede vom Benutzer root auf dem Client-Rechner erstellte Datei auf dem Server als „niemand“ behandelt. Wenn no_root_squash gesetzt ist, hat root auf dem Client-Rechner dieselbe Zugriffsebene auf Dateien wie root auf dem Server.
no_subtree_check :Wenn nur ein Teil eines Datenträgers exportiert wird, überprüft eine Routine namens Subtree Checking, ob sich eine vom Client angeforderte Datei im richtigen Teil des Datenträgers befindet. Wenn das gesamte Volume exportiert wird, deaktivieren Sie es mit no_subtree_check; Dies beschleunigt die Übertragung.
Sie können alle Optionen auf der Manpage (man exports) oder hier kennenlernen.
Verwenden Sie den folgenden Befehl, um die freigegebenen Verzeichnisse zu exportieren.
exportfs -ra
Überprüfen Sie die exportierte Freigabe mit dem folgenden Befehl.
showmount -e 127.0.0.1
Der Befehl showmount -e listet die verfügbaren Freigaben auf Ihrem lokalen Rechner (NFS-Server) auf. Der Ausgang
Ausgabe:
Export list for 127.0.0.1: /nfsshare 192.168.1.20
NFS-Client konfigurieren
Wir müssen das Paket nfs-common auf dem Client-Rechner installieren, um ein entferntes Dateisystem zu mounten.
Stellen Sie sicher, dass Sie laufen Befehle als Root-Benutzer.
apt-get -y install nfs-common
NFS-Freigaben auf dem Client mounten
Führen Sie vor dem Mounten der NFS-Freigabe den Befehl showmount auf dem Client-Rechner aus, um zu sehen, ob die NFS-Freigabe vom Server sichtbar ist oder nicht.
showmount -e 192.168.1.10
Ausgabe:
Export list for 192.168.1.10: /nfsshare 192.168.1.20
Gemäß dem Befehl ist /nfshare auf 192.168.1.10 (Server) für 192.168.1.20 (Client) verfügbar .
showmount -e
Erstellen Sie ein Verzeichnis /share auf dem Client-Rechner, um das freigegebene Verzeichnis zu mounten.
mkdir /mnt/share
Verwenden Sie den Befehl mount, um ein freigegebenes Verzeichnis /nfsshare vom NFS-Server (192.168.1.10) in /mnt/share auf dem Client-Rechner einzuhängen .
mount 192.168.1.10:/nfsshare /mnt/share
Überprüfen Sie die gemountete Freigabe auf dem Client-Rechner mit mount Befehl.
mount | grep nfs
Ausgabe:

Sie können auch den Befehl df verwenden, um die gemounteten NFS-Freigaben zu überprüfen.
df -hT
Ausgabe:

Erstellen Sie eine Datei im gemounteten Verzeichnis, um die Lese- und Schreibberechtigung der NFS-Freigabe zu überprüfen.
touch /mnt/share/test
Wenn der obige Befehl keinen Fehler zurückgibt, können Sie NFS-Freigaben dauerhaft einhängen.
Automatisches Mounten von NFS-Freigaben
Um NFS-Freigaben bei jedem Neustart automatisch zu mounten, müssen Sie /etc/fstab bearbeiten Datei auf Ihrem Client-System.
vi /etc/fstab
Fügen Sie die folgende Zeile am Ende der Datei hinzu.
192.168.1.10:/nfsshare/ /mnt/share nfs rw,sync,hard,intr 0 0

Speichern und schließen Sie die Datei.
Starten Sie den Client-Rechner neu und überprüfen Sie, ob die NFS-Freigabe automatisch gemountet wird oder nicht.
reboot
Überprüfen Sie die gemountete Freigabe auf dem Client-Server mit dem Mount-Befehl.
mount | grep nfs
Um das freigegebene Verzeichnis von Ihrem Client-Rechner abzuhängen, verwenden Sie den umount-Befehl, um es abzuhängen.
umount /mnt/share
Sie können AutoFS unter Debian / Ubuntu konfigurieren NFS-Freigaben nur zu mounten, wenn ein Benutzer darauf zugreift.
Das ist alles. Sie haben den NFS-Server erfolgreich auf Debian 9 eingerichtet / Ubuntu 16.04 .