NFS HOWTO
I have put this HOWTO together from various sources which I will list at the end. Discuss here is the process of setting up a server and using a client. I'm not going to get very wordy here as this is really a reference for myself. However, if you want to contact me concerning this document, follow the link at the bottom of this page for my contact info.
Getting the Packages
On Debian derived systems you can install the server packages as shown below:
sudo apt-get install nfs-kernel-server nfs-common rpcbind
Configuring portmap
Do not bind portmap to the loopback. If you need to reconfigure the portmap run the first of the next two commands or edit /etc/default/portmap by hand then restart the servers.
sudo dpkg-reconfigure portmap sudo /etc/init.d/portmap restart
Configuring NFS
Edit the /etc/exports file.
The following line will permit all 254 C class addresses on the private net specified to access this mount.
/home 192.168.1.0/24(rw,no_root_squash,no_subtree_check,async,insecure)
This line will permit all 65534 C class addresses on the private net specified to access this mount.
/home 192.168.0.0/16(rw,no_root_squash,no_subtree_check,async,insecure)
You must execute the following commands after any edit to the /etc/exports file.
Reread the /etc/exports file.
sudo exportfs -ra
Restart the nfs server.
sudo /etc/init.d/nfs-kernel-server restart
Note: See ipcalc for details of determining the network parameters.
TCP Wrappers
In the /etc/hosts.deny file deny everything.
ALL: ALL: \ spawn ( DATE=`date`; /bin/echo $DATE %d %u %c >> /var/log/wrapper-deny.log )
In the /etc/hosts.allow file add portmap, mountd, nfsd, lockd, rquotad, statd.
ALL: 127.0.0.1 portmap, mountd, nfsd, lockd, rquotad, statd, sshd, cvs : \ 127.0.0.1, \ some.domain.org, \ some.domain.net : \ spawn ( DATE=`date`; /bin/echo $DATE %d %u %c >> /var/log/wrapper-allow.log )
Installing Just the Client Software
sudo apt-get install portmap nfs-common
Manual Mounting
First make a mount point on your remote machine where you want the server mount to be located.
cd / sudo mkdir -p /exports/{host}/home
The following will mount your remote /home directory to /export/{host}/home on the client machine.
sudo mount -t nfs {host}.mydomain.org:/home /export/{host}/home
You may not need the -t nfs in the above command.
You will need to restart the servers using the commands below:
sudo /etc/init.d/portmap restart sudo /etc/init.d/nfs-common restart
Auto Mounting
Install the autofs package:
sudo apt-get install autofs
Edit the /etc/auto.master file adding the following line.
/exports/{host} /etc/auto.{host} --timeout=60
Create the /etc/auto.{host} file and add the lines for your mounts.
someuser -rw,soft,bg,intr {host}.mydomain.org:/home/someuser iso -rw,soft,bg,intr {host}.mydomain.org:/extra0/iso Video -rw,soft,bg,intr {host}.mydomain.org:/extra1/Video
I make a directory path at the root system named /exports/{host} where host is the host name of the machine I am mounting shares from.
sudo mkdir -p /exports/{host}
Boot Mounting
Edit /etc/fstab adding the following line:
host.mydomain.org:/home /exports/{host}/{home} nfs rw,bg,intr 0 0
Look at the nfs manual page for other mounting options.
To test your edit type in a terminal the following command:
mount /exports/{host}/{home}
Useful Links
http://ubuntuforums.org/showthread.php?t=249889
http://tldp.org/HOWTO/NFS-HOWTO/