One place for hosting & domains

      Einrichten eines NFS Mount auf Ubuntu 20.04


      Einführung

      NFS oder Network File System ist ein verteiltes Dateisystem, das es Ihnen ermöglicht, remote Verzeichnisse auf Ihrem Server bereitzustellen. Auf diese Weise können Sie Speicherplatz an einem anderen Ort verwalten und in diesen Speicherplatz aus mehreren Clients schreiben. NFS bietet eine relativ gute Standardmöglichkeit, auf Remote-Systeme über ein Netzwerk zuzugreifen, und funktioniert gut in Situationen, in denen regelmäßig auf die geteilten Ressourcen zugegriffen werden muss.

      In diesem Leitfaden erfahren Sie, wie wir die für NFS benötigte Software auf Ubuntu 20.04 installieren, zwei NFS Mounts auf einem Server und Client installieren und die Remotefreigaben hinzufügen und entfernen.

      Voraussetzungen

      Wir nutzen in diesem Tutorial zwei Server. Davon teilt einer einen Teil seines Dateisystems mit dem anderen. Um dem Tutorial zu folgen, benötigen Sie Folgendes:

      • Zwei Ubuntu 20.04-Server. Jeder dieser Server sollte über einen Nicht-root-Benutzer mit sudo-Berechtigungen, eine mit UFW eingerichtete Firewall und ein privates Netzwerk verfügen, sofern dies Ihnen zur Verfügung steht.

      In diesem Tutorial verweisen wir auf den Server, der seine Verzeichnisse als Host teilt, und den Server, der diese Verzeichnisse als Client verbindet. Sie müssen die IP-Adresse für beide kennen. Nutzen Sie bei Bedarf die private Netzwerkadresse, sofern verfügbar.

      In diesem Tutorial verweisen wir auf diese IP-Adressen durch die Platzhalter host_ip und client_ip. Ersetzen Sie bei Bedarf.

      Schritt 1 – Herunterladen und Installieren der Komponenten

      Wir beginnen mit der Installation der erforderlichen Komponenten auf jedem Server.

      Auf dem Host

      Auf dem Host-Server installieren Sie das nfs-kernel-server Paket, das ermöglicht, Ihre Verzeichnisse freizugeben. Da dieser Vorgang die erste Ausführung mit apt in dieser Sitzung ist, aktualisieren Sie Ihren lokalen Paketindex vor der Installation:

      • sudo apt update
      • sudo apt install nfs-kernel-server

      Sobald diese Pakete installiert sind, wechseln zum Client-Server.

      Auf dem Client

      Auf dem Client-Server müssen wir ein Paket namens nfs-common installieren, das NFS bereitstellt, ohne Server-Komponenten. Aktualisieren Sie erneut den lokalen Paketindex vor der Installation, um sicherzustellen, dass Ihnen aktuelle Informationen angezeigt werden:

      • sudo apt update
      • sudo apt install nfs-common

      Nachdem beide Server über die erforderlichen Pakete verfügen, können wir die Konfiguration starten.

      Schritt 2 – Erstellen der Freigabeverzeichnisse auf dem Host

      Wir werden zwei separate Verzeichnisse mit verschiedenen Konfigurationseinstellungen freigeben, um zwei wesentliche Varianten zu zeigen, wie NFS-Verbindungen hinsichtlich des Superuser-Zugriffs konfiguriert werden können.

      Superuser können auf ihrem System alles überall tun. NFS-verbundene Verzeichnisse sind jedoch nicht Teil des Systems, auf dem sie verbunden werden. Standardmäßig lehnt der NFS-Server die Ausführung von Operationen ab, die Superuser-Berechtigungen erfordern. Diese Standardbeschränkung bedeutet, dass Superuser auf dem Client keine Dateien als root schreiben, die Eigentümerschaft nicht neu zuweisen oder sonstige andere Superuser-Aufgaben auf der NFS-Verbindung ausführen können.

      Manchmal gibt es jedoch vertrauenswürdige Benutzer auf dem Client-System, die diese Aktionen auf dem verbundenen Dateisystem ausführen müssen, aber keinen Superuser Zugriff auf den Host benötigen. Sie können den NFS-Server so konfigurieren, dass er dies erlaubt, obwohl ein Risikoelement eingeführt wird, da ein Benutzer root-Zugriff auf das gesamte Host-System erhalten könnte.

      Beispiel 1: Exportieren einer Allzweck-Verbindung

      Im ersten Beispiel erstellen wir eine Allzweck-NFS-Verbindung, die das Standard-NFS-Verhalten nutzt, das es einem Benutzer mit root-Berechtigungen auf dem Client-Computer erschwert, mit dem Host über diese Client-Superuser-Berechtigungen zu interagieren. Sie könnten etwas in dieser Art nutzen, um Dateien zu speichern, die über ein Content-Management-System hochgeladen wurden, oder um einen Platz für Benutzer zu erstellen, wo sie einfach Projektdateien teilen können.

      Erstellen Sie zuerst das Freigabe-Verzeichnis:

      • sudo mkdir /var/nfs/general -p

      Da wir es mit sudo erstellen, gehört das Verzeichnis dem root-Benutzer des Hosts:

      Output

      drwxr-xr-x 2 root root 4096 May 14 18:36 .

      NFS übersetzt alle root Operationen auf dem Client als Sicherheitsmaßnahme in die Berechtigungsdaten nobody:nogroup. Wir müssen daher die Verzeichniseigentümerschaft auf diese Berechtigungsdaten abstimmen.

      • sudo chown nobody:nogroup /var/nfs/general

      Sie können dieses Verzeichnis nun exportieren.

      Beispiel 2: Exportieren des Home-Verzeichnisses

      In unserem zweiten Beispiel geht es darum, Benutzerhauptverzeichnisse, die auf dem Host gespeichert sind, auf Client-Servern zur Verfügung zu stellen, wobei vertrauenswürdige Administratoren dieser Client-Server der Zugriff genehmigt wird, den sie brauchen, um Benutzer einfach zu verwalten.

      Dazu exportieren wir das Verzeichnis /home. Da es bereits vorhanden ist, müssen wir es nicht erstellen. Wir werden auch die Berechtigungen nicht ändern. Andernfalls könnte dies zu einer Reihe von Problemen für jeden mit einem Home-Verzeichnis auf dem Host-Computer führen.

      Schritt 3 – Konfigurieren der NFS-Exporte auf dem Host-Server

      Als Nächstes nehmen wir uns die NFS Konfigurationsdatei vor, um die Freigabe dieser Ressourcen einzurichten.

      Öffnen Sie die Datei /etc/exports auf dem Host-Computer in Ihrem Texteditor mit root-Berechtigungen:

      Die Datei enthält Kommentare, die die allgemeine Struktur der einzelnen Konfigurationszeilen zeigen. Die Syntax lautet wie folgt:

      /etc/exports

      directory_to_share    client(share_option1,...,share_optionN)
      

      Wir müssen eine Zeile für jedes der Verzeichnisse erstellen, die wir freigeben möchten. Stellen Sie sicher, dass der hier gezeigte Platzhalter client_ip in Ihre tatsächliche IP-Adresse geändert wird:

      /etc/exports

      /var/nfs/general    client_ip(rw,sync,no_subtree_check)
      /home               client_ip(rw,sync,no_root_squash,no_subtree_check)
      

      Wir nutzen hier die gleichen Konfigurationsoptionen für beide Verzeichnisse mit Ausnahme von no_root_squash. Wir wollen uns ansehen, was jede dieser Optionen bedeutet:

      • rw: Diese Option gibt dem Client-Computer sowohl den Lese- als auch den Schreibzugriff auf das Laufwerk.
      • sync: Diese Option zwingt NFS, vor dem Antworten Änderungen auf die Festplatte zu schreiben. Dies führt zu einer stabileren und konsistenteren Umgebung, da die Antwort den tatsächlichen Zustand des entfernten Laufwerks widerspiegelt. Es reduziert jedoch auch die Geschwindigkeit der Dateioperationen.
      • no_subtree_check: Diese Option verhindert die Teilbaum-Prüfung, ein Prozess, bei dem der Host überprüfen muss, ob die Datei für jede Anfrage tatsächlich auch immer noch im exportierten Baum verfügbar ist. Dies kann bei der Umbenennung einer Datei viele Probleme verursachen, wenn der Client sie geöffnet hat. In fast allen Fällen ist es besser, die Teilbaum-Prüfung zu deaktivieren.
      • no_root_squash: Standardmäßig übersetzt NFS Anfragen von einem root-Benutzer remote in einen nicht berechtigten Benutzer auf dem Server. Dies war als Sicherheitsfunktion bestimmt, um zu verhindern, dass ein root-Konto auf dem Client das Dateisystem des Host als root verwendet. no_root_squash deaktiviert dieses Verhalten für bestimmte Freigaben.

      Wenn Sie mit diesen Änderungen fertig sind, speichern und schließen Sie die Datei. Um die Freigaben den von Ihnen konfigurierten Clients dann zur Verfügung zu stellen, starten Sie den NFS-Server mit dem folgenden Befehl neu:

      • sudo systemctl restart nfs-kernel-server

      Bevor Sie jedoch die neuen Freigaben tatsächlich nutzen können, müssen Sie sicher sein, dass der Verkehr zu den Freigaben durch Firewall-Regeln zugelassen ist.

      Schritt 4 – Anpassen der Firewall auf dem Host

      Wir wollen zuerst den Firewall-Status überprüfen, ob dieser aktiviert ist, und wenn ja, sehen, was derzeit zugelassen ist:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

      Auf unserem System ist nur SSH-Verkehr zugelassen. Daher müssen wir eine Regel für NFS hinzufügen.

      Bei vielen Anwendungen können Sie sudo ufw app list nutzen und sie nach dem Namen aktivieren, aber nfs gehört nicht dazu. Da ufw jedoch auch /etc/services für den Port und das Protokoll eines Dienstes überprüft, können wir auch weiterhin NFS nach dem Namen hinzufügen. Es wird empfohlen, die restriktivste Regel zu aktivieren, die den Datenverkehr, den Sie zulassen möchten, weiterhin erlaubt, statt Datenverkehr von überall her zuzulassen.

      Verwenden Sie den folgenden Befehl, um Port 2049 auf dem Host zu öffnen, wobei Sie Ihre Client-IP-Adresse ersetzen:

      • sudo ufw allow from client_ip to any port nfs

      Sie können die Änderung überprüfen, indem Sie Folgendes eingeben:

      Sie sollten der zulässigen Verkehr von Port 2049 in der Ausgabe sehen:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 2049 ALLOW 203.0.113.24 OpenSSH (v6) ALLOW Anywhere (v6)

      Damit wird bestätigt, dass UFW nur NFS-Verkehr an Port 2049 von unserem Client-Computer zulassen wird.

      Schritt 5 — Erstellen von Bereitstellungspunkten und Bereitstellen von Verzeichnissen auf dem Client

      Nachdem der Host-Server konfiguriert ist und seine Freigaben bedient, bereiten wir unseren Client vor.

      Um die Remote-Freigaben auf dem Client verfügbar zu machen, müssen wir die Verzeichnisse auf dem Host, die wir freigeben möchten, in leere Verzeichnisse auf dem Client bereitstellen.

      Anmerkung: Wenn es Dateien und Verzeichnisse in Ihrem Bereitstellungspunkt gibt, werden sie versteckt, wenn Sie die NFS-Freigabe bereitstellen. Um den Verlust wichtiger Dateien zu vermeiden, stellen Sie sicher, dass das vorhandene Verzeichnis, in das Sie bereitstellen möchten, leer ist.

      Wir erstellen zwei Verzeichnisse für unsere Bereitstellungen:

      • sudo mkdir -p /nfs/general
      • sudo mkdir -p /nfs/home

      Nachdem wir nun einen Ort haben, um die remote Freigaben zu platzieren und die Firewall geöffnet haben, können wir die Berechtigungen mit der IP-Adresse unseres Host-Servers bereitstellen:

      • sudo mount host_ip:/var/nfs/general /nfs/general
      • sudo mount host_ip:/home /nfs/home

      Über diese Befehle werden die Freigaben vom Host-Computer auf dem Client-Computer bereitgestellt. Es gibt mehrere Möglichkeiten, um zu überprüfen, ob die Bereitstellung erfolgreich war. Sie können dies mit einem mount– oder findmnt-Befehl überprüfen, df -h bietet jedoch eine besser lesbare Ausgabe:

      Output

      Filesystem Size Used Avail Use% Mounted on udev 474M 0 474M 0% /dev tmpfs 99M 936K 98M 1% /run /dev/vda1 25G 1.8G 23G 8% / tmpfs 491M 0 491M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 491M 0 491M 0% /sys/fs/cgroup /dev/vda15 105M 3.9M 101M 4% /boot/efi tmpfs 99M 0 99M 0% /run/user/1000 10.132.212.247:/var/nfs/general 25G 1.8G 23G 8% /nfs/general 10.132.212.247:/home 25G 1.8G 23G 8% /nfs/home

      Beide bereitgestellten Freigaben erscheinen unten. Da sie von dem gleichen Dateisystem bereitgestellt wurden, zeigen sie die gleiche Festplattennutzung. Um zu sehen, wie viel Speicherplatz tatsächlich in jedem Bereitstellungspunkt genutzt wird, verwenden Sie den Bereitstellungsbefehl du und den Pfad der Bereitstellung. Die Markierung -s liefert eine Zusammenfassung der Nutzung und nicht die Darstellung der Verwendung jeder Datei. -h druckt eine lesbare Ausgabe.

      Beispiel:

      Output

      36K /nfs/home

      Das zeigt uns, dass der Inhalt des gesamten Home-Verzeichnisses nur 36K des verfügbaren Platzes verwendet.

      Schritt 6 — Testen von NFS

      Als Nächstes testen wir den Zugriff auf die Freigaben, indem wir in jede von ihnen schreiben.

      Beispiel 1: Die Allzweck-Freigabe

      Schreiben Sie als erstes eine Testdatei in die Freigabe /var/nfs/general:

      • sudo touch /nfs/general/general.test

      Überprüfen Sie dann den Eigentümer:

      • ls -l /nfs/general/general.test

      Output

      -rw-r--r-- 1 nobody nogroup 0 Aug 1 13:31 /nfs/general/general.test

      Da wir dieses Volumen bereitgestellt haben, ohne das Standardverhalten von NFS zu ändern, und die Datei als root-Benutzer des Client-Computers über den sudo-Befehl erstellt haben, ist der Standardeigentümer nobody:nogroup. Client-Superuser können keine typischen administrativen Aktionen ausführen, wie z. B. das Ändern des Dateieigentümers oder das Erstellen eines neuen Verzeichnisses für eine Gruppe von Benutzern auf der NFS-bereitgestellten Freigabe.

      Beispiel 2: Die Home-Verzeichnis-Freigabe

      Um die Berechtigungen der Allzweck-Freigabe mit der Home-Verzeichnis-Freigabe zu vergleichen, erstellen Sie eine Datei auf gleiche Weise in /nfs/home:

      • sudo touch /nfs/home/home.test

      Sehen Sie sich dann den Eigentümer der Datei an:

      • ls -l /nfs/home/home.test

      Output

      -rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test

      Wir haben home.test als root über den Befehl sudo erstellt, genau so, wie wie wir auch die Datei general.test erstellt haben. In diesem Fall ist der Eigentümer jedoch root, da wir das Standardverhalten überschrieben haben, als wir die Option no_root_squash in dieser Bereitstellung angaben. Dadurch können unsere root-Benutzer auf dem Client-Computer als root agieren, was die Verwaltung von Benutzerkonten wesentlich einfacher macht. Gleichzeitig bedeutet es, dass wir diesen Benutzern keinen root-Zugriff auf dem Host geben müssen.

      Schritt 7 — Bereitstellen der Remote-NFS-Verzeichnisse beim Boot

      Wir können die Remote-NFS-Freigaben automatisch beim Boot bereitstellen, indem wir sie in die /etc/fstab-Datei auf dem Client hinzufügen.

      Öffnen Sie diese Datei mit root-Berechtigungen in Ihrem Texteditor:

      Fügen Sie am Ende der Datei eine Zeile für jede unserer Freigaben hinzu Sie werden ungefähr so aussehen:

      /etc/fstab

      . . .
      host_ip:/var/nfs/general    /nfs/general   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
      host_ip:/home               /nfs/home      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
      
      

      Anmerkung: Sie können mehr über die Optionen, die wir hier angeben, auf der NFS-Hauptseite finden. Sie können auf diese zugreifen, indem Sie den folgenden Befehl ausführen:

      Der Client wird die Remote-Partitionen automatisch beim Start bereitstellen. Es kann jedoch einige Momente dauern, bis die Verbindung hergestellt ist und die Freigaben verfügbar sind.

      Schritt 8 — Entfernen einer NFS-Remote-Freigabe

      Wenn Sie nicht mehr möchten, dass das Remote-Verzeichnis auf Ihrem System bereitgestellt wird, können Sie es entfernen, indem Sie die Verzeichnisstruktur der Freigabe folgendermaßen verlassen und entfernen:

      • cd ~
      • sudo umount /nfs/home
      • sudo umount /nfs/general

      Beachten Sie, dass der Befehl umount, nicht unmount lautet, wie Sie möglicherweise erwarten.

      Dadurch werden die Remote-Freigaben entfernt, sodass nur noch Ihr lokaler Speicher zugänglich ist:

      Output

      Filesystem Size Used Avail Use% Mounted on udev 474M 0 474M 0% /dev tmpfs 99M 936K 98M 1% /run /dev/vda1 25G 1.8G 23G 8% / tmpfs 491M 0 491M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 491M 0 491M 0% /sys/fs/cgroup /dev/vda15 105M 3.9M 101M 4% /boot/efi tmpfs 99M 0 99M 0% /run/user/1000

      Wenn Sie verhindern möchten, dass sie beim nächsten Neustart wieder hergestellt werden, bearbeiten Sie /etc/fstab und löschen oder kommentieren Sie die Zeile, indem Sie ein #-Zeichen am Anfang der Zeile einfügen. Außerdem können Sie eine automatische Bereitstellung verhindern, indem Sie die Option auto entfernen. Sie können immer noch eine manuelle Bereitstellung vornehmen.

      Zusammenfassung

      In diesem Tutorial haben wir einen NFS-Host erstellt und einige wichtige Verhaltensweisen von NFS gezeigt, indem wir zwei verschiedene NFS-Bereitstellungen erstellt haben, die wir mit einem NFS-Client teilten.

      Wenn Sie NFS in der Produktion implementieren möchten, ist es wichtig, zu beachten, dass das Protokoll selbst nicht verschlüsselt ist. In Fällen, in denen Sie über ein privates Netzwerk freigeben, ist dies kein Problem. In anderen Fällen ist ein VPN oder ein anderer verschlüsselter Tunnel erforderlich, um Ihre Daten zu schützen.



      Source link

      Cómo configurar NFS Mount en Ubuntu 20.04


      Introducción

      NFS, o Network File System (Sistema de archivos en red) es un protocolo de sistema de archivos distribuido que le permite montar directorio remotos en su servidor. Esto le permite gestionar el espacio de almacenamiento en una ubicación diferente y escribir en ese espacio desde múltiples clientes. NFS proporciona una forma relativamente estándar y eficiente de acceder a sistemas remotos sobre una red y funciona bien en aquellas situaciones en las que debe accederse a los recursos regularmente.

      En esta guía repasaremos cómo instalar el software necesario para la funcionalidad NFS en Ubuntu 20.04, configuraremos dos montajes NFS en un servidor y cliente, y montaremos y desmontaremos los intercambios remotos.

      Requisitos previos

      Usaremos dos servidores en este tutorial, con uno compartiendo parte de su sistema de archivos con el otro. Para continuar, necesitará lo siguiente:

      • Dos servidores Ubuntu 20.04. Cada uno de estos debería tener un usuario no root con privilegios sudo, un firewall configurado con UFW y una red privada, si está disponible.

      A lo largo de este tutorial, nos referimos al servidor que comparte sus directorios como el host y al servidor que monta estos directorios como el client. Necesitará conocer la dirección IP de ambos. Asegúrese de usar la dirección de red privada, si está disponible.

      A lo largo de este tutorial, nos referiremos a estas direcciones IP por los marcadores de posición host_ip y client_ip. Sustituya según sea necesario.

      Paso 1: Descargar e instalar los componentes

      Comenzaremos instalando los componentes necesarios en cada servidor.

      En el host

      En el servidor host, instale el paquete nfs-kernel-server, que le permitirá compartir sus directorios. Ya que esta es la primera operación que está realizando con apt en esta sesión, actualice su índice de paquetes locales antes de la instalación:

      • sudo apt update
      • sudo apt install nfs-kernel-server

      Una vez instalados estos paquetes, cambie al servidor cliente.

      En el cliente

      En el servidor cliente, debemos instalar un paquete llamado nfs-common, que proporciona funcionalidad NFS sin incluir componentes del servidor. De nuevo, actualice el índice de paquetes locales antes de la instalación para garantizar que tiene información actualizada:

      • sudo apt update
      • sudo apt install nfs-common

      Ahora que ambos servidores tienen los paquetes necesarios, podemos comenzar a configurarlos.

      Paso 2: Crear los directorios compartidos en el host

      Vamos a compartir dos directorios independientes, con diferentes ajustes de configuración, para ilustrar dos formas clave en las que pueden configurarse los montajes NFS con respecto al acceso de un súper usuario.

      Los súper usuarios pueden hacer cualquier cosa en cualquier parte del sistema. Sin embargo, los directorios montados en NFS no son parte del sistema sobre el cual se montan, de forma que por defecto, el servidor NFS rechaza realizar operaciones que requieran privilegios de súper usuario. Esta restricción predeterminada significa que los súper usuarios en el client no pueden escribir archivos como root, reasignar propiedad, o realizar cualquier otra tarea de súper usuario en el montaje NFS.

      A veces, sin embargo, existen usuarios de confianza en el sistema client que necesitan realizar estas acciones sobre el sistema de archivo montado pero no tienen necesidad de acceso de súper usuario en el host. Puede configurar el servidor NFS para permitir esto, aunque introduce un elemento de riesgo, ya que como tal un usuario podría obtener acceso root a todo el sistema host.

      Ejemplo 1: Exportar un montaje de finalidad general

      En el primer ejemplo, crearemos un montaje NFS de finalidad general que utiliza el comportamiento NFS para hacer que sea difícil para un usuario con privilegios root sobre el equipo cliente interactuar con el host usando los privilegios de súper usuario del cliente. Puede usar algo como esto para guardar los archivos que se subieron usando un sistema de administración de contenidos o para crear espacio para que los usuarios compartan fácilmente los archivos de los proyectos.

      Primero, cree el directorio compartido:

      • sudo mkdir /var/nfs/general -p

      Ya que estamos creándolo con sudo, el directorio es propiedad del usuario root del host:

      Output

      drwxr-xr-x 2 root root 4096 May 14 18:36 .

      NFS traducirá cualquier operación root sobre el cliente a las credenciales nobody:nogroup como medida de seguridad. Por tanto, debemos cambiar la propiedad del directorio para que coincida con esos credenciales.

      • sudo chown nobody:nogroup /var/nfs/general

      Ahora está listo para exportar este directorio.

      Ejemplo 2: Exportar el directorio de inicio

      En nuestro segundo ejemplo, el objetivo es hacer que los directorios de inicio del usuario guardados en el host estén disponibles en los servidores cliente, permitiendo al mismo tiempo a los administradores de confianza de esos servidores cliente el acceso para administrar convenientemente a los usuarios.

      Para hacer esto, exportaremos el directorio /home. Debido a que ya existe, no necesitamos crearlo. No cambiaremos los permisos tampoco. Si lo hiciésemos, podría provocar varios problemas para cualquiera con un directorio de inicio en el equipo host.

      Paso 3: Configurar las exportaciones NFS en el servidor host

      A continuación, profundizaremos en el archivo de configuración NFS para configurar el intercambio de estos recursos.

      En el equipo host, abra el archivo /etc/exports en su editor de texto con privilegios root:

      El archivo tiene comentarios que muestran la estructura general de cada línea de configuración. La sintaxis es la siguiente:

      /etc/exports

      directory_to_share    client(share_option1,...,share_optionN)
      

      Deberemos crear una línea para cada uno de los directorios que queremos compartir. Asegúrese de cambiar el marcador de posición client_ip mostrado aquí a su dirección IP real:

      /etc/exports

      /var/nfs/general    client_ip(rw,sync,no_subtree_check)
      /home               client_ip(rw,sync,no_root_squash,no_subtree_check)
      

      Aquí, estamos usando las mismas opciones de configuración para ambos directorios con la excepción de no_root_squash. Vamos a echar un vistazo a lo que significa cada una de estas opciones:

      • rw: esta opción proporciona al equipo client acceso de lectura y escritura para el volumen.
      • sync: esta opción fuerza a NFS a escribir los cambios en el disco antes de responder. Esto resulta en un entorno más estable y consistente ya que la respuesta refleja el estado real del volumen remoto. Sin embargo, también reduce la velocidad de las operaciones de archivo.
      • no_subtree_check: esta opción evita la comprobación del subtree, que es un proceso por el cual el host debe comprobar si el archivo está realmente disponible aún en el árbol exportado para cada solicitud. Esto puede causar muchos problemas cuando se cambia el nombre a un archivo mientras el client lo tiene abierto. En casi todos los casos, es mejor deshabilitar la comprobación del subtree.
      • no_root_squash: por defecto, NFS traduce las solicitudes desde un usuario root remotamente a un usuario sin privilegios en el servidor. Esto estaba pensado como función de seguridad para evitar que una cuenta root en el client usara el sistema de archivos del host como root. no_root_squash deshabilita este comportamiento para ciertos intercambios.

      Una vez que termine de hacer estos cambios, guarde y cierre el archivo. A continuación, para hacer que los intercambios estén disponibles para los clientes que ha configurado, reinicie el servidor NFS con el siguiente comando:

      • sudo systemctl restart nfs-kernel-server

      Antes de poder usar realmente los nuevos intercambios, sin embargo, deberá asegurar que las reglas del firewall permiten ese tráfico a los intercambios.

      Paso 4: Ajustar el firewall en el host

      Primero, vamos a comprobar el estado del firewall para ver si está habilitado, y si es así, para ver qué permite actualmente:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

      En nuestro sistema, solo se permite el tráfico SSH, así que necesitaremos añadir una regla para el tráfico NFS.

      Con muchas aplicaciones, puede usar sudo ufw app list y habilitarlas por su nombre, pero nfs no es una de esas. Sin embargo, debido a que ufw también comprueba /etc/services para el puerto y el protocolo de un servicio, aún podemos añadir NFS por nombre. Las buenas prácticas recomiendan que permita la regla más restrictiva que seguirá permitiendo el tráfico que desea permitir, de forma que permitir el tráfico desde cualquier sitio, será específico.

      Utilice el siguiente comando para abrir el puerto 2049 en el host, asegurando de sustituir la dirección IP del client:

      • sudo ufw allow from client_ip to any port nfs

      Puede verificar el cambio escribiendo lo siguiente:

      Debería ver el tráfico permitido desde el puerto 2049 en el resultado:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 2049 ALLOW 203.0.113.24 OpenSSH (v6) ALLOW Anywhere (v6)

      Esto confirma que UFW solo permitirá el tráfico NFS en el puerto 2049 desde nuestro equipo client.

      Paso 5: Crear puntos de montaje y directorios de montaje en el cliente

      Ahora que el servidor host se configura y presenta sus intercambios, prepararemos nuestro client.

      Para hacer que los intercambios remotos estén disponibles en el client, debemos montar los directorios en el host que queremos compartir para vaciar los directorios en el client.

      Nota: Si hay archivos y directorios en su punto de montaje, se ocultarán tan pronto como monte el intercambio NFS. Para evitar la pérdida de archivos importantes, asegúrese de que si monta en un directorio que ya existe que ese directorio esté vacío.

      Crearemos dos directorios para nuestros montajes:

      • sudo mkdir -p /nfs/general
      • sudo mkdir -p /nfs/home

      Ahora que tenemos una ubicación para poner los intercambios remotos y hemos abierto el firewall, podemos montar los intercambios usando la dirección IP de nuestro servidor host:

      • sudo mount host_ip:/var/nfs/general /nfs/general
      • sudo mount host_ip:/home /nfs/home

      Estos comandos montarán los intercambios desde el equipo host sobre el equipo client. Puede comprobar que se montan correctamente de varias formas. Puede comprobar esto con un comando mount o findmnt, pero df-h proporciona una resultado más legible:

      Output

      Filesystem Size Used Avail Use% Mounted on udev 474M 0 474M 0% /dev tmpfs 99M 936K 98M 1% /run /dev/vda1 25G 1.8G 23G 8% / tmpfs 491M 0 491M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 491M 0 491M 0% /sys/fs/cgroup /dev/vda15 105M 3.9M 101M 4% /boot/efi tmpfs 99M 0 99M 0% /run/user/1000 10.132.212.247:/var/nfs/general 25G 1.8G 23G 8% /nfs/general 10.132.212.247:/home 25G 1.8G 23G 8% /nfs/home

      Ambos intercambios que montamos aparecen en la parte inferior. Debido a que se montaron a partir del mismo sistema de archivos, muestran el mismo uso de disco. Para ver cuánto espacio se está usando bajo cada punto de montaje, utilice el comando de uso del disco du y la ruta del montaje. El indicador -s proporciona un resumen de uso en vez de mostrar el uso de cada archivo. -h imprime un resultado legible por el ser humano.

      Por ejemplo:

      Output

      36K /nfs/home

      Esto nos muestra que el contenido de todo el directorio de inicio está usando solo 36k del espacio disponible.

      Paso 6: Probar el acceso NFS

      A continuación, vamos a acceder a los intercambios escribiendo algo a cada uno de ellos.

      Ejemplo 1: El intercambio de finalidad general

      Primero, escriba un archivo de prueba al intercambio /var/nfs/general:

      • sudo touch /nfs/general/general.test

      A continuación, compruebe su propiedad:

      • ls -l /nfs/general/general.test

      Output

      -rw-r--r-- 1 nobody nogroup 0 Aug 1 13:31 /nfs/general/general.test

      Debido a que montamos este volumen si cambiar el comportamiento predeterminado de NFS y creamos el archivo como el usuario root del equipo cliente a través del comando sudo, la propiedad del archivo cae a nobody:nogroup. Los súper usuarios del cliente no podrán realizar las acciones administrativas típicas, como cambiar el propietario de un archivo o crear un nuevo directorio para un grupo de usuarios en este intercambio montado en NFS.

      Ejemplo 2: El intercambio del directorio de inicio

      Para comparar los permisos del intercambio de finalidad general con el intercambio del directorio de inicio, cree un archivo en /nfs/home de la misma forma:

      • sudo touch /nfs/home/home.test

      A continuación observe la propiedad del archivo:

      • ls -l /nfs/home/home.test

      Output

      -rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test

      Creamos home.test como root usando el comando sudo, exactamente de la misma forma en que creamos el archivo general.test. Sin embargo, en este caso es propiedad de root porque anulamos el comportamiento predeterminado cuando especificamos la opción no_root_squash en este montaje. Esto permite que nuestros usuarios root en el equipo cliente actúe como root y hace que la administración de las cuentas de usuario sea mucho más conveniente. Al mismo tiempo, significa que no tenemos que proporcionar a estos usuarios acceso root en el host.

      Paso 7: Montaje de los directorios NFS remotos en el arranque

      Podemos montar los intercambios NFS remotos automáticamente al arranque añadiéndolos al archivo /etc/fstab en el client.

      Abra este archivo con privilegios root en su editor de texto:

      En la parte inferior del archivo, añada una línea para cada uno de nuestros intercambios. Tendrán el siguiente aspecto:

      /etc/fstab

      . . .
      host_ip:/var/nfs/general    /nfs/general   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
      host_ip:/home               /nfs/home      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
      
      

      Nota: Puede encontrar más información sobre las opciones que especificamos aquí en la página man de NFS. Puede acceder a esto ejecutando el siguiente comando:

      El client montará automáticamente las particiones remotas en el arranque, aunque puede tardar algo de tiempo en establecer la conexión y para que los intercambios estén disponibles.

      Paso 8: Desmontar un intercambio remoto NFS

      Si ya no desea que el directorio remoto se monte en su sistema, puede desmontarlo saliendo de la estructura del directorio del intercambio y desmontando, de esta forma:

      • cd ~
      • sudo umount /nfs/home
      • sudo umount /nfs/general

      Observe que el comando se llama umount no unmount como podría esperar.

      Esto eliminará los intercambios remotos, dejando solo su almacenamiento local accesible:

      Output

      Filesystem Size Used Avail Use% Mounted on udev 474M 0 474M 0% /dev tmpfs 99M 936K 98M 1% /run /dev/vda1 25G 1.8G 23G 8% / tmpfs 491M 0 491M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 491M 0 491M 0% /sys/fs/cgroup /dev/vda15 105M 3.9M 101M 4% /boot/efi tmpfs 99M 0 99M 0% /run/user/1000

      Si también desea impedir que se vuelvan a montar en el siguiente reinicio, edite /etc/fstab y elimine la línea u omítala colocando un carácter # al principio de la línea. También puede evitar el montaje automático eliminado la opción auto, que le permitirá montarlo manualmente.

      Conclusión

      En este tutorial, creamos un host NFS e ilustramos algunos comportamientos NFS claves al crear dos montajes NFS diferentes, que compartimos con un cliente NFS.

      Si desea implementar NFS en producción, es importante observar que el protocolo no está cifrado. En los casos en que esté compartiendo sobre una red privada, esto puede no ser un problema. En otros casos, será necesaria una VPN o algún otro tipo de túnel cifrado para proteger sus datos.



      Source link

      Comment monter un montage NFS sur Ubuntu 20.04


      Introduction

      NFS, ou Network File System, est un protocole de système de fichiers distribué qui vous permet de monter des répertoires distants sur votre serveur. Cela vous permet de gérer un espace de stockage dans un autre emplacement et d’y écrire depuis plusieurs clients. NFS fournit un moyen relativement standard et performant d’accéder à des systèmes distants sur réseau, et fonctionne bien dans les situations où un accès régulier aux ressources partagées est nécessaire.

      Dans ce guide, nous allons voir comment installer le logiciel nécessaire à la fonctionnalité NFS sur Ubuntu 20.04, configurer deux montages NFS sur un serveur et un client, et monter et démonter les partages distants.

      Conditions préalables

      Nous utiliserons deux serveurs dans ce tutoriel, l’un partageant une partie de son système de fichiers avec l’autre. Pour suivre ce tutoriel, vous aurez besoin de :

      • Deux serveurs Ubuntu 20.04. Chacun d’entre eux doit avoir un utilisateur non root avec des privilèges sudo, un pare-feu configuré avec UFW, et un réseau privé, si vous en avez la possibilité.

      Tout au long de ce tutoriel, nous faisons référence au serveur qui partage ses répertoires comme étant l’hôte et au serveur qui monte ces répertoires comme étant le client. Vous devrez connaître l’adresse IP de ces deux serveurs. Assurez-vous d’utiliser l’adresse de réseau privée, si elle est disponible.

      Tout au long de ce tutoriel, nous ferons référence à ces adresses IP par les substituants host_ip et client_ip. Veuillez les remplacer si nécessaire.

      Étape 1 — Téléchargement et installation des composants

      Nous commencerons par installer les composants nécessaires sur chaque serveur.

      Sur l’hôte

      Sur le serveur hôte, installez le paquet nfs-kernel-server, qui vous permettra de partager vos répertoires. Comme c’est la première opération que vous effectuez avec apt dans cette session, rafraîchissez l’index de votre paquet local avant l’installation :

      • sudo apt update
      • sudo apt install nfs-kernel-server

      Une fois que ces paquets sont installés, accédez au serveur client.

      Sur le client

      Sur le serveur client, nous devons installer un paquet appelé nfs-common, qui fournit la fonctionnalité NFS sans inclure aucun composant serveur. Encore une fois, rafraîchissez l’index local du paquet avant l’installation pour vous assurer que vous disposez d’informations à jour :

      • sudo apt update
      • sudo apt install nfs-common

      Maintenant que les deux serveurs disposent des paquets nécessaires, nous pouvons commencer à les configurer.

      Étape 2 — Création des répertoires de partage sur l’hôte

      Nous allons partager deux répertoires séparés, avec des paramètres de configuration différents, afin d’illustrer deux façons principales dont les montages NFS peuvent être configurés en tenant compte de l’accès des super utilisateurs.

      Les super-utilisateurs peuvent faire n’importe quoi n’importe où sur leur système. Cependant, les répertoires montés par NFS ne font pas partie du système sur lequel ils sont montés, donc par défaut, le serveur NFS refuse d’effectuer des opérations qui nécessitent des privilèges de super-utilisateur. Cette restriction par défaut signifie que les super-utilisateurs sur le client ne peuvent pas écrire des fichiers en tant que root, réassigner la propriété, ou effectuer toute autre tâche de super-utilisateur sur le montage NFS.

      Parfois, cependant, il existe des utilisateurs de confiance sur le système client qui doivent effectuer ces actions sur le système de fichiers monté mais qui n’ont pas besoin d’un accès super-utilisateur sur l’hôte. Vous pouvez configurer le serveur NFS pour permettre cela, bien que cela introduise un élément de risque, car un tel utilisateur pourrait obtenir un accès root à l’ensemble du système hôte.

      Exemple 1 : Exportation d’un montage à usage général

      Dans le premier exemple, nous allons créer un montage NFS polyvalent qui utilise le comportement par défaut de NFS pour rendre difficile pour un utilisateur ayant les privilèges root sur la machine cliente d’interagir avec l’hôte en utilisant ces privilèges de super-utilisateur client. Vous pourriez utiliser quelque chose de ce genre pour stocker des fichiers qui ont été téléchargés à l’aide d’un système de gestion de contenu ou pour créer un espace permettant aux utilisateurs de partager facilement des fichiers de projet.

      Tout d’abord, créez le répertoire de partage :

      • sudo mkdir /var/nfs/general -p

      Comme nous le créons avec sudo, le répertoire appartient à l’utilisateur root de l’hôte :

      Output

      drwxr-xr-x 2 root root 4096 May 14 18:36 .

      Par mesure de sécurité, NFS traduira toutes les opérations root sur le client par les identifiants nobody:nogroup. Par conséquent, nous devons modifier la propriété du répertoire pour qu’il corresponde à ces identifiants.

      • sudo chown nobody:nogroup /var/nfs/general

      Vous êtes maintenant prêt à exporter ce répertoire.

      Exemple 2 Exportation du répertoire d’accueil

      Dans notre deuxième exemple, l’objectif est de rendre les répertoires personnels des utilisateurs stockés sur l’hôte disponibles sur les serveurs clients, tout en permettant aux administrateurs de confiance de ces serveurs clients l’accès dont ils ont besoin pour gérer les utilisateurs de manière pratique.

      Pour ce faire, nous allons exporter le répertoire /home. Comme il existe déjà, nous n’avons pas besoin de le créer. Nous ne modifierons pas non plus les autorisations. Si nous le faisions, cela pourrait entraîner toute une série de problèmes pour quiconque possède un répertoire home sur la machine hôte.

      Étape 3 — Configuration des exportations NFS sur le serveur hôte

      Ensuite, nous allons nous plonger dans le fichier de configuration NFS pour configurer le partage de ces ressources.

      Sur la machine hôte, ouvrez le fichier /etc/exports dans votre éditeur de texte avec les privilèges root :

      Le fichier contient des commentaires montrant la structure générale de chaque ligne de configuration. La syntaxe est la suivante :

      /etc/exports

      directory_to_share    client(share_option1,...,share_optionN)
      

      Nous devrons créer une ligne pour chacun des répertoires que nous prévoyons de partager. Assurez-vous de modifier le champ client_ip représenté ici par votre adresse IP réelle

      /etc/exports

      /var/nfs/general    client_ip(rw,sync,no_subtree_check)
      /home               client_ip(rw,sync,no_root_squash,no_subtree_check)
      

      Ici, nous utilisons les mêmes options de configuration pour les deux répertoires à l’exception de no_root_squash. Voyons ce que signifie chacune de ces options :

      • rw : cette option donne à l’ordinateur client un accès en lecture et en écriture au volume.
      • sync : cette option oblige NFS à écrire les modifications sur le disque avant de répondre. Il en résulte un environnement plus stable et plus cohérent puisque la réponse reflète l’état réel du volume distant. Cependant, cela réduit également la vitesse des opérations sur les fichiers.
      • no_subtree_check : cette option empêche la vérification de sous-arborescence, qui est un processus où l’hôte doit vérifier si le fichier est réellement encore disponible dans l’arborescence exportée pour chaque requête. Cela peut causer de nombreux problèmes lorsqu’un fichier est renommé alors que le client l’a ouvert. Dans la plupart des cas, il est préférable de désactiver la vérification des sous-arborescences.
      • no_root_squash : par défaut, NFS traduit les requêtes d’un utilisateur root à distance en un utilisateur non privilégié sur le serveur. Cette fonction a été conçue comme un dispositif de sécurité pour empêcher un compte racine sur le client d’utiliser le système de fichiers de l’hôte comme racine. no_root_squash désactive ce comportement pour certains partages.

      Lorsque vous avez terminé vos modifications, enregistrez et fermez le fichier. Ensuite, pour rendre les parts disponibles aux clients que vous avez configurés, redémarrez le serveur NFS avec la commande suivante :

      • sudo systemctl restart nfs-kernel-server

      Cependant, avant de pouvoir utiliser les nouveaux partages, vous devez vous assurer que le trafic vers les partages est autorisé par les règles du pare-feu.

      Étape 4 — Réglage du pare-feu sur l’hôte

      Tout d’abord, vérifions l’état du pare-feu pour voir s’il est activé et, si c’est le cas, pour voir ce qui est actuellement autorisé :

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

      Sur notre système, seul le trafic SSH est autorisé, nous devrons donc ajouter une règle pour le trafic NFS.

      Pour de nombreuses applications, vous pouvez utiliser sudo ufw app list et les activer par leur nom, mais nfs n’en fait pas partie. Cependant, comme ufw vérifie également /etc/services pour le port et le protocole d’un service, nous pouvons toujours ajouter NFS par nom. Les meilleures pratiques recommandent d’activer la règle la plus restrictive qui permettra toujours le trafic que vous souhaitez autoriser, donc plutôt que d’autoriser le trafic de n’importe où, nous nous montrerons spécifiques.

      Utilisez la commande suivante pour ouvrir le port 2049 sur l’hôte, en vous assurant de substituer l’adresse IP de votre client :

      • sudo ufw allow from client_ip to any port nfs

      Vous pouvez vérifier le changement en saisissant :

      Vous devriez voir le trafic autorisé à partir du port 2049 dans la sortie :

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 2049 ALLOW 203.0.113.24 OpenSSH (v6) ALLOW Anywhere (v6)

      Cela confirme que UFW n’autorisera le trafic NFS que sur le port 2049 de notre ordinateur client.

      Étape 5 — Création de points de montage et de répertoires de montage sur le client

      Maintenant que le serveur hôte est configuré et sert ses partages, nous allons préparer notre client.

      Afin de rendre les partages distants disponibles sur le client, nous devons monter les répertoires sur l’hôte que nous voulons partager dans des répertoires vides sur le client.

      Remarque : s’il existe des fichiers et des répertoires dans votre point de montage, ils seront cachés dès que vous monterez le partage NFS. Pour éviter la perte de fichiers importants, assurez-vous que si vous montez dans un répertoire qui existe déjà, ce répertoire est bien vide.

      Nous allons créer deux répertoires pour nos montages :

      • sudo mkdir -p /nfs/general
      • sudo mkdir -p /nfs/home

      Maintenant que nous disposons d’un emplacement pour placer les partages distants et que nous avons ouvert le pare-feu, nous pouvons monter les partages en utilisant l’adresse IP de notre serveur hôte :

      • sudo mount host_ip:/var/nfs/general /nfs/general
      • sudo mount host_ip:/home /nfs/home

      Ces commandes monteront les partages de l’ordinateur hôte sur la machine cliente. Vous pouvez vérifier de plusieurs façons que le montage a réussi. Vous pouvez le vérifier avec une commande mount ou findmnt, mais df -h fournit une sortie plus lisible :

      Output

      Filesystem Size Used Avail Use% Mounted on udev 474M 0 474M 0% /dev tmpfs 99M 936K 98M 1% /run /dev/vda1 25G 1.8G 23G 8% / tmpfs 491M 0 491M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 491M 0 491M 0% /sys/fs/cgroup /dev/vda15 105M 3.9M 101M 4% /boot/efi tmpfs 99M 0 99M 0% /run/user/1000 10.132.212.247:/var/nfs/general 25G 1.8G 23G 8% /nfs/general 10.132.212.247:/home 25G 1.8G 23G 8% /nfs/home

      Les deux partages que nous avons montés apparaissent en bas. Comme ils ont été montés à partir du même système de fichiers, ils présentent la même utilisation du disque. Pour voir combien d’espace est réellement utilisé sous chaque point de montage, utilisez la commande d’utilisation du disque du et le chemin du montage. L’indicateur -s fournit un résumé de l’utilisation plutôt que d’afficher l’utilisation pour chaque fichier. L’indicateur -h génère une sortie lisible par l’utilisateur.

      Par exemple :

      Output

      36K /nfs/home

      Ceci nous montre que le contenu de l’ensemble du répertoire d’accueil n’utilise que 36 K de l’espace disponible.

      Étape 6 — Test de l’accès NFS

      Ensuite, testons l’accès aux partages en écrivant quelque chose à chacune d’entre eux.

      Exemple 1 : Partage à usage général

      Tout d’abord, créez un fichier test dans le partage /var/nfs/general

      • sudo touch /nfs/general/general.test

      Ensuite, vérifiez sa propriété :

      • ls -l /nfs/general/general.test

      Output

      -rw-r--r-- 1 nobody nogroup 0 Aug 1 13:31 /nfs/general/general.test

      Comme nous avons monté ce volume sans modifier le comportement par défaut de NFS et que nous avons créé le fichier en tant qu’utilisateur root de la machine cliente via la commande sudo, la propriété du fichier est par défaut nobody:nogroup. Les super-utilisateurs clients ne pourront pas effectuer des actions administratives typiques (comme le changement de propriétaire d’un fichier ou la création d’un nouveau répertoire pour un groupe d’utilisateurs) sur ce partage monté par NFS.

      Exemple 2 : Partage du répertoire d’accueil

      Pour comparer les autorisations du partage d’usage général avec le partage de répertoire d’accueil, créez un fichier dans /nfs/home de la même manière :

      • sudo touch /nfs/home/home.test

      Ensuite, examinez la propriété du fichier :

      • ls -l /nfs/home/home.test

      Output

      -rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test

      Nous avons créé home.test en tant que racine en utilisant la commande sudo, exactement de la même manière que nous avons créé le fichier general.test. Cependant, dans ce cas, il est la propriété de la racine, car nous avons remplacé le comportement par défaut lorsque nous avons spécifié l’option no_root_squash sur ce montage. Cela permet à nos utilisateurs root sur la machine cliente d’agir en tant que root et rend l’administration des comptes utilisateurs beaucoup plus pratique. En même temps, cela signifie que nous n’avons pas besoin de donner à ces utilisateurs un accès root sur l’hôte.

      Étape 7 — Montage des répertoires NFS à distance au démarrage

      Nous pouvons monter automatiquement les partages NFS distants au démarrage en les ajoutant au fichier /etc/fstab sur le client.

      Ouvrez ce fichier avec des privilèges root dans votre éditeur de texte :

      En bas du fichier, ajoutez une ligne pour chacun de nos partages. Ils ressembleront à ceci :

      /etc/fstab

      . . .
      host_ip:/var/nfs/general    /nfs/general   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
      host_ip:/home               /nfs/home      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
      
      

      Note : Vous pouvez trouver plus d’informations sur les options que nous spécifions ici dans la page man de NFS. Vous pouvez y accéder en exécutant la commande suivante :

      Le client montera automatiquement les partitions distantes au démarrage, bien que cela puisse prendre quelques instants pour établir la connexion et pour que les partages soient disponibles.

      Étape 8 — Démontage d’un partage distant NFS

      Si vous ne souhaitez plus que le répertoire distant soit monté sur votre système, vous pouvez le démonter en sortant de la structure du répertoire de partage et en le démontant, comme ceci :

      • cd ~
      • sudo umount /nfs/home
      • sudo umount /nfs/general

      Notez que la commande est nommée umount et non unmount, comme vous pourriez vous y attendre.

      Cela supprimera les partages distants, ne laissant accessible que votre stockage local :

      Output

      Filesystem Size Used Avail Use% Mounted on udev 474M 0 474M 0% /dev tmpfs 99M 936K 98M 1% /run /dev/vda1 25G 1.8G 23G 8% / tmpfs 491M 0 491M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 491M 0 491M 0% /sys/fs/cgroup /dev/vda15 105M 3.9M 101M 4% /boot/efi tmpfs 99M 0 99M 0% /run/user/1000

      Si vous voulez également éviter qu’ils ne soient remontés au prochain redémarrage, éditez /etc/fstab et supprimez la ligne ou commentez la en plaçant un caractère # au début de la ligne. Vous pouvez également empêcher le remontage automatique en supprimant l’option auto, ce qui vous permettra de toujours pouvoir le monter manuellement.

      Conclusion

      Dans ce tutoriel, nous avons créé un hôte NFS et illustré certains comportements clés du NFS en créant deux montages NFS différents, que nous avons partagés avec un client NFS.

      Si vous cherchez à implémenter NFS en production, il est important de souligner que le protocole lui-même n’est pas crypté. Dans les cas de partage sur un réseau privé, cela ne devrait pas poser de problème. Dans les autres cas, un VPN ou un autre type de tunnel crypté sera nécessaire pour protéger vos données



      Source link