[Tuto]LTSP: Serveur Linux et clients légers...

[Tuto]LTSP: Serveur Linux et clients légers...

LTSP ou Linux Terminal Server Project va permettre de permettre à plusieurs personnes d’exploiter les ressources d’un seul ordinateur et ce, en même temps et sans se gêner. Pratique du coup pour monter une salle d’accès à Internet ou une salle informatique dans un établissement scolaire à moindre coûts.

En gros le principe est assez simple: on a un serveur sur lequel sont installés le système d’exploitation (ici, Ubuntu) et les comptes utilisateurs et les utilisateurs se connectent à ce serveur via le réseau avec des machine légères ou terminaux. Idéal pour recycler les vieilles machines qui traînent dans les coins ! Alors bien sûr c’est une solution très économique mais il faut savoir que le serveur LTSP doit quand même être assez costaud pour supporter la charge. Au dessus de 30-40 machines clientes il faut songer à se tourner vers des solutions plus robustes. Pour ce tuto on va partir du principe que l’on dispose d’une machine su laquelle Ubuntu est déjà installé.
Petite explication en images:
LTSP_fct
Voilà pour l’établissement de la connexion et ensuite voici comment ça se passe:
LTSP_fct2

Attention: ce tuto à été réalisé sous Ubuntu 8.10 Intrepid Ibex donc à vous de voir pour le mettre au goût du jour bien qu’à priori je pense pas que grand chose ait changé.

Etape 1: Installation et configuration d’un serveur DHCP

Pour commencer on va installer le paquet correspondant au serveur DHCP:

apt-get install dhcp3-server

Le service DHCP est maintenant installé mais il n’est pas encore activé. Pour l’activer il faut modifier certains fichiers de configuration. Pour commencer il nous faut donner au serveur DHCP une adresse IP fixe: par la commande

sudo gedit /etc/network/interfaces&

on ouvre le fichier de configuration des différentes interfaces réseau de la machine. L’interface par défaut est eth0 si l’on a une 2e carte réseau elle sera appelée eth1 ou wlan0 dans le cas d’une carte Wifi. On trouve aussi l’interface  »lo » qui correspond à l’adresse de boucle locale ou  »local loopback’’. Le fichier interfaces se présente comme ceci:

auto lo iface lo inet loopback

A ce stade seule l’interface locale est paramétrée, il faut donc ajouter les paramètres de notre interface eth0 comme ceci:

auto lo  # Ces deux lignes   concernent l'interface locale
iface lo inet loopbackauto eth0    # l'interface sera activée par défaut à chaque démarrage de   la machine
iface eth0 inet static     # l'adresse de la machine est statique
address 192.168.1.1  # adresse IP du   serveur
netmask 255.255.255.0  # Masque de sous   réseau
broadcast 192.168.1.255   # Adresse de   broadcast
gateway 192.168.1.1   # Passerelle par   défaut

Une explication s’impose:

auto eth0 signifie que l’interface désignée sera activée par défaut à chaque démarrage.

Iface eth0 inet static signifie que cette interface aura une adresse statique.

Suivent ensuite les paramètres IP: adresse IP, masque de sous-réseau, adresse de diffusion, passerelle, par défaut. Le serveur est ici sa propre passerelle.

Une fois le fichier interfaces complété il suffit de redémarrer l’interface réseau pour que les paramètres soient pris en compte:

sudo /etc/init.d/networking restar

Maintenant que les paramètres IP sont configurés il faut configurer quelle interface réseau le service DHCP va écouter, ici, c’est l’interface eth0:

sudo gedit /etc/default/dhcp3-server

Dans le fichier on rentre: INTERFACES= »eth0″

Etape 2: Installation et paramétrage du serveur LTSP

On va installer les paquetages nécessaires au fonctionnement de LTSP version 5.

Pour installer ces paquets on tape la commande suivante:

sudo apt-get install ltsp-server-standalone openssh-server

Le paquet openssh-server permet d’installer un serveur SSH qui permet de gérer l’encryption des mots de passe utilisateur. Il est nécessaire au fonctionnement du serveur LTSP. Une fois ces paquets installés il faut maintenant construire l’environnement LTSP pour clients légers sur le serveur c’est à dire créer les jeux d’instructions qui seront utilisés lors du dialogue entre les machines clientes et le serveur. On entre la commande qui suit:

sudo   ltsp-build-client

Il faut maintenant paramétrer le fichier de configuration du service DHCP de LTSP. Pour ce faire on utilise

sudo gedit /etc/ltsp/dhcpd.conf

Le texte suivant montre le fichier dhcpd.conf utilisé.

#
# Default LTSP dhcpd.conf config file.
#
authoritative; # Cela signifie que ce fichier est en mode autoritaire au fichier dhcpd.conf du serveur dhcp3-server

subnet 192.168.1.0 netmask 255.255.255.0 {# Déclaration du sous-réseau

range 192.168.1.3   192.168.1.27;   # Marge d'adresses IP attribuables par le serveur

option domain-name   "testpxe";  # Nom du domaine

option   domain-name-servers 192.168.1.1; # Adresse des   serveurs de nom du réseau

option   broadcast-address 192.168.1.255; # Adresse de   broadcast du réseau

option routers   192.168.1.1; # Adresse des routeurs du réseau

next-server   192.168.1.1; # Adresse du serveur vers lequel la   station cliente doit se                                référer pour son   démarrage

get-lease-hostnames true;

option subnet-mask 255.255.255.0;

option root-path   "/opt/ltsp/i386"; # Chemin du répertoire de   démarrage

if substring( option   vendor-class-identifier, 0, 9 ) = "PXEClient" {

filename   "/ltsp/i386/pxelinux.0"; # Fichiers à   charger au démarrage afin de                                                 lancer le système

} else {

filename "/ltsp/i386/nbi.img";

}

}

Après tout changement de configuration IP ou DHCP il faut recharger les clés attribuées par le serveur SSH avec la commande

sudo ltsp-update-sshkeys

Puis il faut recharger l’image de démarrage que la station cliente va charger lors de son démarrage:

sudo ltsp-update-image

Une fois le service DHCP correctement configuré il faut maintenant le redémarrer à l’aide de la commande:

sudo /etc/init.d/dhcp3-server restart

En cas d’échec du démarrage du service DHCP on vérifie le fichier var/log/syslogqui contient les informations relatives aux problèmes rencontrés par le système. Les erreurs de démarrage du DHCP proviennent le plus souvent du fichier /etc/network/interfaces ou du serveur DHCP qui écoute sur la mauvaise interface. On redémarre ensuite les interfaces réseau pour qu’elles prennent en compte les nouveaux paramètres:

sudo /etc/init.d/networking restart

Il faut maintenant paramétrer l’accès au Shell à partir de la machine cliente.

Pour cela on se positionne sur le root de la machine cliente à l’aide de la commande :

sudo   chroot /opt/ltsp/i386/

Le répertoire /opt/ltsp/i386 à été créé par la commande ltsp-build-client qui a mis dans ce dossier tout les fichiers nécessaire au démarrage et à l’ouverture de session de la station cliente. En effet, si on liste le contenu de ce répertoire a l’aide de la commande ls on peut s’apercevoir qu’il contient la même arborescence que le dossier racine du système :

ls /opt/ltsp/i386

bin     dev   home    lib        mnt     proc sbin   sys   usr

boot   etc    initrd    media   opt   root     srv    tmp  var

On doit ensuite afin d’autoriser un utilisateur à se connecter créer un mot de passe :

passwd Enter new UNIX password :
 Retype new UNIX password : passwd: password updated successfullyecho 1 > /proc/sys/net/ipv4/ip_forward