This setup is quite different to how you would normally setup NFS on a *nix server.
I only use NFS in read only mode due to security concerns with NFS.
There are very few options you can configure and there is no point in modifying the /etc/rc.conf /etc/exports and there is no point in adding /etc/hosts.deny, /etc/hosts.allow
as they will be removed on server reboot. Hopefully these options will be added in the future or at least a work around made available.
Ideally I’d like to add the
option to the /etc/exports but there is no point as it’s not persisted to hard disk.
In the Web UI under Services|NFS leave Number of servers as default of 4 and check the enable box. This options will allow 4 concurrent users to be logged into the share.
In the Web UI under Services|NFS|Shares add a share with Path of /mnt/FileServer/myNFSshare Network 192.168.0.0/24
Have to set Map all users to root to Yes. This is the same as including the no_root_squash option that can be put in the /etc/exports on a *nix box, but normally I’d choose root_squash, but this doesn’t work well for mounting at boot without the
option in the /etc/exports
Setup my authorised network, All dirs and Read only to yes.
Added the following lines to /etc/rc.conf in FreeNAS as per this link
rpcbind_enable="YES" nfs_server_enable="YES" mountd_flags="-r"
Didn’t need the below line adding to the client machines /etc/rc.conf, although this said I did.
After I restarted the server, the
line was removed and the /mnt/.ssh dir was removed.
I no longer had key pair auth for SSH.
So had to go through the process of setting up that again.
The problem was any changes to /etc are not persisted to disk, so after a reboot it’s reset as it’s the FreeNAS ROM.
Matt Rude helped out with this
What I did was copy the /etc/rc.conf to my ~ which is /mnt/FileServer/home/myuser
Add the options again in /mnt/FileServer/home/myuser/rc.conf
Only the last option was actually not present and needed to be added.
Create a link from /etc/rc.conf to /mnt/FileServer/home/myuser/rc.conf
ln -s /mnt/FileServer/home/myuser/rc.conf /etc/rc.conf
Renamed the /etc/exports on the file server
Check the exports man page for the options…
Created an exports in /mnt/FileServer/home/myuser/ and added the following lines:
/mnt/FileServer/media -alldirs,ro -mapall=myuser:family -network 192.168.0.0 -mask 255.255.255.0 /mnt/FileServer/media -alldirs,ro -mapall=otheruser:family -network 192.168.0.0 -mask 255.255.255.0
Link the /etc/exports to /mnt/FileServer/home/myuser/exports
ln -s /mnt/FileServer/home/myuser/exports /etc/exports
None of the above links worked as they are removed on server reboot.
So basically the only options you have are on the Services|NFS web UI.
From here I created the /mnt/myfileserver/media directory on my client machines and set the myfileserver and media dir and perms to
/mnt/myfileserver was drwxrw—- myuser myusergroup
/mnt/myfileserver/media was drwxr-x— myuser users
Tried to mount the exported nfs share:
# mount myfreenasservername:/mnt/FileServer/media /mnt/myfileserver/media
This worked. So unmounted it.
# umount /mnt/myfileserver/media
Updated the /etc/fstab on the client machines so myfreenasservername:/mnt/FileServer/media would be mounted to /mnt/myfileserver/media on the client machines at boot.
add this to your client machines /etc/fstab
myfileservername:/mnt/FileServer/media /mnt/myfileserver/media nfs ro,hard,intr 0 0