Next Previous Contents

5. Étendez votre réseau chez vous

Par JC Pollman jpollman@imcnet.net

Vous avez de haute lutte réussi à faire fonctionner le réseau chez vous. Je suppose que vous avez quelque sorte de numérotation à la demande, de service d'imprimante, et probablement un partage de fichiers utilisant samba. Après quelques semaines de repos et d'auto-congratulation, vous vous demandez : quoi de neuf, maintenant ? Les trucs et bricoles qui suivent sont des améliorations utiles que j'ai apportées tout en utilisant mon réseau personnel chez moi. Chacune m'ajoute des fonctionnalités et a beaucoup augmenté ma connaissance de Linux. Bien que j'utilise la distribution Redhat, elles devraient fonctionner avec toutes les distributions. Ce que je présente sont des descriptions sommaires, pour comprendre vraiment ce que vous faites, il vous faut lire les HOWTOs et les fichiers qui sont joints aux programmes.

5.1 Suis-je connecté ?

Vous savez bien que le fait que le modem ait numéroté ne vous garantit pas de réussir à vous connecter. Et ce serai aussi sympa de savoir quand le modem se déconnecte - spécialement si vous utilisez un modem interne et que votre serveur est sans moniteur, comme le mien. Linux sait évidemment quand ces choses arrivent et exécute des commandes quand le statut de ligne change. Vous pouvez en prendre avantage en ajoutant vos propres commandes dans les scripts qu'il lance. Quand le modem se connecte ET que vous êtes logué chez votre FAI, Linux lance le script

/etc/ppp/ip-up,

et quand le modem se met hors ligne, il lance le script

/etc/ppp/ip-down.

Tout ce que vous avez à faire est d'ajouter une ligne à la fin de ces scripts pour vous avertir de ce qui s'est passé. J'utilise des fichiers sonores pour annoncer le statut de connexion. Une des dernières lignes de mon ip-up est :


cat /etc/ppp/doom.au >/dev/audio &

Ça "joue" le fichier doom.au et me fait savoir que je suis totalement connecté à internet. Ajoutez une ligne similaire à votre fichier

ip-down pour vous avertir quand votre modem passe hors-ligne.

5.2 le TEMPS

Vous pouvez aussi utiliser le fichier ip-up pour garder précisément à l'heure votre serveur. Il y a plusieurs programmes que vous pouvez utiliser, mais je trouve que netdate est le plus facile. J'ajoute seulement les lignes suivantes après ma ligne relative au son :


/usr/sbin/netdate ordinateur-fai
clock -w

ordinateur-fai est le nom d'un ordinateur chez mon FAI, et clock -w inscrit l'heure dans le cmos.

5.3 Nettoyage après avoir débranché la prise

Ma femme est fameuse pour trouver quelque chose sur le net et vouloir alors téléphoner immédiatement. Ça signifie d'habitude qu'elle débranche le fil du modem à la prise téléphonique et qu'elle appelle. Ça n'a rien de tragique, mais je finissais par avoir des tas de scripts ip-down dont l'exécution ne se terminait jamais. Quand je tapais ps ax le samedi, je récupérais une demi-douzaine de processus à tuer. J'en ai eu assez, et j'ai écrit un script pour le faire automatiquement :


#!/bin/sh 
kill `ps ax|grep down|cut -c 1-5`

Je l'ai installé comme tâche cron, si bien qu'il est lancé chaque nuit.

5.4 Un répertoire Home pour Tous

Vous faites probablement tourner Linux sur plus d'une de vos machines clientes. Garder vos réglages personnels synchronisés entre les ordinateurs devient pénible après un moment. De plus, ce serait sympa quand vous lancez votre programme d'e-mail de pouvoir accéder à tous vos dossiers, et d'avoir tous vos signets disponibles quand vous lancez Netscape. La solution est d'utiliser le répertoire /home du serveur comme répertoire /home sur toutes les machines. Pour y arriver, vérifiez que tous les noyaux ont été compilés avec NFS, exportez le répertoire /home du serveur, et montez alors le répertoire /home du serveur chez les clients. Le serveur utilise le fichier : /etc/exports pour décider que laisser les autres ordinateurs utiliser, et comment. La ligne appropriée de mon fichier exports est :


/home   *.kulai.org(rw)

où mon réseau est kulai.org. Ensuite vous pouvez monter le répertoire /home du serveur en ajoutant une ligne dans votre fstab qui ressemble à ceci :


192.168.124.10:/home /home        NFS noauto,rw,rsize=8192,wsize=8192 0 0

Remarque : l'adresse IP de mon serveur chez moi est : 192.168.124.10. La votre sera différente. Ensuite monter le répertoire /home à l'aide d'une ligne dans votre rc.local comme ceci :


mount    /home

