Stage Linux Serveur Terminaux X et boot PXE

Transcription

Stage Linux Serveur Terminaux X et boot PXE
Stage Linux Serveur
Terminaux X et boot PXE
Il s'agit ici de mettre en place un serveur d'applications qui sera exploité à partir de « clients légers »
ou terminaux X. Le montage de ce serveur se fera à partir de la distribution ubuntu sur laquelle on
mettra en oeuvre un serveur LTSP (Linux Terminal Server Project)
1-Principe de fonctionnement :
Serveur d'Applications
Con
nexi
on
d'ap au ser
ve
plica
tion ur
Requête TFTP
Serveur TFTP
Chargement noyau
et image système
P
IP
se r TFT
res
Ad erveu
es
ess
adr
P
HC
D
te
quê
e
R
Serveur DHCP
Terminal X
Les 3 serveurs (DHCP, TFTP et serveur d'applications) peuvent être hébergés par une même
machine (nommée le serveur ). Attention si un serveur DHCP existe déjà sur le réseau il faudra soit
modifier la configuration de ce serveur soit le remplacer par celui hébergé sur le serveur de boot
PXE.
En suivant le schéma lors de la séquence de démarrage du terminal (boot réseau dit boot PXE)
1. Le terminal envoi une requête DHCP et obtient en retour une adresse IP et l'adresse du
serveur TFTP
2. Il envoi alors une seconde requête vers le serveur TFTP qui en retour envoi le noyau et une
image (initrd) correspondant à un système linux minimal chargé en RAM
3. A partir de ce système minimal le client va alors se connecter sur le système linux complet
(connexion sur le serveur d'application, connexion NFS le plus souvent)
2-Installation du serveur :
l'installation sur un serveur avec deux cartes réseau se fait quasi automatiquement en utilisant
l'image iso alternate de Ubuntu 8.04. Il suffit de choisir « installation de LTSP » en appuyant sur F4
lors du démarrage de l'installation. Dans le cas où votre serveur n'a qu'une carte réseau branchée sur
Supplément stage linux
1/4
Jloup valade
l'intranet pédagogique le principe est le même mais il faudra faire attention à ne pas configurer le
dhcp sur ce serveur s'il existe un autre dhcp. Mais bien modifier l'autre dhcp ou l'arréter pour utiliser
celui-ci.
Penser à régler les paramètres réseau (adresse fixe , broadcast, DNS, passerelle).
L'installation terminée on configure le serveur dhcp en s'appuyant sur l'exemple ci-dessous et en
l'adaptant au réseau. Pour cela on peut reprendre et modifier le fichier dhcpd.conf exemple qui se
trouve dans /etc/lts/
#
# Default LTSP dhcpd.conf config file.
#
Commentaires
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
Plage d'adresses du dhcp
range 192.168.0.20 192.168.0.250;
option domain-name "example.com";
Reprendre celui du amon ?
option domain-name-servers 192.168.0.254;
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;
La passerelle
next-server 192.168.0.254;
Le serveur ltsp
get-lease-hostnames true;
option subnet-mask 255.255.255.0;
option root-path "/opt/ltsp/i386";
if substring( option vendor-class-identifier, 0, 9 ) =
"PXEClient" {
filename "/ltsp/i386/pxelinux.0";
} else {
filename "/ltsp/i386/nbi.img";
}
host client01{
hardware ethernet 00:18:F3:1A:8F:15 ;
A renseigner pour chaque client du
fixed-address 192.168.0.21;
serveur LTSP
filename "/ltsp/i386/pxelinux.0";
}
}
A ce stade là le serveur est fonctionnel si vous prenez la peine de démarrer le serveur dhcp :
$ sudo /etc/init.d/dhcpd-server restart
Vous pourrez par la suite régler le service de façon à ce qu'il soit actif au démarrage du serveur en
mode graphique : menu système > administration > services et là, après avoir dévérouillé la fenêtre
en cliquanr sur déverrouiller et en donnant le mot de passe, cochez le service dhcpd.
3-Connexion des clients en lançant un boot réseau (ou boot PXE) sur un des clients déclarés dans
le dhcpd.conf.
Remarque :Si vous arrivez sur la page d'authentification et que la connexion est refusée, vous devez
pouvoir lever cette difficulté en exécutant les commandes suivantes en mode console :
Supplément stage linux
2/4
Jloup valade
$ sudo su
Entrez le mot de passe vous êtes alors en mode administrateur root (#)
#ltsp-update-sshkeys (renouvellement des clés d'authentification et de cryptage)
#ltsp-update-image
(pour que l'image système client prenne en compte ces nouvelles clés)
Vous pouvez alors depuis un client mettre à jour le système et installer des logiciels. Normalement
les clés usb sont reconnues et montées sur le client.
4- Installation d'autres images système utilisables par les terminaux (boot PXE)
La dernière version de LTSP n'utilise pas le système de fichier NFS mais un autre système
(squashfs) qui et un système compressé (images dans /opt/ltsp/I386)
Pour monter d'autres images système on utilisera le système NFS et donc il faudra commencer par
l'installer :
En mode console (administrateur : sudo su)
# apt-get install nfs-kernel-server
Pour le démarrer à la main
# /etc/init.d/nfs-kernel-server start
Cochez le service comme lancer au démarrage (cf service dhcp)
Exemple de deux installations :
Slitaz (petit système qui tient en RAM et donc ne nécessite pas de liaison NFS)
GEEXBOX avec un système racine installé sur le serveur.
Slitaz :
Télécharger l'image sur Internet (recherche slitaz) et placez là sur le bureau par exemple.
Créez un répertoire /opt/slitaz
# mkdir /opt/slitaz
Monter l'image iso dans un sous répertoire de opt :
# mount -o loop /chemin_vers_ l_image iso/nom_de_l_imageiso /opt/slitaz
Copier le noyau bzImage et l'image rootfs.gz système dans un dossier slitaz sous
/var/lib/tftpboot/ltsp/i386/slitaz. Pour cela :
# mkdir /var/lib/tftpboot/ltsp/i386/slitaz
#cp /opt/slitaz/boot/bzImage /var/lib/tftpboot/ltsp/i386/slitaz/
#cp /opt/slitaz/boot/rootfs.gz /var/lib/tftpboot/ltsp/i386/slitaz/
Modifier le fichier /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default en y ajoutant les lignes suivantes :
DEFAULT slitaz
TIMEOUT 50
PROMPT 1
DISPLAY boot.msg
LABEL slitaz
KERNEL slitaz/bzImage
APPEND initrd=slitaz/rootfs.gz
Si à l'aide du même fichier on veut aussi pouvoir retrouver le système d'origine on ajoute les lignes :
LABEL ubuntu
KERNEL vmlinuz
Supplément stage linux
3/4
Jloup valade
APPEND initrd=initrd.img quiet splash ro
Lors de la séquence de boot du client si vous ne faites rien après un délai de 5 secondes le système
slitaz sera lancé sinon vous devez taper : ubuntu pour lancer ubuntu.
Pour geexbox après téléchargement sur le serveur de l'image iso on peut :
●
●
●
Monter l'image iso dans ce répertoire :
#mount -o loop geex-box-....-.iso /opt/
Activer le partage nfs sur ce point de montage en ajoutant la ligne suivante au fichier
/etc/exports:
/opt/GEEXBOX/
*(ro, no_root_squash,async)
Et en rechargeant nfs
#/etc/init.d/nfs-kernel-server reload
Il faut ensuite copier le noyau et l'initrd (image minimale du système linux) vers le dossier
/var/lib/tfftp/i386/GEEXBOX/
● #cp /opt/GEEXBOX/boot/vmlinuz /var/lib/tftpboot/ltsp/i386/GEEXBOX/
● #cp /opt/GEEXBOX/boot/initrd.gz /var/lib/tftpboot/ltsp/i386/GEEXBOX/
Il ne reste plus qu'à configurer le système de démarrage des clients pour qu'il prenne en compte ce
nouveau système.
● Remplacer le default se trouvant dans
/var/lib/tftp/i386/pxelinux.cfg par un fichier
contenant les lignes suivantes:
DEFAULT geexbox
TIMEOUT 20
PROMPT 1
DISPLAY boot.msg
LABEL geexbox
KERNEL GEEXBOX/vmlinuz
APPEND initrd=GEEXBOX/initrd.gz root=/dev/rm0
remote=atiusb nfsroot=adresse_ip_serveur_nfs:/opt/GEEXBOX
LABEL slitaz
KERNEL slitaz/bzImage
APPEND initrd=slitaz/rootfs.gz
LABEL ubuntu
KERNEL vmlinuz
APPEND initrd=initrd.img quiet splash ro
init=linuxrc
boot=nfs
lang=fr
Vous pouvez aller démarrer ce nouveau système sur un client qui démarre ainsi par défaut sur
geexbox
Pour aller Plus loin :
http://thierry.munoz.free.fr/file/Enseignants/Thierry/Reseau_UBUNTU_8.04_LTSP.pdf
Décrit l'installation et quelques paramétrages dans le cadre d'un petit réseau d'école primaire.
Bonne utilisation et surtout Bonnes vacances !
Supplément stage linux
4/4
Jloup valade