Setup NFS Server On FreeBSD

Network File System(NFS) is a network file system protocol developed by Sun Microsystems in 1984, allowing a user on a client computer to access files over a network on other   networked Computer.

1. Setting up a FreeBSD NFS Server

In this how-to my testbox is running with FreeBSD with IP Address 192.168.1.117.

The first step to setting up a NFS server is to edit the /etc/rc.conf file and add the following lines:

nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
rpcbind_enable="YES"
mountd_flags="-r"
mountd_enable="YES"

Next, you have to set up /etc/exports file to define which machines have permission to which folders.

/data1 -maproot=user1 host1 host2 host3
/data2 -alldirs host1 host2 host3
/data3 host2

In the above example,

The user1 of host1, host2 and host3 systems has been given privileges to the /data1 directory.

The /data2 and its sub-directories has been given read access to host1, host2 and host3 systems.

The /data3 has been read access to host2 system(make sure you replace hosts with your desired host names).

To start NFS on FreeBSD server, do:

 1 rpcbind
 2 nfsd -u -t -n 4
 3 mountd -r

2. Restarting the NFS Server

Once you have made changes to the exports file you need to restart NFS for the changes to take effect:

 1 kill -HUP `cat /var/run/mountd.pid`

3. Setup the FreeBSD NFS Client

You need to add the following lines to /etc/rc.conf.

nfs_client_enable="YES"
nfs_client_flags="-n 4"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"

4. Mounting NFS Shares

Mounting can be done like below:

 # mount_nfs IP:/data1 /data1

5. Auto Mounting NFS Shares

NFS shares can be automatically mounted by editing  /etc/fstab file.

Example:

 server:/data1  /data1 nfs rw 2 2

6. Mount FreeBSD NFS Shares On Centos Clients

Install Some NFS tools and Libraries:

# yum install nfs-utils nfs-utils-lib

Mount and list the remote folder.

# mount -t nfs FreBSD-Unixmen:/data1 -o vers=3 /NFS
# ls /NFS/
testx testy testz