How to install and configure NFS in RHEL 7/ CentOS 7

How to install and configure NFS

NFS, stands for Network File System, helps you to share files and folders between Linux / Unix systems, developed by SUN Microsystems in 1990. NFS enables you to mount a remote share locally. This guide helps you to setup NFS server on CentOS 7 / RHEL 7. Here will see how to install and configure NFS in RHEL 7/CentOS 7

Step 1: Verify a package

Before start installing NFS package make sure it’s not install in a server

# rpm –qa nfs

If there is no output you can proceed step 2, or skip step 2 and move to step 3

Step 2: installing NFS-Server

To install NFS packages in NFS Server, use following commend

# yum install nfs-utils libnfsidmap –y

Once we installed NFS, now we need to start and enable the NFS service

For Enable

# systemctl enable rpcbind

# systemctl enable nfs-server

To Start, make sure you are starting in this order, or you will get error

# systemctl start rpcbind

# systemctl start nfs-server

# systemctl start rpc-statd

# systemctl start nfs-idmapd


rpcbind : The rpcbind server converts RPC program numbers into universal addresses.

nfs-server :  It enables the clients to access NFS shares.

nfs-lock / rpc-statd : NFS file locking. Implement file lock recovery when an NFS server crashes and reboots.

nfs-idmap : It translates user and group ids into names, and to translate user and group names
into ids

Step 3: Creating NFS-Share

Here let we create share folder under / partition

# mkdir /NFSSHARE

Allow the client to read and write in created share folder

# chmod 777 /NFSSHARE

Now we need give entry in “/etc/exports”, to share the folder via NFS

# vim /etc/exports



/NFSSHARE – is a share folder   You can replace this with any IP

rw – read/write permission to the shared folder

sync – all changes to the according filesystem are immediately flushed to disk;

no_root_squash : By default, any file request made by user root on the client machine is treated as by user nobody on the server. (Exactly which UID the request is mapped to depends on the UID of user “nobody” on the server, not the client.) If no_root_squash is selected, then root on the client machine will have the same level of access to the files on the system as root on the server.

Step 4: Export the share folder

For exporting share folder

# exportfs –r


exportfs -v : Displays a list of shares files and export options on a server

exportfs -a : Exports all directories listed in /etc/exports

exportfs -u : Unexport one or more directories

exportfs -r : Reexport all directories after modifying /etc/exports

Configure Firewall:

We need to configure firewall on NFS server to allow client servers to access NFS shares

firewall-cmd –permanent –zone public –add-service mountd

firewall-cmd –permanent –zone public –add-service rpc-bind

firewall-cmd –permanent –zone public –add-service nfs

firewall-cmd –reload

Step 5: Install NFS in Client

Install and start the NFS service in client (RHEL 6)

To install NFS

# yum install nfs* –y

To enable NFS

# chkconfig nfs on

# chkconfig rpcbind on

To start the service

# /etc/init.d/nfs start

# /etc/init.d/rpcbind start

 Step 6: Mounting share in Client

Before mounting share folder, let check the available shares using

# showmount –e IP

Export list for

/NFSSHARE yyy.yyy.yyy.yyy

Replace with valid IPs

Now we can mount the nfs share in client, to mount create /mnt/myshare folder

# mkdir /mnt/myshare

# mount <Server.IP>:/NFSSHARE /mnt/myshare

Now share folder mounted successfully. This is temporary mount only, it will went of after reboot, for permanent mount we need to make entries in /etc/fstab

# vim /etc/fstab

<Server IP>:/NFSSHARE/ /mnt/myshare nfs rw,sync,hard,intr 0 0

Note: this is sample entry only.

Once you make entry now you can reboot the client and check.

To UnMount:

# umount /mnt/myshare