How to setup nfs server on centos 6

NFS ( Network File System ) is used to share a directory with other clients over a network. It is very useful when it is implemented for accessing shared home folders .
NFS configuration on centos 6 is very easy .Here we need a server and few client machines.
For Demonstration:
Server ( Centos ) : 192.168.1.10
Client ( Centos ) : 192.168.1.200
Client ( Ubuntu ) : 192.168.1.201

Setup nfs server on centos 6

Let’s start. First we need to setup server on centos 6. For my requirement i’m going to create /shome directory on server to store users home directories.

On Server – Centos

Step 1 » Issue the below command to install nfs and dependencies .
[root@server ~]# yum install nfs-utils nfs-utils-lib
Step 2 » After installation issue the commands one by one to start the services and make them to start automatically on boot.
[root@server ~]# service rpcbind start
[root@server ~]# service nfs start
[root@server ~]# chkconfig nfs on && chkconfig rpcbind on

Step 3 » Create a directory /shome.
[root@server ~]# mkdir /shome
Step 4 » Now add the configuration details to /etc/export file which is the config file for NFS.
[root@server ~]# vim /etc/exports

#Share access to all networks
/shome	        *(rw,sync,no_root_squash,no_subtree_check)

and see the other examples

#Share access to particular network
/shome1		192.168.1.1/24(rw,sync,no_root_squash,no_subtree_check)
#Share access to particular host 
/shome2		host.example.com(rw,sync,no_root_squash,no_subtree_check)
/shome2		192.168.1.200(rw,sync,no_root_squash,no_subtree_check)
#Share access to all hosts in particular domain
/shome3		*.krizna.com(rw,sync,no_root_squash,no_subtree_check)

Step 5 » Export the shares using the below command.
[root@server ~]# exportfs -a
Step 6 » Verify the shares
[root@server ~]# exportfs -v
/shome <world>(rw,wdelay,no_root_squash,no_subtree_check)
/shome1 192.168.1.1/24(rw,wdelay,no_root_squash,no_subtree_check)
/shome2 192.168.1.200(rw,wdelay,no_root_squash,no_subtree_check)
/shome3 *.krizna.com(rw,wdelay,no_root_squash,no_subtree_check)

Now stop iptables for testing.
[root@server ~]# service iptables stop
if you want to stop permanently
[root@server ~]# chkconfig iptables off
later check this post Iptables for nfs server on centos-6 and apply rules to allow nfs shares in Iptables.

On Client – Centos

These steps can be applicable for redhat and fedora.
Step 1 » Install nfs and dependencies
[root@client ~]# yum install nfs-utils nfs-utils-lib
Step 2 » Create a directory /rhome ( Home directory for the users ).
[root@client ~]# mkdir /rhome
Step 3 » Now mount the remote share shome directory on rhome local directory.
[root@client ~]# mount 192.168.1.10:/shome /rhome
open /etc/fstab file and add the following line for permanent mount.
192.168.1.10:/shome/ /rhome/ nfs rw,sync,hard,intr 0 0File will looks like

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
192.168.1.10:/shome/    /rhome/                nfs     rw,sync,hard,intr 0 0

Step 4 » Take a quick look on mounted share by using mount command. The last line shows, remote nfs share is mounted properly.
[root@client ~]# mount
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.1.10:/shome on /rhome type nfs (rw,vers=4,addr=192.168.1.10,clientaddr=192.168.1.200)

Step 5 » For testing , just create a file in rhome directory and same file can be found on server shome directory.
Additionally you can create a user by pointing home directory to rhome directory .
[root@localhost ~]# useradd -d /rhome/krizna krizna
This will create home directory for user krizna in rhome directory.

On Client – Ubuntu

Step 1 » Install nfs and dependencies packages.
krizna@client:~$ sudo apt-get install nfs-common rpcbind
Step 2 »Same thing here. Create a directory rhome on / ( This can be a home directory).
krizna@client:~$ sudo mkdir /rhome
Step 3 » Now mount the remote share .
krizna@client:~$ sudo mount 192.168.1.10:/shome /rhome
open /etc/fstab file and add the following line for permanent mount.
192.168.1.10:/shome /rhome nfs rw,sync,hard,intr 0 0
Step 4 » Check the mounted share using mount command.
krizna@client:~$ mount
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
192.168.1.10:/shome on /rhome type nfs (rw,vers=4,addr=192.168.1.10,clientaddr=192.168.1.201)

Step 5 » create a user by pointing home directory to rhome directory .
krizna@client:~$ useradd -d /rhome/testubuntu testubuntu
Now on server you can see 2 home directories “krizna” and “testubuntu” in shome directory .
Have a nice day.

Be the first to comment

Leave a Reply

Your email address will not be published.


*