Review: Hackable Linux NAS, the D-Link DNS-323

The D-Link DNS-323 is a bargain-priced, consumer-grade network storage enclosure, similar to countless others. It’s made of cheap plastic, has uninspired design, and a clunky web-based management interface. It’s also brilliant, and if you have any hacker in you at all, you should buy one.

What makes the DNS-323 so worthwhile? Well, first of all, it’s cheap. Under $120 after rebate at Amazon right now. Secondly, it’s really a lightweight server running Linux, and it’s easy to customize its capabilities by installing new software on it. You don’t have to replace the included OS or void your warranty. D-Link has included a capability for you to upload a replacement boot script that allows the device to run the software that you install when it boots.

There are a bunch of Linux-based NAS devices out there. A lot of them are very good, and the good ones are all substantially more expensive than the DNS-323. The ones that are in this price range have various shortcomings. The Linksys NAS200 is slow and lacks the robust hacker community. The Linksys NSLU2 requires the drives to be installed in external USB enclosures. The Buffalo LS-320GL only comes with one (small) drive preinstalled, and replacing it voids the warranty. Hacking consumer-grade NASes to give them expanded capability is a very popular pastime, so you can benefit from the countless hours of tinkering that others have spent, and the DNS-323 has proven to be one of the more popular platforms.


As for hardware, it’s a 500mhz ARM processor, 64MB RAM, a Marvell 88X7042 SATA controller and a Marvell 88E1111 gigabit network handler. It has two drive bays that, with a firmware update, will support 2 Terabyte hard drives in four disk modes: Standard (disks show up as separate volumes), JBOD (one large volume), RAID 0 (striped mode for high performance), RAID1 (mirrored for redundancy). Unlike many other bargain NASes, it allows the disks to spin down to save energy. It’s compact, quiet (with a speed-controlled fan that’s nearly silent), dissipates heat well. Drives are installed easily, with no tools.

On the software side, we’ll divide that into two parts. First, the factory-installed functionality, and second, the hacker-installed functionality.

From the factory, it’s got some useful capabilities:

  • Windows networking
  • Built-in FTP server
  • USB print server (next to the printer is a great place to keep it)
  • UPnP-based media server
  • iTunes server
  • Windows client software for automated backups included
  • A built-in Bittorrent client

First of all, you’ll need to upgrade to the latest firmware because they added new functionality for a couple of years after release. I found the printserver to be very useful, and I easily set both my Windows and Mac computers to print to my HP Color Laserjet, with fewer problems than I’ve ever had with a printserver. Connecting to the DNS-323 is easy, though it takes my Mac a little time to recognize it over Windows networking. (I was able to rectify that with some hacking). I fiddled around with the media server capabilities, but found better aftermarket media servers. As for the iTunes server, it works, but what I really would like would be a way for me to play music files to speakers over an Airport Express using the iPhone Remote app, directly from the fileserver, without having to use a computer running iTunes as an intermediary. I haven’t figure out whether this is possible yet.

The niftiest stock feature has to be the Bittorrent client. This lets you download huge files over Bittorrent without having to leave your computer on. So you can find those old Airwolf episodes you’ve been wanting to watch, have the DNS-323 download them over the days or weeks, then either transfer or stream them to the device you want to watch them on.

Let’s get to the hacking. First of all, visit the DNS-323 Wiki. It’s a clearinghouse of all the information on what you can do once you open up the hood. I won’t even try to give you a comprehensive list of what you can do. Visit the site. Here’s what I did on my 323:

  • Installed SSH (be default you must FTP files to the unit then reboot to make them run)
  • Enabled Rsync and ipkg (makes it easier to install additional packages)
  • Installed Netatalk (enabled my Mac to network with the 323 more easily)
  • Installed Twonky media server (better than the included media server)

I’ve still got to do some additional work getting the 323 to emulate a Time Capsule so I can do my Time Machine backups to it.

So spend some time browsing the various expansion options at the Wiki site. Keep in mind that my Linux sysadmin skills are pretty shaky, and I was able to muddle through following instructions with some trial and error over a couple of hours. Many of the configuration instructions involve the dreaded editing of arcane config files, so if you’re a complete command line newbie, you may need to brush up on your basic conventions. This would be a great, low risk opportunity for you to learn something new.

There are a few cons to the DNS-323: Even on a Gigabit network, the transfer speeds aren’t stellar. You won’t get anywhere near the transfer speed that a directly-connected USB 2.0 or Firewire disk enclosure will get you. If you’re going to use the stock functionality, and you call D-Link for tech support, don’t expect a great experience. Remember, D-Link probably made only $20-30 profit when they sold you this thing, so they’re not exactly going to roll out the red carpet for you when you have a problem.


Inexpensive, highly-customizable, RAID-capable, Gigabit, printserver-enabled network storage supported poorly by D-Link but extensively by a robust developer community. 9/10


  1. 2009-10-30 7:49 pm
  2. 2009-10-30 8:07 pm
    • 2009-10-30 8:36 pm
  3. 2009-10-30 10:25 pm
    • 2009-10-31 4:23 pm
  4. 2009-10-30 11:18 pm
    • 2009-10-30 11:48 pm
    • 2009-10-31 11:53 am
      • 2009-10-31 1:58 pm
  5. 2009-10-30 11:22 pm
  6. 2009-10-31 2:03 am
  7. 2009-10-31 3:08 am
    • 2009-10-31 5:02 pm
  8. 2009-10-31 4:14 am
  9. 2009-10-31 9:56 am
    • 2009-10-31 3:51 pm
  10. 2009-10-31 1:20 pm
    • 2009-11-01 11:43 pm
  11. 2009-11-01 3:12 pm
  12. 2009-11-02 1:52 am
    • 2009-11-03 2:33 am
      • 2009-11-03 8:35 pm
  13. 2009-11-03 5:12 pm
    • 2009-11-03 10:27 pm