# [Debian] Serveur NFS

## Introduction

Le service **NFS** pour *Network File System* est généralement le protocole de partage de fichier à privilégier sur **Linux** pour sa performance.

Contrairement à la plupart des autres protocoles, il n'est pas basé sur un système d'authentification mais autorise un hôte ou un sous-réseau à se connecter au partage.

## Source

- [Article d'Adrien Linuxtricks](https://www.linuxtricks.fr/wiki/debian-installer-un-serveur-nfs)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/9qqimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/9qqimage.png)

## Installation du serveur

Tout d'abord, installez le paquet **nfs-kernel-server** :

```bash
sudo apt install nfs-kernel-server
```

Dans le cas où votre partage sera utilisé via votre nom de domaine, modifiez le fichier idmapd.conf :

```
Domain = <YOUR_FQDN>
```

Démarrez et activez le service NFS :

```bash
sudo systemctl enable --now nfs-server.service
```

Configurez vos partages NFS dans le fichier **/etc/exports** en respectant ce format :

```
<SHARED_FOLDER_PATH>/           <IP>/<CIDR_MASK>(rw,sync,no_root_squash)
```

Pour prendre en compte les modifications :

```bash
sudo exportfs -a
```

<div class="formatter-content copy-code-content" id="bkmrk--1"></div>## Montage sur le client

Maintenant que votre partage NFS est configuré côté serveur, il faut monter le partage côté client.

Pour cela, commencez par installer le paquet **nfs-common** :

```bash
sudo apt install nfs-common
```

Créez le dossier qui va contenir le point de montage pour le partage NFS :

```
mkdir -p <MOUNT_POINT>
```

Puis montez le partage :

```
mount -t nfs <NFS_SERVER_IP>:<NFS_SHARE> <MOUNT_POINT>
```

Vous pouvez afficher les partages actifs montés sur le client :

```bash
showmount -e
```

On peut ajouter le partage dans le **/etc/fstab** pour qu'il soit persistent après le démarrage :

```
<SRV_IP>:<SHARE>    <MOUNT_POINT>    nfs    auto,_netdev,nofail    0 0
```

<div class="formatter-content copy-code-content" id="bkmrk--2"></div>