Installing and configuring NFS Server on Ubuntu To install and configure the NFS server, follow the steps outlined below. ...
Installing
and configuring NFS Server on Ubuntu
To install and configure the NFS server, follow the steps outlined below.
Step
1: Install NFS Kernel Server in Ubuntu
The first step is to install the nfs-kernel-server package on the server. But before we do
this, let’s first update the system packages using the following apt
command.
$ sudo apt update
Once the update is complete, proceed and install the nfs-kernel-server package as shown below. This will store
additional packages such as nfs-common and rpcbind which are equally crucial to the setup
of the file share.
$ sudo apt install nfs-kernel-server
Install NFS Server on Ubuntu
Step
2: Create an NFS Export Directory
The second step will
be creating a directory that will be shared among client systems. This is also
referred to as the export directory and it’s in this directory that we shall
later create files which will be accessible by client systems.
Run the command below
by specifying the NFS mount directory name.
$ sudo mkdir -p /mnt/nfs_share
Since we want all the
client machines to access the shared directory, remove any restrictions in the
directory permissions.
$ sudo chown -R nobody:nogroup /mnt/nfs_share/
You can also tweak the
file permissions to your preference. Here’s we have given the read, write and
execute privileges to all the contents inside the directory.
$ sudo chmod 777 /mnt/nfs_share/
Create NFS Share in Ubuntu
Step
3: Grant NFS Share Access to Client Systems
Permissions for accessing the NFS server are defined in
the /etc/exports file. So open
the file using your favorite text editor:
$ sudo vim /etc/exports
You can provide access
to a single client, multiple clients or specify an entire subnet.
In this guide, we have
allowed en entire subnet to have access to the NFS share.
/mnt/nfs_share
192.168.43.0/24(rw,sync,no_subtree_check)
Explanation about the
options used in the above command.
§
rw: Stands for
Read/Write.
§
sync: Requires changes to
be written to the disk before they are applied.
§
No_subtree_check:
Eliminates subtree checking.
Set NFS Share Access
To grant access to a
single client, use the syntax:
/mnt/nfs_share client_IP_1
(re,sync,no_subtree_check)
For multiple clients,
specify each client on a separate file:
/mnt/nfs_share client_IP_1
(re,sync,no_subtree_check)
/mnt/nfs_share client_IP_2
(re,sync,no_subtree_check)
Step
4: Export the NFS Share Directory
After granting access
to the preferred client systems, export the NFS share directory and restart the
NFS kernel server for the changes to come into effect.
$ sudo exportfs -a
$ sudo systemctl restart nfs-kernel-server
Export NFS Share Directory
Step
5: Allow NFS Access through the Firewall
For the client to
access the NFS share, you need to allow access through the firewall otherwise,
accessing and mounting the shared directory will be impossible. To achieve this
run the command:
$ sudo ufw allow from 192.168.43.0/24 to any port nfs
Reload or enable the firewall (if it was turned off) and check
the status of the firewall. Port 2049, which is the default file share, should be
opened.
$ sudo ufw enable
$ sudo ufw status
Open NFS Port on Firewall
Install
the NFS Client on the Client Systems
We’re done installing
and configuring the NFS service on the Server, let’s now install NFS on the
client system.
Step
1: Install the NFS-Common Package
As is the norm, begin
by updating the system packages and repositories before anything else.
$ sudo apt update
Next, install nfs-common packages as shown.
$ sudo apt install nfs-common
Install NFS on Client System
Step
2: Create a NFS Mount Point on Client
Next,you need to
create a mount point on which you will mount the nfs share from the NFS server.
To do this, run the command:
$ sudo mkdir -p /mnt/nfs_clientshare
Step
3: Mount NFS Share on Client System
The last step
remaining is mounting the NFS share that is shared by the NFS server. This will
enable the client system to access the shared directory.
Let’s check the NFS Server’s IP address using the ifconfig command.
$ ifconfig
Check Ubuntu Server IP Address
To achieve this run
the command:
$ sudo mount 192.168.43.234:/mnt/nfs_share /mnt/nfs_clientshare
Step
4: Testing the NFS Share on Client System
To verify that our NFS
setup is working, we are going to create a few files in the NFS share directory
located in the server.
$ cd /mnt/nfs_share/
$ touch file1.txt file2.txt file3.txt
Now head back to the
NFS client system and check if the files exist.
$ ls -l /mnt/nfs_clientshare/
COMMENTS