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