When the simple file and printer sharing features offered by Windows, Unix/Linux, and Mac aren’t enough, you should consider using a network-attached storage (NAS) server.
NAS servers offer a central place where you can store, access, and share files and documents on the local network, and possibly over the Internet. They are especially useful in multiple operating system environments, as they usually support all the sharing protocols.
You can buy off-the-shelf NAS servers or enclosures, which are set up and ready to plug into the network. However, to save money and for more customization, you might want to set up your own server. You can install the server software onto any old PC that’s loaded with a sizable hard drive(s) and an Ethernet adapter. Once you’ve installed it, you can unplug the monitor, keyboard, and mouse.
Here we’ll look at five different NAS servers provided by the open source community:
FreeNAS is arguably the most popular open source NAS project. It is a minimal FreeBSD 7.2 distribution with a web interface, PHP scripts, and documentation based on m0n0wall. It is released under the BSD license. It can be installed onto a Compact Flash, USB flash, or hard drive, or booted directly from a LiveCD.
FreeNAS supports the following protocols: SMB/CIFS (Windows), AFP (Apple/Mac), NFS (Unix/Linux), FTP, TFTP, RSYNC, Unison, iSCSI and UPnP. It also features support for Software RAID (0,1,5), ZFS, and disk encryption.
It’s networking features supports VLAN tagging, link aggregation, and Wake On Lan (WoL). The monitoring features include S.M.A.R.T (smartmontools), email alerts, SNMP, Syslog, and UPS (NUT) support.
You’ll also find extra services: bittorent client (Transmission), UPnP server (FUPPES), iTunes/DAAP server (Firefly), webserver (lighttpd), and network bandwidth measure (Iperf).
CryptoNAS (formerly CryptoBox) is a NAS project concentrating on disk encryption. They provide a Linux-based LiveCD that incorporates encryption with a NAS server. Plus they offer a package that’s installable onto existing Linux-based servers, adding the user friendly web-based frontend for disk encryption. They are licensed under the GPL.
Once you activate an encrypted volume through the web frontend of the CryptoNAS, it’s accessible on the local network via a SMB/CIFS share. The encrypted disk partitions are LUKS volumes. You can also open them on other computer, using FreeOTFE in Windows to decrypt and access the files, or directly with modern Linux systems.
The LiveCD requires just a minimum 200MHz CPU, 64 MB RAM, CD-ROM, network connection, and a storage disk. The storage disk can be any drive supported by the Linux kernel (2.6.20), such as IDE, SCSI, USB, FireWire, SATA, and RAID.
The server package can be installed on an existing Linux system with a minimum kernel 2.6, cryptsetup with LUKS support, kernel support for the crypt target of the device mapper, and Python 2.4. It runs on pretty much any Linux distribution, but they only provide packages for Ubuntu and other Debian distributions.