A la découverte d'UNIX (FreeBSD)

A la découverte d'UNIX (FreeBSD)

Mis à jour le mardi 8 janvier 2013
  • 4 semaines
  • Moyen

Vous avez sous la main un vieil ordinateur que vous trouvez trop lent ? :( Vous comptez le jeter ?

UNIX sur un seul ordinateur, c'est bien. :) Mais cet OS est aussi conçu pour les réseaux. Dans ce chapitre, je vais donc vous proposer deux petits réseaux intéressants. Et votre vieille machine va pouvoir commencer une nouvelle vie trépidente.

A - Un client léger

Pour moi, c'est l'un des grands atouts de PC-BSD : il peut transformer votre ordinateur en un serveur pour clients légers. J'avais déjà vu certaines distributions Linux en faire autant (Skolelinux, Ubuntu, etc.) mais c'est vraiment plus simple avec PC-BSD.

C'est quoi, un client léger ?

C'est un ordinateur qui n'exécute aucun programme lui-même. Il se contente de transmettre à un ordinateur plus puissant (le serveur) les signaux de son clavier et de sa souris. Le serveur, sur lequel s'exécutent les programmes, traîte ces informations et dit au client léger ce qu'il doit afficher sur son écran.

Rien n'est installé sur le client léger, qui n'a même pas besoin de disque dur. Une carte réseau, une carte graphique et une mémoire vive rudimentaire lui suffisent. Même s'il est ancien, ce n'est pas un problème.

Image utilisateur

Un même serveur peut gérer simultanément une douzaine de clients, voire plus s'il est très puissant. Il lui faut une grosse mémoire vive car c'est lui qui exécute tous les programmes. Mais aujourd'hui, il est facile de trouver un PC avec 4Go de RAM. De plus, si plusieurs clients utilisent un même programme, il suffit au serveur de le charger une fois en mémoire. Et c'est au moins le cas du système d'exploitation.

Il va quand même falloir acheter quelque chose : une deuxième carte réseau pour le serveur :

Image utilisateur

Image tirée du tutoriel de junior0, The frog et Vinc14 sur les réseaux

On trouve des cartes réseau à partir de 8€ dans les grands supermarchés ou sur internet. Voici comment disposer vos appareils :

Image utilisateur

Une fois ces branchements terminés, ouvrez un terminal sur le serveur (votre ordinateur neuf, sur lequel PC-BSD est installé) et lancez la commande ifconfig :

COMMANDE UNIX ----- ifconfig (interface configuration)

Configure ou affiche des informations sur vos interfaces réseau

  • ifconfig : affiche des informations sur toutes vos interfaces.

  • ifconfig interface : affiche des informations uniquement sur cette interface.

  • ifconfig interface adresse : assigne une adresse à cette interface.

  • ifconfig interface down : désactive cette interface.

  • ifconfig interface up : active cette interface.

_____________________________________________________________________

[brice@Acer] ~% ifconfig
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
        ether d0:27:88:16:e9:6e
        inet6 fe80::d227:88ff:fe16:e96e%re0 prefixlen 64 scopeid 0x6 
        inet 192.168.1.26 netmask 0xffffff00 broadcast 192.168.1.255
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
ath0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 0a:00:27:00:00:00
        inet6 fe80::800:27ff:fe00:0%ath0 prefixlen 64 scopeid 0xa 
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 ::1 prefixlen 128 
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x9 
        inet 127.0.0.1 netmask 0xff000000 
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>

Nous avons ici 3 interfaces réseau : re0, ath0 et lo0. lo0 est une interface un peu spéciale puisqu'il s'agit d'une connexion entre votre ordinateur et ... lui-même. C'est ce qu'on appelle la boucle locale. L'ordinateur s'en sert souvent pour des tests : il se parle tout seul, quoi. ;)

re0 désigne une carte réseau de marque Realtech et ath0 une carte réseau de marque Atheros. Si vos deux cartes ont la même marque, elles seront désignées par re0 et re1, par exemple. Notez bien les noms que PC-BSD a donnés à vos deux cartes. Vous allez bientôt en avoir besoin.

Avant de lancer le programme pc-thinclient en tant que root, attendez peut-être d'avoir terminé la compilation de FreeMat (si vous l'avez lancée au chapitre précédent). En effet, il s'agit là aussi d'un programme long et très gourmand en mémoire, qui va durer quelques heures.

