The credit for this work goes to others - I'm just distilling it here
I've tested these actions on my own personal D-Link DNS-323. I've installed two 500GB Seagate drives in a RAID-1 configuration. It's running firmware 1.04 with fun_plug ver 0.5beta. I don't have any security turned on - everything is wide-open within my home network. This is fine for now and later I'll lock things down.
I'm using the DNS-323 in a primarily Linux environment. Things are mostly OK. What got me to look into setting up NFS on the DNS-323 was the errors I'd get while copying directory trees from a Linux box. If the source contained links then I'd get Error "Unsupported operation" while copying <some filespec>. I needed a way of preserving the links and that's why I turned to NFS.
Here's a breakdown of what you'll need to do to duplicate my setup:
- Download fun_plug & fun_plug.tgz (or cached here and here)
- Install fun_plug on your DNS-323. I used an Ubuntu Hardy Heron Desktop and navigated: [Places] -> [Connect to Server]. Set the Service type to Windows share, set Server to 192.168.1.102 and the Folder to Volume_1. Now copy fun_plug & fun_plug.tgz into Volume_1 on the DNS-323 - drag and drop with Nautilus for me.
- Restart the DNS-323. This will install the fun_plug package and start a telnet daemon
- Telnet to the DNS-323. In my case: telnet 192.168.1.102
- Start the NFS Server: sh /ffp/start/unfsd.sh start This will create a /ffp/etc/exports and a link to that from /etc. It will also start the NFS daemon.
- Customize (vi is available) the NFS exports file. I'm running in a RAID-1 configuration so I don't want the default entries. I use the DNS-323 for backups and as a common disk so I want to be able to mount those two seperately. My exports file looks like:
- /mnt/HD_a2/Common 192.168.1.0/24(rw,no_root_squash)
- /mnt/HD_a2/backup 192.168.1.0/24(rw,no_root_squash)
- Restart the NFS server by sh /ffp/start/unfsd.sh stop & sh /ffp/start/unfsd.sh start
- Finally - mount the DNS-323 exported file system(s) from your desktop:
- sudo mount -t nfs 192.168.1.102:/mnt/HD_a2/Common /mnt
- sudo mount -t nfs 192.168.1.102:/mnt/HD_a2/backup
- If everything is working - make the DNS-323 NFS server start after every boot: chmod a+x /ffp/start/unfsd.sh
If you look at the file permissions on the DNS-323 when you operate via SAMBA everything is owned by nobody:nobody. When you NFS mount you get different uid/gid values.
You get around that by squashing the userid and forcing a single common id for all NFS connections, kinda like this: