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.
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.
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
où ordinateur-fai
est le nom d'un ordinateur chez mon FAI, et
clock -w
inscrit l'heure dans le cmos.
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.
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.
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.
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.
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.