Il faudra que j'attende trois heures chaque fois que je veux me servir d'un client léger ?

Non, non : seulement la première fois. Et même si, à l'avenir, vous ajoutez d'autres clients, vous n'aurez pas besoin de recommencer cette procédure.

Prêts ? Alors c'est parti :

# pc-thinclient

Confirmez d'un y que vous voulez vraiment lancer le programme. Et partez faire autre chose. Vous pouvez lancer d'autres applications sur votre bureau pendant ce temps là, travailler ou vous amuser, mais dites vous bien qu'une grande partie de votre RAM sera mobilisée par le programme pc-thinclient.

À la fin, le programme vous demande à quelle interface réseau est relié votre client (ou votre hub avec plein de clients derrière). Dans mon cas, c'est ath0, donc je l'indique :

What NIC do you wish DHCPD to listen on? (I.E. re0) ath0

DHCPD est un DAEMON. Il assigne automatiquement des adresses IP à des interfaces réseau. Il y en a un autre dans votre "box", qui a donné une adresse à votre carte réseau n°1 (voir schéma ci-dessus). Celui-ci va tourner sur votre serveur. Il est contrôlé par le fichier /usr/local/etc/dhcpd.conf et attribuera à vos clients des adresses comprises entre 192.168.2.100 et 192.168.2.199.

Une fois l'exécution de pc-thinclient terminée, vous pouvez redémarrer le serveur.

Du côté du client, il n'y a pas besoin d'installer quoi que ce soit. En fait, le client n'a même pas besoin d'avoir un disque dur. Par contre, vous allez maintenant configurer son BIOS (voir le chapitre Préparatifs du voyage) pour qu'il boote sur sa carte réseau, via un Environnement de Pré-eXécution (PXE). Puis redémarrez-le, lui aussi. À la fin du processus de démarrage, on vous proposera de configurer votre environnement graphique :

Do you wish to setup a custom xorg.conf for this system? (Y/N)

Vous acceptez, bien sûr. Puis vous choisissez votre résolution, vous la testez et vous l'enregistrez.

Je ne peux pas l'enregistrer. On me demande le mot de passe de l'utilisateur pxeboot. C'est quoi ?

Pardon, j'allais oublier de vous en parler : un nouvel utilisateur a été créé sur le serveur. Il s'appelle pxeboot et son mot de passe par défaut est thinclient. Le problème, c'est que tout le monde sait que le mot de passe par défaut est thinclient. Donc, si vous voulez sécuriser ce compte, il faut vite le changer, ce mot de passe :

Image utilisateur

C'est fait. Vous pouvez maintenant travailler sur le client léger. Les programmes que vous lancerez et les documents que vous enregistrerez le seront en réalité sur le serveur. Et si le serveur est beaucoup plus puissant que le client, vous profiterez ainsi de la puissance du serveur sur le client.

Bon alors, c'est sûr, tout ceci n'a pas grand intérêt si vous êtes tout seul. Autant travailler directement sur le serveur. Mais si vous êtes plusieurs à vouloir vous connecter en même temps au même serveur (une petite entreprise, par exemple, ou une salle de classe), c'est un outil formidable. :D

B - Un serveur FreeNAS

Vous n'avez pas besoin d'un client léger ? Voyons ce que je peux vous proposer d'autre... Même sans écran ni clavier, votre ancienne unité centrale peut devenir un endroit idéal pour stocker vos fichiers ou pour les synchroniser entre plusieurs ordinateurs. Les logiciels Bouée de sauvetage et FreeNAS vont vous y aider.

  • La Bouée de sauvetage est un utilitaire intégré à PC-BSD. Il tourne donc sur votre ordinateur de bureau : le client.

  • FreeNAS, par contre, sera le système d'exploitation de votre serveur. Il est basé sur FreeBSD et développé par la même équipe que PC-BSD.

Ils peuvent être utilisés indépendamment l'un de l'autre : vous pouvez faire communiquer votre serveur FreeNAS avec un client Windows ou récupérer avec la Bouée de sauvetage des fichiers stockés sur un périphérique NAS ou sur un serveur Linux. Mais bien sûr, ils sont parfaits pour fonctionner ensemble.

Un NAS (Network Attached Storage) est un ordinateur sur lequel on stocke des fichiers. Il est relié à un réseau comportant un ou plusieurs clients : des ordinateurs qui vont y déposer ou y puiser des fichiers.

