D-Link DNS-320 är en trevlig liten lagringsenhet lämplig för ett hemmanätverk eller mindre kontor.
Den är utrustad med plats för två hårddiskar och möjlighet att köra JBOD, RAID0 eller RAID1. Det går även att använda de två diskarna som separata enheter (eller bara använda en disk).
Enheten är utrustad med 128MB RAM, 800MHz Marvell 88F6281 CPU, 1 USB 2.0 port på framsidan samt ett Marvell 88E1118R-NNC1 nätverkskort (gigabit ethernet).
DNS-320 administreras via medföljande programvara (som jag inte använt och således inte kan kommentera) eller via ett enkelt webgränssnitt.
Mjukvaran är linux-baserad (linux kernel + busybox) och det går med lätthet att komplettera och förändra maskinen som man vill. Det är även relativt enkelt att bygga sin egen firmware och installera (ett utvecklings-kit för detta finns tillgängligt från D-Link).
Direkt ur lådan stödjer mjukvaran CIFS, NFS, FTP(S), iTunes (streaming media server), OS X Time Machine, dynamisk DNS och P2P (torrents).
Vidare finns användaradministration med stöd för grupper och quotas samt mölighet att få mail med status och varningar (som när en disk är full eller krånglar).
För att få tillgång till lite mer funktionalitet och möjlighet att installera ytterligare programvara på DNS-320 kan man installera ffp (fonz's fun_plug).
Initialisera och konfigurera först DNS-320 enligt medföljande instruktioner.
Ladda sedan ner följande filer och kopiera dom till roten på Volume_1 (den volym som skapades vid konfigureringen):
- fun_plug för DNS-320 http://www.shadowandy.net/wp/wp-content/uploads/fun_plug (MD5: 81dbd1acbfeb2003b52084d157109b44)
- fun_plug.tgz http://www.inreto.de/dns323/fun-plug/0.5/fun_plug.tgz (MD5: fcaf37a0a26222ef1231fe287e972a9b)
- fun_plug.local för DNS-320 http://www.shadowandy.net/wp/wp-content/uploads/fun_plug.local (MD5: 326f60fba339bccf6934c3e4a78714af)
Boota sedan om enheten och anslut till den med telnet (som nu är aktiverat). Du har nu full tillgång till din lagringsenhet.
För kompatibilitets skull bör du nu kopiera fun_plug.local till /ffp/etc och förse den med exekverings rättighet:
/ # cp /mnt/HD/HD_a2/fun_plug.local /ffp/etc/ / # chmod +x /ffp/etc/fun_plug.local
Boota därefter om och fortsätt med att aktivera sshd och inaktivera telnetd.
Användare kan inte ansluta med ssh per automatik. Först måste /etc/shadow skapas med pwconv:
/ # pwconv
Sätt ett lösenord för root (detta är alltså inte admin-användaren som du använt i webgränssnittet) med passwd:
/ # passwd
Ge root ett användbart skal och en permanent hemkatalog:
/ # usermod -s /ffp/bin/sh root / # mkdir -p /ffp/home/root / # usermod -d /ffp/home/root root
Aktivera sshd:
/ # chmod a+x /ffp/start/sshd.sh / # /ffp/start/sshd.sh start
Logga in med ssh och kontrollera att det fungerar
Spar lösenordsändringarna du gjort genom att spara ner och kör store-passwd.sh. Detta skript måste köras efter att du gjort ändringar för användarkonton från skalet (behöver alltså inte köras efter ändringar gjorda från webgränssnittet) för att dessa ska följa med vid reboot. Kontrollera resultatet av md5sum så att det stämmer överens innan du kör skriptet (ännu bättre är att kontrollera innehållet i filen så att du ser vad det är som körs):
/ # wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh / # md5sum /ffp/sbin/store-passwd.sh 115e961356c7010a462a87168a5288e8 /ffp/sbin/store-passwd.sh / # /ffp/sbin/store-passwd.sh
Till sist kan vi inaktivera telnetd:
/ # chmod -x /ffp/start/telnetd.sh
Förfarandet för att aktivera root-användaren för login via ssh är detsamma om du vill tillåta andra användare tillgång via ssh. En god ide är att aktivera en annan användare för ssh och använda den för att logga in och använda su för root-access. Ändra i sådant fall PermitRootLogin i /ffp/etc/ssh/sshd_config.
Tänk på att ffp installeras i roten på Volume_1 så dela inte ut hela Volume_1 utan skapa istället underkataloger att dela ut!