FreeNAS est un OS Open Source pour NAS (Network-Attached Storage), basé sur une distribution FreeBSD, supportant les protocoles suivants: CIFS (samba), FTP, NFS, TFTP, AFP, RSYNC, Unison, iSCSI (initiateur et cible) et UPnP. Il supporte le RAID logiciel (0, 1, 5) + JBOD et le chiffrement du disque. Une interface de configuration Web est fournie (basée sur celle de m0n0wall).
FreeNAS peut être installé sur Compact Flash / clés USB de 32Mo, disque dur ou démarré à partir du LiveCD et ne nécessite que 96 Mo de mémoire vive pour fonctionner.
Rem : d’autres solutions comme NASLite ou Data Storage Software lite existent mais elles sont soit bien moins maintenues soit beaucoup plus gourmandes.
Installation
FreeNAS
- Se procurer la dernière version de FreeNAS et la graver. Nous, nous la ferons tourner sous Virtual Box.
- Lancer l’installation et choisir le mode de boot (default, ACPI disable, Verbose,…).
(Clickez sur les images pour les agrandir)
- Choisir l’installation sur le disque (9).
- Choisir entre une version « full » ou « embedded ».
- Choisir le disque sur lequel va être installé l’OS, les autres étant réservés au stockage.
- Choisir la taille de la partition et du SWAP.
- Fin de l’installation, on redémarre le système à partir du disque dur et l’on se retrouve à nouveau sur l’écran présenté en supra.
- Assigner une interface réseau, un DHCP ou une adresse IP fixe…
RAID
- Le serveur web de FreeNAS étant directement fonctionnel, on peut accéder à l’interface web pour configurer le RAID. Dans notre cas du RAID 1.
- Ajouter les deux disques restants.
- Il faut ensuite les formater.
- Choisir le disque HDD1 et « software RAID », faire pareil avec le deuxième.
- On va pouvoir les mettre en RAID1 (en n’oubliant pas de cocher la case « créer et initialiser le RAID ».
- Formater le RAID au format UFS
- Il ne reste plus maintenant qu’a le monter
Services
Cifs / smb
Le cifs / smb (Common Internet File System et Server Message Block) est un protocole de partage de fichiers sur un réseau local qui fonctionne dans un environnement hétérogène (Unix, Windows et mac).
C'est un service important et principal dans un système comme FreeNAS, il joue très bien le rôle de serveur de fichier.
Voici sa configuration via l'interface graphique:

Première page de configuration de samba sur 2.
Seconde page de configuration de samba sur 2.
Configuration du partage avec Samba.
Ainsi que le fichier de configuration en mode texte, celui-ci se trouve sur le serveur Freenas dans:
/var/etc/smb.conf
freenas:/var/etc# cat smb.conf
[global]
encrypt passwords = yes
netbios name = freenas
workgroup = WORKGROUP
server string = FreeNAS Server
security = share
dns proxy = no
- Settings to enhance performance:
use sendfile = yes
strict locking = no
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65535
deadtime = 15
getwd cache = yes
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=16384 SO_RCVBUF=16384
- End of performance section
unix charset = UTF-8
large readwrite = no
store dos attributes = yes
local master = yes
time server = yes
guest account = ftp
display charset = LOCALE
max log size = 10
syslog only = yes
syslog = 1
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
log level = 1
dos charset = CP437
smb passwd file = /var/etc/private/smbpasswd
private dir = /var/etc/private
passdb backend = smbpasswd
create mask = 0666
directory mask = 0777
force user = ftp
force group = ftp
[Raid1FreeNAS]
comment = Raid1FreeNAS
path = /mnt/Raid1FreeNAS/
writeable = yes
printable = no
veto files = /.snap/
hide dot files = yes
guest ok = yes
inherit permissions = yes
[user1]
comment = user1
path = /mnt/Raid1FreeNAS/
writeable = yes
printable = no
veto files = /.snap/
hide dot files = yes
guest ok = yes
inherit permissions = yes
vfs objects = recycle
recycle:repository = .recycle/%U
recycle:keeptree = yes
recycle:versions = yes
recycle:touch = yes
recycle:directory_mode = 0777
recycle:subdir_mode = 0700
FTP
Configuration du Ftp (File Transfer Protocol) est un protocole de transfère de fichiers, qui permet d'échanger des fichiers d'un ordinateur à un autre ou de stocker des données sur des sites web. Cela fonctionne également dans un environnement hétérogène.
En mode Graphique:
Première page de configuration du FTP sur 2.
Seconde page de configuration du FTP sur 2.
En mode texte:
Voici le fichier /var/etc/proftpd.conf
freenas:/var/etc# cat proftpd.conf
ServerName "freenas FTP Server"
ServerType standalone
DefaultServer on
DefaultAddress freenas
UseIPv6 on
Port 165
User nobody
Group nogroup
Umask 777 022
SyslogFacility ftp
MultilineRFC2228 off
DisplayLogin /var/run/proftpd/proftpd.motd
DeferWelcome off
TimeoutIdle 600
TimeoutLogin 300
TimeoutNoTransfer 300
TimeoutStalled 3600
MaxInstances none
MaxClients 5
MaxConnectionsPerHost 2
MaxLoginAttempts 1
DefaultTransferMode ascii
IdentLookups off
UseReverseDNS off
<Anonymous /mnt>
User ftp
Group ftp
UserAlias anonymous ftp
</Anonymous>
<Global>
RequireValidShell off
RootLogin on
AllowOverwrite on
DeleteAbortedStores off
TimesGMT off
</Global>
<IfModule mod_ban.c>
BanEngine off
BanControlsACLs all allow group wheel
BanLog /var/log/proftpd/ban.log
BanMessage Host %a has been banned
BanTable /var/run/proftpd/ban.tab
</IfModule>
<IfModule mod_delay.c>
DelayEngine on
DelayTable "/var/run/proftpd/proftpd.delay"
</IfModule>
<IfModule mod_wrap.c>
TCPAccessFiles /etc/hosts.allow /etc/hosts.allow
TCPAccessSyslogLevels info warn
TCPServiceName ftpd
</ifModule>
TFTP
TFTP (Trivial File Transfer Protocol)
Le TFTP est similaire au FTP sauf que celui-ci utilise le protocole UDP contrairement au FTP qui utilise le protocole TCP.
Le TFTP implique donc que le client et le serveur doivent gérer eux même une perte de paquet éventuelle, il ne gère pas le listage des fichiers, le système d'authentification ou encore le chiffrement.
Le TFTP est généralement utilisé en réseau local.
Voici sa configuration via l'interface web de FreeNas:
Configuration du TFTP.
SSH
SSH (Secure SHell) est un protocole de communication crypté, il y a un échange de clé au début de la communication, ensuite les trames sont chiffrées, on ne peut donc pas "sniffer" les paquets, ce protocole de communication à été crée pour remplacer les programmes genre: rlogin, telnet et rsh.
Voici sa configuration avec l'interface web de Freenas:
Configuration du protocole SSH.
Voici un exemple de connexion SSH:
pr0xx@pr0xx-laptop:~$ ssh 9.0.0.01|toor#9.0.0.01|toor -p 22
9.0.0.01|toor#9.0.0.01|toor's password:
Last login: Thu Apr 29 23:35:09 2010 from 10.0.0.3
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
Welcome to FreeNAS!
freenas:~# cd /var/etc
freenas:/var/etc# ls
crontab msmtp.conf ssh
exports nsswitch.conf ssl
fuppes.cfg nut.conf syslog.conf
hosts pam.d ups.conf
iscsi private upsd.conf
ldap.conf proftpd.conf upsd.users
ldap.secret resolv.conf upsmon.conf
lighttpd.conf smb.conf upssched.conf
mdnsresponder.conf snmpd.config websrv.conf
freenas:/var/etc# exit
logout
Connection to 10.0.0.9 closed.
pr0xx@pr0xx-laptop:~$
NFS
NFS (Network File System) c'est un peu le même genre que samba mais ici c'est un protocole qui est plus principalement utilisé entre Systèmes Unix.
Voici sa configuration via l'interface web de Freenas :
Configuration de NFS.
Configuration du partage NFS.
Voici sa configuration en mode texte
/var/etc/exports
freenas:/var/etc# cat exports
/mnt/Raid1FreeNAS/nfs/ -alldirs -mapall=root -network -mask
Upnp
Upnp (Universal Plug and play) est un protocole permettant aux périphériques réseau de se rajouter facilement.
Le terme UPnP est dérivé de Plug and Play.
Une playstation3 ou plus généralement un "lecteur multimédia réseau" utilise UPnP pour faire des échanges de données sur le réseau local.
Voici sa configuration via l'interface web de Freenas:
Configuration d' UpNP.
Serveur Web
Le serveur web peut être utile afin de créer un site intranet ou de fournir certaines ressources aux utilisateurs. Il est intéressant de le coupler avec un NAS car cela nous permet de stocker les Bases de données et les fichiers html, php,…
Voici sa configuration via l'interface web de Freenas:
Configuration du server WEB
Il faut placer les pages WEB dans le répetoire de partage du NAS.
Page WEB appelée via son URL
Voici également sa configuration en mode texte:
/var/etc/websrv.conf
freenas:/var/etc# cat websrv.conf
server.port = 8080
server.document-root = "/mnt/Raid1FreeNAS/WWW/"
server.dir-listing = "enable"
dir-listing.activate = "enable"
dir-listing.hide-dotfiles = "enable"
dir-listing.encoding = "utf-8"
server.modules = (
"mod_access",
"mod_auth",
"mod_cgi" )
server.errorlog-use-syslog = "enable"
server.event-handler = "freebsd-kqueue"
server.max-write-idle = 360
index-file.names = ( "index.php", "index.html", "index.htm", "index.shtml", "default.htm" )
mimetype.assign = (
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "application/ogg",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".cpp" => "text/plain",
".log" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar"
)
url.access-deny = ( "~", ".inc", ".websrv_htpasswd" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
server.pid-file = "/var/run/websrv.pid"
cgi.assign = (".php" => "/usr/local/bin/php")
Screens annexe
On voit ici les informations sur le serveur FreeNAS.
Image montrant le status de la liste des services offerts par FreeNAS.
Graphique montrant la charge réseau (upload et download) durant 2 minutes, mis à jour en temps réel.
Graphique montrant la charge du CPU du serveur durant 2 minutes, mis à jour en temps réel.
Nicolas Croiselet & Gérald Wynant
Aperçu du message:
Fermer l'aperçu