Le schéma ci-dessous montre comment disposer vos appareils :

Image utilisateur

La vieille unité centrale sera bientôt un serveur NAS. L'ordinateur neuf lui servira de client tandis que votre chère "box" continuera à jouer son rôle de routeur et de passerelle vers Internet. Rien n'interdit de brancher plusieurs ordinateurs clients, même si leurs OS sont différents.

Matériel nécessaire

De façon permanente :

  • Une unité centrale munie d'une carte réseau, qui jouera le rôle de serveur.

  • Une clé USB d'au moins 4GB, qui restera en permanence fixée au serveur.

  • Un cable ethernet pour relier le serveur à votre box.

Uniquement pendant l'installation :

  • Un écran, un clavier et un lecteur de CD-ROM sur le serveur. Vous pouvez y brancher temporairement, pour quelques minutes, votre écran et votre clavier habituels (ceux du client).

  • Un CD-ROM, pour y graver l'image ISO de FreeNAS et l'installer sur le serveur.

Installer FreeNAS

Tout d'abord, vous vous en doutez, il faut télécharger l'image ISO de FreeNAS. La version stable actuelle (décembre 2011) est la 8.0.2. Vous savez maintenant comment la graver sur un CD-ROM. Préparez donc cette petite galette et glissez-la dans le lecteur de votre vieux PC (ou Mac) que vous pensiez bon pour la casse. Branchez aussi sur ce même ordinateur une clé USB dont le contenu va bientôt être effacé, et qui ne bougera plus de ce serveur. Redémarrez finalement ce serveur en bootant sur le CD-ROM.

Après les messages de lancement habituels et le traditionnel menu de boot, vous allez arriver sur le menu principal de FreeNAS :

Image utilisateur

Vous avez deviné par où commencer ? Oui, par le 1, bravo ! ;)

Là, vous allez choisir le support sur lequel vous voulez installer FreeNAS. On vous donne la liste des disques durs et des clés USB présents sur le serveur. Mieux vaut conserver le ou les disques durs pour y stocker des données. C'est donc sur la clé USB que vous allez installer l'OS. Désignez-la maintenant. FreeNAS va s'installer dessus, puis vous verrez un message disant que vous pouvez retirer le CD-ROM et redémarrer le serveur. Après redémarrage, un menu plus impressionnant s'affiche :

Image utilisateur

Image tirée du site de FreeNAS
Rassurez-vous. Vous n'allez pas vous servir de ce menu. Notez précieusement, par contre, l'adresse IP qui s'affiche en bas. Comme l'image ci-dessus vient d'une machine virtuelle, l'adresse est 10.0.2.15. Mais sur système réel, ce sera plutôt quelque chose comme 192.168.1.52. Désormais, c'est cette adresse IP que vous saisirez dans le navigateur web de votre client chaque fois que vous voudrez contacter le serveur.

Vous avez même terminé votre travail sur le serveur. Vous pouvez en débrancher l'écran et le clavier, et les remettre sur votre ordinateur client.

L'interface web

Sur votre ordinateur client, ouvrez votre OS et votre navigateur web préférés et saisissez dans la barre d'adresse celle de votre nouveau serveur FreeNAS. Mettons que ce soit 192.168.1.52. Voici l'interface web avec laquelle vous allez administrer FreeNAS. La première chose à faire, c'est définir le mot de passe de l'administrateur :

Image utilisateur

Nous allons aussi demander à l'interface de s'afficher en Français, ce sera plus confortable. C'est dans la rubrique System -> Settings que ça se passe :

Image utilisateur

Cliquez sur le bouton Save. Tout passe alors en Français.

Nous avons encore plein de choses à configurer. Passons maintenant à l'interface réseau. Dans le menu de gauche, allez dans Réseau -> Configuration générale. Puis, à droite, choisissez l'onglet Interfaces et le bouton Ajouter une interface. Pour la configurer automatiquement, rien de tel que le DHCP. Et si vos adresses sont de type IPv6, cochez aussi la case Configuration IPv6 automatique :

Image utilisateur

