NFS Techne
A practical knowledge base
Setup NFS server on Debian
sudo apt install -y nfs-kernel-server nfs-common
Configure NFSv4 in /etc/default/nfs-common
:
NEED_STATD="no" NEED_IDMAPD="yes"
Configure NFSv4 in /etc/default/nfs-kernel-server
. Disable NFSv2 and NFSv3.
RPCNFSDOPTS="-N 2 -N 3" RPCMOUNTDOPTS="--manage-gids -N 2 -N 3"
sudo systemctl restart nfs-server
Configure FirewallD:
sudo firewall-cmd --zone=public --permanent --add-service=nfs sudo firewall-cmd --reload
Setup pseudo filesystem and exports:
sudo mkdir /shared sudo chown -R nobody:nogroup /shared
Add exported directory to /etc/exports
:
/shared <ip address of client>(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0)
Create the NFS table:
sudo exportfs -a
Setup NFS client on Debian
sudo apt install -y nfs-common
Create shared directory:
sudo mkdir -p /mnt/shared
Mount NFS exports:
sudo mount.nfs4 <ip address of server>:/ /mnt/shared
Note that
<server ip>:/
is relative to the exported directory. So/mnt/shared
on the client is/shared
on the server. If you try to mount withmount -t nfs <server ip>:/shared /mnt/shared
you will get a no such file or directory error.
/etc/fstab
entry:
<ip address of server>:/ /mnt/shared nfs4 soft,intr,rsize=8192,wsize=8192
sudo systemctl daemon-reload sudo mount -av