Dans ce didacticiel, 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 entre eux comme si elles étaient disponibles sur une machine locale. Cette technologie vous offre la flexibilité 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 s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo
‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer pas à pas l'installation 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 exécutant Ubuntu 20.04, qui agira comme un serveur NFS, et une autre exécutant toute autre distribution Linux sur laquelle nous monterons le partage. Les machines de cet exemple ont 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 le apt
suivant commandes dans le terminal.
sudo apt update sudo apt upgrade
Étape 2. Installation du serveur NFS sur Ubuntu 20.04.
Nous exécutons maintenant la commande suivante pour installer le package du serveur du noyau NFS :
sudo apt install nfs-kernel-server
Vous pouvez vérifier si le nfs-server
le service fonctionne 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 | Description |
rw | Autoriser les requêtes de lecture et d'écriture sur un volume NFS. |
ro | Autoriser uniquement les requêtes en lecture sur un volume NFS. |
synchroniser | Répondez aux requêtes uniquement après que les modifications ont été validées dans un stockage stable. (Par défaut) |
asynchrone | Cette option permet au serveur NFS de violer le protocole NFS et de répondre aux requêtes avant que toute modification apportée par cette requête n'ait été validée dans un stockage stable. |
sécurisé | Cette option nécessite que les requêtes proviennent d'un port Internet inférieur à IPPORT_RESERVED (1024). (Par défaut) |
non sécurisé | Cette option accepte tous les ports. |
wdélai | Retarde légèrement la validation d'une demande d'écriture sur un disque s'il soupçonne qu'une autre demande d'écriture connexe est en cours ou peut arriver bientôt. (Par 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 connexe est en cours ou peut arriver bientôt. Cela permet à plusieurs demandes d'écriture d'être validées 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. |
subtree_check | Cette option active la vérification des sous-arborescences. (Par défaut) |
no_subtree_check | Cette option désactive la vérification des sous-arborescences, ce qui a de légères implications sur la sécurité mais peut améliorer la fiabilité dans certaines circonstances. |
root_squash | Mapper les requêtes de l'uid/gid 0 vers l'uid/gid anonyme. Notez que cela ne s'applique pas aux autres uid ou gid qui pourraient être tout aussi sensibles, tels que l'utilisateur bin ou le groupe staff. |
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 vers 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. (Par défaut) |
anonuid=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. À titre d'exemple, considérez l'entrée d'exportation pour /home/joe dans la section d'exemple ci-dessous, qui mappe toutes les demandes à 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. Configuration du pare-feu.
Vous devez autoriser l'accès via le pare-feu, sinon, l'accès et le montage du répertoire partagé seront impossibles. Pour ce faire, 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éer 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 en utilisant 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 correctement montés à l'aide du montage ou de df
commande :
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.
Nous créons maintenant un fichier de test dans /var/nfs/general
partager :
sudo touch /nfs/general/general.test
Vérifiez son propriétaire :
$ 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é à l'aide de umount
commande :
sudo umount /general
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 obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le Site Web NFS.