Bien. Au tour du disque dur, maintenant : celui où vous allez stocker vos fichiers. Dans le menu de gauche, allez dans Stockage -> Volumes -> Créer un volume. Donnez un nom à ce disque dur (j'ai mis stockFreeNAS) et choisissez de le formater en ZFS :

Image utilisateur

Il vous faut aussi définir un utilisateur ordinaire, dans Compte -> Utilisateurs -> Ajouter Utilisateur. Un numéro d'identification (ID) lui sera automatiquement attribué. Il faut aussi indiquer un répertoire personnel, dans lequel cet utilisateur pourra stocker ses fichiers. Là, je n'ai pas divisé le disque : je considère que tous les utilisateurs se connaissent et stockent leurs fichiers ensemble. Donc je désigne simplement le disque dur que je viens de configurer : /mnt/stockFreeNAS.

Image utilisateur

L'interpréteur de commande sert à vous loguer directement sur le serveur. Vous n'en aurez pas besoin. Mais puisqu'on vous en demande un, indiquons notre interpréteur habituel : csh. Ensuite, vous pouvez enregistrer quelques infos personnelles, puis l'indispensable Mot de passe, avant de dire OK.

C'est seulement une fois l'utilisateur ordinaire créé que vous pouvez lui ouvrir l'accès au disque dur. Dirigez-vous maintenant vers Stockage -> Volumes -> Voir les volumes. Pour définir les permissions sur un volume, cliquez sur l'icône avec le cylindre et la petite clé (entourée en rouge sur l'image ci-dessous).

Image utilisateur

Remarquez en haut de l'image le bouton Créer un jeu de données ZFS. Il vous permet de diviser votre disque si vous voulez séparer les fichiers des uns et des autres.

Les services

FreeNAS peut échanger des fichiers sur le réseau au moyen de divers protocole. Il peut être employé comme serveur AFP (avec un client Mac), CIFS, FTP, NFS, SSH, RSync, ou encore comme onduleur. CIFS, alias Samba, est par exemple le protocole d'échange de fichiers utilisé par Windows. Les UNIX le supportent aussi même si leur protocole à eux est plutôt NFS. Allez dans Services pour activer et configurer ceux qui vous intéressent :

Image utilisateur

Si vous avez besoin de détails pour configurer tel ou tel service, je vous renvoie à la documentation de FreeNAS.

C - Essayons les services CIFS et FTP

Nous allons essayer les services CIFS et FTP, avec plusieurs types de clients. Activez maintenant ces deux services dans l'interface web.

Avec un client Linux

Voyons l'exemple de la distribution Ubuntu (au hasard ;) ) avec un bureau GNOME. Dans votre exlorateur de fichiers, allez voir la rubrique Réseau. Une fenêtre s'ouvre et propose de vous connecter via le protocole CIFS (ou Samba) à un Réseau Windows ou au serveur FREENAS.

Image utilisateur

Cliquez sur l'icône FREENAS puis sur Stock FreeNAS. Vous n'avez plus qu'à faire glisser des fichiers vers ce dossier pour les archiver sur le serveur.

Image utilisateur

En FTP aussi, ça fonctionne. Connectez-vous au serveur à l'adresse 192.168.1.52, port21. Quand j'ai pris la capture d'écran ci-dessous, l'adresse était 192.168.1.250.

Image utilisateur

Et là, vous pouvez archiver d'autres fichiers ou récupérer ceux que vous aviez déposé via Samba. N'oubliez pas de vous déconnecter quand vous avez fini.

Avec un client Windows

Sous Windows, ouvrez votre client FTP préféré et connectez-vous à nouveau au port21 du serveur 192.168.1.250. Vous pouvez alors déposer de nouveaux fichiers sur ce serveur ou télécharger ceux qui viennent du client Linux.

Image utilisateur

Avec CIFS, c'est encore plus simple : ouvrez l'explorateur de Windows, cliquez sur Réseau --> FREENAS --> Stock FreeNAS et maniez les fichiers comme s'il s'agissait d'un répertoire Windows ordinaire.

Image utilisateur
Avec un client UNIX

J'ai gardé le meilleur pour la fin : un client UNIX (FreeBSD, par exemple ;) ), avec un bureau KDE. Pour le protocole CIFS, ouvrez l'explorateur Dolphin, cliquez sur Network (dans la colonne de gauche) , puis Samba Shares --> Workgroup --> Freenas --> Stock FreeNAS et faites comme chez vous.

Image utilisateur

Pour FTP, vous avez la ligne de commande (je vous en parlerai dans un futur chapitre) ou l'application KNetAttach (dans le menu Applications --> Internet). Cochez FTP et cliquez sur le bouton Next (ou Suivant).

Image utilisateur

Je crois que vous savez quelle adresse il faut demander. Là encore, un dossier s'ouvre et vous pouvez y prendre ou y déposer des fichiers.

D - La bouée de sauvetage

La Bouée de sauvetage est donc un utilitaire spécifique à PC-BSD. Il archive automatiquement sur le serveur, à intervalles de temps réguliers, le dossier de votre choix. Pour l'utiliser, vous devez d'abors activer les services SSH et RSync sur votre serveur (FreeNAS ou autre). Cliquez sur la petite bouée à droite du tableau de bord pour lancer l'utilitaire et indiquez l'adresse du serveur à contacter :

Image utilisateur

Le nom d'utilisateur à indiquer est celui que vous avez défini sur le serveur.

Sur l'écran Scheduled Backups (archivages programmés) choisissez pour l'instant Disable automatic backups. Vous les activerez plus tard si vous le souhaitez, mais il faut faire d'autres réglages avant.

Un canal sécurisé SSH est alors établi entre les deux ordinateurs. La première fois, comme ce serveur est encore un inconnu, et comme la Bouée de sauvetage ne parle pas aux inconnus sans votre permission (oui, elle est très bien élevée ;) ), une confirmation vous est demandée :

Image utilisateur

La fenêtre principale s'ouvre enfin. Le tableau ne comporte qu'une seule ligne, disant que j'ai créé une bouée de sauvetage pour l'utilisateur brice2 sur le serveur à l'adresse 192.168.1.52 et que je n'ai encore rien archivé. Faites un clic droit sur cette ligne et choisissez Edit pour la configurer.

Image utilisateur

Il faut indiquer la liste des dossiers que vous voulez régulièrement archiver, pour être certains de ne pas perdre leur contenu. Commencez donc par le bouton Modify Include List. C'est seulement une fois que vous avez défini cette liste que vous pouvez éventuellement programmer des archivages automatiques, une fois par jour (daily) ou une fois par semaine (weekly).

Supposons, par exemple que vous incluez comme moi le dossier /usr/home/vous/Documents avec l'option Backup daily, en laissant le Number of backups to keep à 7. Une fois par jour, votre dossier Documents sera automatiquement sauvegardé sur le serveur. Au bout d'une semaine, cela fera 7 sauvegardes. Et donc, le huitième jour, la première sauvegarde sera effacée. Vous pouvez bien sûr augmenter le nombre de backups à conserver. Tout dépend de la taille des dossiers à archiver et de celle du disque dur de votre serveur. Si vous avez formaté ce disque dur en ZFS, vous pouvez quand même en conserver pas mal car, entre un jour et son lendemain, 90% des données du dossier n'auront pas changé et seules les modifications prendront de la place en plus sur le disque. D'ailleurs, grâce au protocole RSync, le serveur n'enregistre pas deux fois un fichier qui n'a pas été modifié entre temps.

Repérez bien le bouton Start dans la fenêtre principale. Quand vous cliquez dessus, une sauvegarde s'effectue immédiatement. Je préfère pour ma part me servir de ce bouton plutôt que des archivages automatiques. Il faut quand même que vous ayez défini au préalable la liste des dossiers à enregistrer.

Pour récupérer une sauvegarde, faites un clic droit sur la ligne bleue et choisissez Restore From.

Image utilisateur

Une petite fenêtre s'ouvre. Elle vous propose les différents backups disponibles, avec la date et l'heure auxquelles chacun a été enregistré. Choisissez celui qui vous intéresse et cliquez sur Select Backup. Les dossiers de votre Include List seront alors remis dans l'état où ils étaient à ce moment là. Si vous aviez effacé des fichiers par erreur, c'est l'occasion de les retrouver.

Je ne vous ai montré que quelques exemples parmi les nombreux services que peut offrir FreeNAS. Essayez-en d'autres. Si vous avez plusieurs disques durs dans votre serveur, vous pouvez aussi lui faire faire du RAID 1 (avec 2 disques : les fichiers copiés sur l'un sont automatiquement copiés sur l'autre donc vous ne les perdez pas si l'un des deux tombe en panne) ou du RAID 5 (même principe avec au moins 3 disques).

Découvrez aussi ce cours en...

Exemple de certificat de réussite
Exemple de certificat de réussite