Dans ce tutoriel, nous allons vous montrer comment installer NFS Server sur Ubuntu 20.04 LTS. Pour ceux d’entre vous qui ne le savaient pas, NFS ou Network File System est un protocole de système de fichiers distribué. Il peut vous aider à partager des fichiers et des répertoires entiers avec d’autres sur un réseau. Il permet aux programmes sur des systèmes distants de partager et d’accéder à des informations comme si elles étaient disponibles sur une machine locale. Cette technologie vous offre la possibilité de partager une ressource sur plusieurs systèmes.
Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L’installation est assez simple et suppose que vous utilisez le compte root, sinon vous devrez peut-être ajouter ‘sudo
‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l’installation étape par étape du serveur NFS sur Ubuntu 20.04 (Focal Fossa). Vous pouvez suivre les mêmes instructions pour Ubuntu 18.04, 16.04 et toute autre distribution basée sur Debian comme Linux Mint.
Nous utilisons deux machines, une sous Ubuntu 20.04, qui fera office de serveur NFS, et une autre sous n’importe quelle autre distribution Linux sur laquelle nous monterons le partage. Les machines de ce example avoir les IP suivantes :
NFS Server IP: 192.168.77.20 NFS Clients IPs: From the 192.168.77.0/24 range
Installer le serveur NFS sur Ubuntu 20.04 LTS Focal Fossa
Étape 1. Tout d’abord, assurez-vous que tous vos packages système sont à jour en exécutant ce qui suit apt
commandes dans le terminal.
sudo apt update sudo apt upgrade
Étape 2. Installation du serveur NFS sur Ubuntu 20.04.
Exécutons maintenant la commande suivante pour installer le package de serveur de noyau NFS :
sudo apt install nfs-kernel-server
Vous pouvez vérifier si le nfs-server
le service s’exécute comme indiqué :
sudo systemctl status nfs-server
Étape 3. Création des répertoires partagés sur l’hôte.
Création d’un répertoire qui sera partagé entre les systèmes clients :
sudo mkdir /var/nfs/general -p
Puisque nous voulons que les systèmes clients aient un accès complet à ce répertoire partagé, nous devons supprimer toutes les autorisations de répertoire qui restreignent l’accès :
sudo chown nobody:nogroup /var/nfs/general
Étape 4. Configurez NFS sur l’hôte.
Nous allons plonger dans le fichier de configuration NFS pour configurer le partage de ces ressources :
sudo nano /etc/exports
Ajoutez les lignes suivantes :
/var/nfs/general client_ip(rw,sync,no_subtree_check) /home client_ip(rw,sync,no_root_squash,no_subtree_check)
Pour les options de base des exportations :
Option | La description |
rw | Autorisez les requêtes de lecture et d’écriture sur un volume NFS. |
ro | Autoriser uniquement les demandes de lecture sur un volume NFS. |
synchronisation | Ne répondez aux demandes qu’une fois que les modifications ont été validées dans un stockage stable. (Défaut) |
asynchrone | Cette option permet au serveur NFS de violer le protocole NFS et de répondre aux demandes avant que les modifications apportées par cette demande n’aient été validées dans un stockage stable. |
sécurise | Cette option nécessite que les demandes proviennent d’un port Internet inférieur à IPPORT_RESERVED (1024). (Défaut) |
peu sûr | Cette option accepte tous les ports. |
wdelay | Retardez légèrement la validation d’une demande d’écriture sur un disque s’il soupçonne qu’une autre demande d’écriture associée est en cours ou peut arriver bientôt. (Défaut) |
no_wdelay | Cette option n’a aucun effet si async est également défini. Le serveur NFS retardera normalement légèrement la validation d’une demande d’écriture sur un disque s’il soupçonne qu’une autre demande d’écriture associée est en cours ou peut arriver bientôt. Cela permet de valider plusieurs demandes d’écriture sur le disque avec une seule opération qui peut améliorer les performances. Si un serveur NFS recevait principalement de petites requêtes non liées, ce comportement pourrait en fait réduire les performances, donc no_wdelay est disponible pour le désactiver. |
sous-arbre_vérifier | Cette option active la vérification des sous-arborescences. (Défaut) |
no_subtree_check | Cette option désactive la vérification des sous-arborescences, ce qui a de légères implications en matière de sécurité mais peut améliorer la fiabilité dans certaines circonstances. |
racine_courge | Mappez les requêtes de l’uid/gid 0 vers l’uid/gid anonyme. Notez que cela ne s’applique pas aux autres uids ou gids qui pourraient être tout aussi sensibles, tels que la corbeille d’utilisateurs ou le personnel de groupe. |
no_root_squash | Désactivez l’écrasement des racines. Cette option est principalement utile pour les clients sans disque. |
all_squash | Mappez tous les uids et gids à l’utilisateur anonyme. Utile pour les répertoires FTP publics exportés par NFS, les répertoires de spool de nouvelles, etc. |
no_all_squash | Désactivez tout écrasement. (Défaut) |
annuid = UID | Ces options définissent explicitement l’uid et le gid du compte anonyme. Cette option est principalement utile pour les clients PC/NFS, où vous souhaiterez peut-être que toutes les demandes semblent provenir d’un seul utilisateur. En tant que example, considérez l’entrée d’exportation pour /home/joe dans le example ci-dessous, qui mappe toutes les demandes sur l’uid 150. |
anongid = GID | Lire ci-dessus (anonuid=UID) |
Enfin, redémarrez le serveur NFS pour appliquer les modifications :
sudo systemctl restart nfs-kernel-server
Étape 5. Pare-feu de configuration.
Vous devez autoriser l’accès via le pare-feu, sinon l’accès et le montage du répertoire partagé seront impossibles. Pour y parvenir, exécutez la commande ci-dessous :
sudo ufw allow from 192.168.77.0/24 to any port nfs sudo ufw enable sudo ufw status
Étape 6. Configurez les clients NFS.
Sur les machines clientes, nous devons installer uniquement les outils nécessaires pour monter un système de fichiers NFS distant.
- Installer le client NFS sur Debian et Ubuntu
Exécutez la commande suivante pour l’installer :
sudo apt install nfs-common
- Créez des points de montage sur le client.
Nous créons maintenant deux répertoires pour les montages sur le client :
sudo mkdir -p /nfs/general sudo mkdir -p /nfs/home
Ensuite, montez les partages à l’aide de l’adresse IP de l’hôte :
sudo mount host_ip:/var/nfs/general /nfs/general sudo mount host_ip:/home /nfs/home
Vérifiez que les systèmes de fichiers distants sont montés avec succès à l’aide du montage ou df
commander:
df -h
Pour rendre les montages permanents au redémarrage, ouvrez le /etc/fstab
fichier et ajoutez les lignes suivantes :
sudo nano /etc/fstab
Ajoutez la ligne suivante :
192.168.77.10:/var/nfs/general /nfs/general nfs defaults,timeo=900,retrans=5,_netdev 0 0 192.168.77.10:/home /nfs/home nfs defaults,timeo=900,retrans=5,_netdev 0 0
Étape 7. Testez le partage NFS.
Maintenant, nous créons un fichier de test dans le /var/nfs/general
partager:
sudo touch /nfs/general/general.test
Vérifiez sa propriété :
$ ls -l /nfs/home/home.test -rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test
Étape 8. Démontage du système de fichiers NFS.
Si le partage NFS distant n’est plus nécessaire, vous pouvez le démonter comme tout autre système de fichiers monté en utilisant le umount
commander:
sudo umount /general
Toutes nos félicitations! Vous avez installé avec succès le serveur NFS. Merci d’avoir utilisé ce didacticiel pour installer le serveur NFS sur le système Ubuntu 20.04 LTS Focal Fossa. Pour une aide supplémentaire ou des informations utiles, nous vous recommandons de vérifier le site officiel de la NFS.