Page suivante Page précédente Table des matières

4. Configuration de la machine hôte UNIX

Au démarrage, le terminal X va chercher ses fichiers (y compris le serveur X) sur une machine du réseau. Une fois démarré, le serveur X contrôlera les entrées (clavier, souris), l'affichage, les clients locaux et la communication par le protocole X. Le serveur X s'exécute sur le terminal X, et n'a donc besoin d'aucune compatibilité logicielle avec la machine hôte.

4.1 TFTP et BootP

Les protocoles TFTP (Trivial File Transfer Protocol, protocole élémentaire de transfert de fichiers) et BootP (boot protocol, protocole d'amorçage) sont utilisés ensemble sur la machine hôte pour permettre au terminal X de récupérer le serveur X et les fichiers de configuration à travers le réseau. Ces deux services sont habituellement démarrés par inetd (Internet Daemon).

Lorsque le terminal X est mis sous tension, si il est configuré pour un démarrage par le réseau, il émet un appel général (broadcast) sur le réseau en utilisant le protocole BootP (protocole d'amorçage TCP/IP). Ce message d'appel contient l'adresse matérielle (Ethernet) du terminal X, adresse qui sera utilisée par la machine hôte pour répondre à la ``demande de boot''.

Lorsque la machine hôte reçoit une demande de boot, inetd (qui surveille un port désigné dans /etc/services) démarre le démon BootP spécifié dans /etc/inetd.conf.

Dans le fichier inetd.conf, ajoutez ou dé-commentez les lignes qui concernent TFTP ou BootP. Dans l'exemple qui suit, le dernier paramètre de la ligne de TFTP indique le répertoire qui contient les fichiers pour le terminal X. Bien que les noms de répertoires ne soient pas obligatoires, pour des raisons de sécurité il faut toujours les mettre, de façon à restreindre l'accès TFTP à ces seuls répertoires.

Exemple de fichier /etc/inetd.conf (extrait) :

# Le service TFTP sert principalement au boot. La plupart des sites
# ne font tourner ceci que sur les machines qui sont des "serveurs de boot".
tftp   dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd /usr/X11/lib/X11/ncd/
bootps dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.bootpd

Lors de son activation, le démon du serveur BootP lit son fichier de données /etc/bootptab. Une description de ce terminal X soit s'y trouver. Chaque entrée contient un ensemble d'éléments séparés par des deux-points ``:''. Le premier élément est le nom du terminal.

Éléments utiles du fichier bootptab :

ip

Addresse IP du terminal X (dans notre exemple 10.0.0.1).

sm

(subnet mask) masque de sous-réseau (ici 255.0.0.0). Pour comprendre l'usage des masques de sous-réseau et autres principes des réseaux IP, consultez le Linux NET-3 HOWTO.

gw

(gateway) adresse IP de la passerelle (ici 10.0.0.1).

ht

(hardware type) Type de matériel. Ethernet dans cet exemple.

ha

(hardware address) Adresse matérielle du terminal X (adresse Ethernet sur 6 octets).

D'après la page bootptab du manuel UNIX, l'élément ``ht'' doit précéder le ``ha''. L'adresse Ethernet s'affiche à la mise sous tension du terminal X, sous forme d'une série de 6 nombres à deux chiffres hexadécimaux, séparés par des deux-points. Par exemple 00:00:A7:12:26:19.

tc

(table continuation) Suite d'une autre entrée dans la bootptab. Voir l'exemple ci-dessous.

ds

(domain name server) Adresse IP du serveur de noms (par exemple 10.0.0.3). Inutile si la résolution d'adresse n'utilise pas de serveur de noms (DNS).

hd

(home directory) Répertoire contenant le fichier de boot du terminal X (ici /usr/X11/lib/X11/ncd/).

bf

(boot file) Nom du fichier contenant le serveur du terminal X (D'habitude le nom du fichier est celui du modèle du terminal X, ici Xncd19r).

Ce qui suit est un exemple de fichier /etc/bootptab. Le caractère '\' sert à neutraliser les fins de ligne.

# Ceci est une entree generale, appelee ici ``default'', avec
# des informations communes à tous les clients BootP

default:hd=/usr/X11/lib/X11/ncd/:\
        ds=10.0.0.3:\
        sm=255.0.0.0:\
        gw=10.0.0.1:\

# Le terminal X s'appelle ``myxterm''. Remarquez l'element
# ``tc'' qui fait reference à l'entree ``default''.

myxterm:ht=ethernet:\
        ha=0x0000a7122619:\
        ip=10.0.0.2:\
        tc=default:\
        bf=Xncd19r:

Lorsque le démon bootpd trouve (dans le fichier bootptab) une entrée qui correspond à l'adresse matérielle contenue dans une requête de boot, il envoie une réponse à l'adresse IP correspondante. Le transfert de fichiers peut alors se faire par TFTP au dessus de IP.

On attribue un nom au terminal X en ajoutant une entrée dans le fichier /etc/hosts de la machine hôte. Ce fichier sert à établir une correspondance entre noms de machines et adresses IP. Dans l'exemple ci-dessous, le terminal X (d'adresse 10.0.0.2) est nommé ``myxterm'' :

10.0.0.1        linuxhost       # La machine hote (serveur de boot)
10.0.0.2        myxterm         # terminal X


Page suivante Page précédente Table des matières