Adding NFS to your D-Link DNS-323

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:

  1. Download fun_plug & fun_plug.tgz (or cached here and here)
  2. 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.
  3. Restart the DNS-323. This will install the fun_plug package and start a telnet daemon
  4. Telnet to the DNS-323. In my case: telnet 192.168.1.102
  5. 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.
  6. 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:
    1. /mnt/HD_a2/Common 192.168.1.0/24(rw,no_root_squash)
    2. /mnt/HD_a2/backup 192.168.1.0/24(rw,no_root_squash)
  7. Restart the NFS server by sh /ffp/start/unfsd.sh stop & sh /ffp/start/unfsd.sh start
  8. 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
  9. If everything is working - make the DNS-323 NFS server start after every boot: chmod a+x /ffp/start/unfsd.sh

Gotchas:

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:

/mnt/HD_a2/Common 192.168.1.0/24(rw,all_squash,anonuid=501,anongid=501)

Resources:

http://wiki.dns323.info/

Google Search