C'est un procédé plutôt simple, mais il y a quelques pièges dont vous devez être conscient. NFS n'a pas une solide réputation de fiabilité ni de sécurité. Quelques versions de noyau ne travaillent pas bien avec NFS, donc vérifiez les groupes de news et dejanews si tout paraît correct mais que vous n'arrivez pas à monter /home. De plus, les utilisateurs doivent avoir le même UID sur tous les ordinateurs, et aussi GID, je pense. Par exemple, si Fred est UID 500 sur le serveur, il doit être UID 500 sur tous les autres ordinateurs - comme indiqué dans le fichier /etc/passwd. Il y a des façons de contourner ça, mais la vie est beaucoup plus simple si les UID sont les mêmes. De plus, monter la totalité du répertoire /home n'est probablement pas la meilleure solution si ce que vous voulez est seulement /home/utilisateur. Vous pouvez régler ça dans xdm en utilisant les fichiers Xstartup et Xreset pour monter et démonter le répertoire de base de chaque utilisateur quand il se logue et se délogue. Cette méthode pose des problèmes avec KDE comme KDE ne se referme pas assez vite si bien que Xreset ne démonte pas le répertoire.

Une solution plus élégante est d'utiliser automount. Ceci montera automatiquement les répertoires /home/utilisateur, et peut aussi auto-monter vos disquettes et CDROMs. Recompilez d'abord votre noyau avec automount activé. Puis installez le programme autofs. Créez alors le fichier : /etc/auto.master. Il n'a besoin que d'une ligne :


/etc/auto.home --timeout 120

qui signifie : utiliser le répertoire /home comme point de montage, et le fichier /etc/auto.home pour définir les sous-répertoires. L'option timeout est là pour le démontage automatique après 120 secondes d'inactivité. Si vous voulez utiliser ça pour auto-monter des disquettes, CDROMs, etc., il vous faudra une autre ligne - lisez les fichiers HOWTO et INSTALL.

Créez alors le fichier /etc/auto.home. Dans le mien, une des lignes est :


nick    -rw,soft,intr,rsize=8192,wsize=8192    192.168.124.10:/home/nick

La première entrée : nick, est le sous-répertoire sous /home que autofs utilisera pour monter le répertoire NFS :   192.168.124.10:/home/nick. 

Remarquez que maintenant le serveur doit exporter le répertoire de base de chaque utilisateur séparément, c'est à dire que le fichier exports contient maintenant :


/home/nick    *.kulai.org(rw)

Un autre avantage de cette approche est pour les aventureux : j'utilise plusieurs un*x chez moi. Si je lance les mêmes versions des programmes chez eux que celles que je lance sous Linux, en montant mon répertoire de base je conserve les mêmes fichiers d'initialisation, par exemple j'utilise iceWM comme gestionnaire de fenêtrage sous Linux et FreeBSD, et parce que je monte le même répertoire /home pour les deux systèmes d'exploitation, mes menus restent les mêmes.

5.5 Mots de passe communs

Comme les ordinateurs, et plus particulièrement les disques durs, vont et viennent, Je trouve que garder les mots de passe en synchronisation est aussi une tâche ennuyeuse. Linux fournit une solution simple : NIS. En gros, le serveur fait le login, si bien que quel que soit l'ordinateur que vous utilisez, la vérification du login est faite selon un fichier unique sur votre serveur. Cela ne maintient uniques que les mots de passe un*x : j'ai rendu manuellement les mots de passe Windows identiques, si bien que quand mon épouse, ou mes enfants, utilisent l'ordinateur, ils tapent le même nom d'utilisateur et le même mot de passe qu'ils lancent Windows ou Linux. Il vous faudra lire le "NIS HOWTO" dans la mesure où l'explication de l'installation de NIS va au-delà du champ de cet article.

5.6 Proxy HTTP

Si les membres de votre famille vont souvent vers les mêmes pages web, vous pouvez accélérer le temps de "chargement" en cachant les pages sur votre serveur. De cette façon, si votre épouse va sur www.Yahoo.com dans l'après-midi et que vos enfants y vont quand ils reviennent de l'école, ils récupèrent la copie depuis le serveur, ce qui est bien plus rapide que de se connecter au site. Ça amène de grands bénéfices quand on est beaucoup sur internet dans le même temps. Vous pouvez régler Apache pour faire ça si vous avez Apache déjà lancé, ou alors voyez http://freshmeat.net pour un programme de proxy HTTP.

5.7 News USENET

Je suppose que tous ceux qui lisent cet article sont aussi de grands utilisateurs de groupes de news Usenet. Mettre en place un serveur de news avec toutes les options pour chez soi est bien trop de travail, mais un programme nommé leafnode pourrait être juste la bonne solution. Après l'avoir installé et l'avoir autorisé à récupérer la liste des groupes de news de votre serveur courant, pointez votre lecteur de news (Linux, Windows, ou tout autre système d'exploitation) vers votre serveur. Inscrivez-vous aux groupes que vous voulez puis relancez leafnode. Il lira seulement les articles des groupes auxquels les gens de votre réseau se seront inscrits. Je le règle pour qu'il se lance, via cron, à quatre heures du matin, si bien qu'à cinq heures, quand j'arrive avec ma tasse de café, tous les articles de tous mes groupes sont prêts et m'attendent sur le serveur. Cool !

Copyright © 1999, JC Pollman

Publié dans le numéro 39 de la Linux Gazette, mars 1999.


Next Previous Contents