How to Install NFS on Debian 11 Server. In this article we will introduce what NFS server with its pros and benefits, as well as NFS Server versions and next move into installation phase. Let’s get started.
What is NFS
NFS, also known as Network File System and it is a client/server application, which is a protocol built in 1984 by Sun Microsystem on the principle of sharing. This protocol allows users to access files on client computers. It means that it is a distributed file system that helps businesses in sharing files over a network.
Since its launch, it has evolved tremendously, and it is still continuously changing today. It is because it is an open standard solution where anyone within your network reach can implement this protocol on every operating system and make necessary adjustments accordingly.
NFS utilizes a fundamental system in which the “mount” command induces the server to link with multiple clients. This way, it allows the clients to have access to the identical files on the server via appropriate platforms. However, it also uses security protocol to control the access of specific files to produce a simplified and safe way of working.
You can enjoy the following benefits with NFS server:
- It has low cost solution for NFS network file sharing.
- You can share data with your client effortlessly.
- It is user friendly as it allows to access files on remote hosts.
- Supports Directory Services for better access control like LDAP and Microsoft Active Directory.
- Provides security by protecting the server in which the data is stored.
- Provides name mapping between Windows and UNIX users and groups.
- It uses existing Internet Protocol infrastructure and is easy to install.
- It supports a file locking system.
- Provides centralized management.
How NFS Works
NFS version 2 (NFSv2)
This version is one of the oldest and the most widely used format of NFS. It employs User Datagram Protocol (UDP) via an IP network that provides a solid network connection. It has convenient features that make the connection effortless and work in no time. However, UDP clients continuously send requests to the server even if the connection is not working.
NFS version 3 (NFSv3)
This version is designed to support non contemporaneous writing. It allows servers to organize data by helping them in employing appropriate policies. Here, the data is synchronized before creating a command to manage the data. The design creates a better buffer than NFSv2. It is also capable of handling any errors or mistakes and managing massive files precisely.
NFS version 4 (NFSv4)
NFS version 4 is the latest version of this protocol, which can not only work on the internet but on the firewall as well. Moreover, since it does not require any rpcbind service, you can effortlessly run this protocol in multiple places.
Transmission Control Protocol, or TCP works with NFS form. It links the application and IP protocol. This way, they keep tabs on the data and only receive frames that are lost in the TCP set while sending something for the second time.
This server also accepts TCP port 2049 commands that are widely used to eliminate the need for interactions with daemons like rpcbind and lockd options.
To summarize, NFS is the most essential protocol as it helps in sharing the file with people within your network. However, look at the version and ensure it’s working to make both your network and file content visible to everyone in your business. Implement NFS daemon to access data stored on another device immediately and efficiently.
Follow the next steps about how to install the NFS on Debian 11 server.
How to Install NFS on Debian 11 Server
By default, the NFS server package is included in Debian 11. You can install it by running the following command:
apt-get install nfs-kernel-server -y
systemctl start nfs-server systemctl enable nfs-server
You can verify the status of the NFS service using the following command:
systemctl status nfs-server
You will get the following output:
● nfs-server.service - NFS server and services Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled) Active: active (exited) since Thu 2022-04-04 12:09:06 UTC; 5s ago Main PID: 4198 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 2353) Memory: 0B CGroup: /system.slice/nfs-server.service April 04 12:09:05 debian11 systemd: Starting NFS server and services... April 04 12:09:06 debian11 systemd: Finished NFS server and services.
Create an NFS Share
Next step in this article about How to Install NFS on Debian 11 Server, you will need to create a directory on the NFS serve that you want to share with the client systems. Let’s create a directory named /data using the following command:
Following that, assign proper ownership and permissions to the /data directory so it can be accessible from the client machines.
chown nobody:nogroup /data chmod -R 777 /data
Configure an NFS Exports
After creating the NFS directory, you will need to allow client systems to access the NFS share. You can do it by editing the /etc/exports file.
Add the following line:
Save and close the file when you are finished.
The above configuration will allow all clients in the 192.168.0.0 network to access the NFS share.
- rw – Assign read and write
- sync – Write changes to disk before applying them
- no_subtree_check – Avoid subtree checking
Next, run the following command to export the shared directory and make it available to all client systems.
export -a systemctl restart nfs-server
Allow NFS Through UFW Firewall
If you have configured UFW firewall on your server. Then, you will need to allow NFS service to the client network. You can allow it by running the following command:
ufw allow from 192.168.0.0/24 to any port nfs
Next is to reload the UFW firewall to apply the changes.
Install NFS Client
At this point, the NFS server is installed and configured. Now, you will need to install the NFS client package on the client system. You can install it by running the following command:
apt-get install nfs-common -y
Once the NFS client package is installed, you can proceed to the next step.
Mount NFS Share on Client System
Firstly, you will need to create a directory on the client system on which you want to mount the NFS share from the server.
Let’s create a directory named nfs_mount inside /opt directory:
Now, mount the NFS share directory to the client directory using the following command:
mount -t nfs -o nfsvers=3 192.168.0.10:/data /opt/nfs_mount
Where: 192.168.0.10 is the IP address of the NFS server.
Following step is to verify that the NFS share directory is mounted using the following command:
You should see your mounted share in the last line of the following output:
Filesystem Size Used Avail Use% Mounted on udev 981M 0 981M 0% /dev tmpfs 199M 588K 199M 1% /run /dev/sda1 50G 1.8G 46G 4% / tmpfs 994M 0 994M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 994M 0 994M 0% /sys/fs/cgroup tmpfs 199M 0 199M 0% /run/user/0 192.168.0.10:/data 50G 2.0G 46G 5% /opt/nfs_mount
The above command will mount the remote NFS share temporarily. To make the mounts permanent on reboot, open the /etc/fstab file:
Add the following lines:
192.168.0.10:/data /opt/nfs_mount nfs defaults,timeo=900,retrans=5,_netdev 0 0
Save and close the file then, run the following command to apply the changes.
Verify NFS Share
To verify the NFS share, let’s create some files and directories on the NFS server.
mkdir /data/directory1 /data/directory2 /data/directory3 touch /data/file1.txt /data/file2.txt
Now, go back to your client system and verify all files and directories in your mounted directory:
ls -l /opt/nfs_mount
You will get the following output:
drwxr-xr-x 2 root root 4096 April 4 09:04 directory1 drwxr-xr-x 2 root root 4096 April 4 09:04 directory2 drwxr-xr-x 2 root root 4096 April 4 09:04 directory3 -rw-r--r-- 1 root root 0 April 4 09:04 file1.txt -rw-r--r-- 1 root root 0 April 4 09:04 file2.txt
Great effort you have followed all the steps to Install NFS on Debian 11 Server.
How to Install NFS on Debian 11 Server Conclusion
In the above post, you learned how to install the NFS server and client on Debian 11. You also learned how to share a directory through NFS and mount it on the client machine.
NFS is a solution for remote file sharing between the servers, by using the existing internet protocol infrastructure. NFSv3 is the most popular server and some of the interesting protocol features are caching, security support, shared file locking and in NFS server, remote server management is used.
I hope this article will assist you in file sharing using NFS on your internal network.