Il a pour but d'aider le personnel de l'école à réinstaller, maintenir ou améliorer la configuration existante.
J'ai tout de même souhaité rendre ce document public car il pouvait contenir des informations utiles à d'autres utilisateurs.
Ce n'est pas un tutoriel à proprement parler et tout n'est donc pas expliqué. Dans la mesure du possible, des renvois vers des pages plus pertinentes seront donnés.
Merci donc de prendre tout cela en considération si vous souhaitez modifier cette page
Bonne lecture
Type de machine | Nombre | Processeur | Mémoire | Disque Dur | Réseau | Distribution |
---|---|---|---|---|---|---|
Serveur LTSP | 1 | AMD Sempron 3000+ | 1.5 Go | 80 Go | 1x 100Mbits + 1x 1Gbits | Edubuntu 11.04 64-bits |
Client Léger | 5 | AMD Sempron 3000+ | 512Mo | Sans | 1x 100Mbits | Image LTSP Edubuntu 11.04 32-bits |
Il est important de maintenir à jour le serveur et les clients avec les dernières mise à jour (correction de bogues, mise à jour de sécurité, …). Il est recommandé d'effectuer toutes ces opérations depuis le serveur et non pas depuis un client léger.
C'est relativement simple sous gnome, aller dans Système –> Administration –> Gestionnaire de mises à jour
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Ouvrir un Terminal puis entrer le code :
sudo cp /etc/apt/sources.list /opt/ltsp/i386/etc/apt/sources.list
export LTSP_HANDLE_DAEMONS=false
On "simule" le fait que l'on travaille dans l'environnement des clients légers (chroot)
On met à jour le système
On reconstruit l'image des clients légers (celle qui est utilisée au moment du démarrage des clients)
chroot et mise à jour du système :
sudo chroot /opt/ltsp/i386 mount -t proc proc /proc apt-get update && apt-get dist-upgrade
sudo cp /etc/resolv.conf /opt/ltsp/i386/etc/resolv.conf
On quitte le chroot
On démonter /proc
On exécute ltsp-update-kernels (met à jour le noyau si il y a eu une mise à jour)
On reconstruit les images des clients avec ltsp-update-image (l'argument "-a i386" est nécessaire car le serveur est en version 64 bits tandis que l'image des clients légers est en version 32 bits)
exit sudo ltsp-update-kernels sudo umount /opt/ltsp/i386/proc sudo ltsp-update-image -a i386
modifiez le fichier /usr/local/bin/maj_clients.sh (si il n'existe pas, il faut le créer avec les droits d'administration bien sûr!). En console, par exemple :
sudo nano /usr/local/bin/maj_clients.sh
Puis copier/coller le code suivant :
#!/bin/sh CHROOT_DIR=/opt/ltsp/i386 sudo chroot $CHROOT_DIR mount -t proc /proc /proc sudo chroot $CHROOT_DIR apt-get update sudo chroot $CHROOT_DIR env LTSP_HANDLE_DAEMONS=false apt-get dist-upgrade sudo umount /opt/ltsp/i386/proc sudo ltsp-update-kernels -b /opt/ltsp -d ltsp sudo ltsp-update-image -p 2000 -b /opt/ltsp -a i386
Sauvegarder le fichier et le fermer
Rendre le fichier exécutable par
sudo chmod +x /usr/local/bin/maj_clients.sh
Maintenant on peut effectuer la mise à jour automatisée des clients légers en tapant dans un terminal :
sudo maj_clients.sh
Et voila!
Pour plus d'informations –> Mettre à jour chroot, (version anglaise)
Lorsqu'un client boote sur le réseau, il obtient une IP dynamique gérée par le serveur DHCP. Par confort, nous allons attribuer a chaque client LTSP qui se connecte une IP fixe dépendant de sa carte réseau
Partons de l'hypothèse que le serveur DHCP est dejà installé avec la distribution Edubuntu et est fonctionnel
CLIENT MAC ADDR: 00 16 E6 12 7D 1E
Ce qui correspond à l'adresse MAC 00:16:e6:12:7d:1e Notez cette adresse
Nous allons dire au serveur qu'une nouvelle machine inconnue du système qui se connecte obtiendra une IP comprise entre 192.168.0.50 et 192.168.0.250. Les machines connues auront une IP comprise entre 192.168.0.10 et 192.168.0.49.
ajouter à la fin du fichier :
host NOM_MACHINE { hardware ethernet ADRESSE_MAC; fixed-address IP_FIXE; }
Exemple:
host berlin { hardware ethernet 00:16:e6:12:7d:1e; fixed-address 192.168.0.10; }
Opération à effectuer pour chaque nouvelle machine sur le réseau (sur la plage 192.168.0.10 à 192.168.0.49)
sudo /etc/init.d/isc-dhcp-server restart
Pour plus d'informations –> IP statiques avec DHCP (version anglaise)
Il est préférable d'activer le swap sur le serveur pour les machines exécutant des applications locales.
Exécuter des applications locales (firefox ou vlc) permettent de décharger le serveur et la bande passante.
La machine exécutant ces applications locales doit être suffisamment puissante, c'est en général le cas.
Dans la rubrique [default], ajouter les 2 lignes suivantes
NBD_SWAP=True SWAP_SERVER=IP_DU_SERVEUR_LTSP
Exemple dans notre cas :
# active swap nbd NBD_SWAP=True SWAP_SERVER=192.168.0.254
SIZE=256
nbdswapd: ALL: keepalive
ls -lh /tmp/tmp.*|grep 256M|wc -l
Si la commande renvoie "1" c'est que ça marche
Avant tout, il va falloir faire quelques modifications de la configuration réseau car ce n'est plus le serveur LTSP qui va réellement gérer le traitement du flux internet sur le client léger.
Le serveur LTSP va également jouer le rôle de passerelle
ifconfig
qui renvoie
eth0 Link encap:Ethernet inet adr:192.168.0.254 eth1 Link encap:Ethernet HWaddr 00:1f:1d:72:f3:24 inet adr:192.168.41.11
La première carte (eth0) est la carte reliée au réseau LTSP. Elle possède une IP fixe (192.168.0.254 qui est l'IP par défaut d'un serveur LTSP)
La seconde carte (eth1) est la carte reliée au réseau internet (autre réseau ou box internet par exemple).
L'objectif est donc que le serveur LTSP qui reçoit des requêtes internet de la part des clients LTSP (par eth0) puisse transférer les requête vers le réseau internet (par eth1).
Il suffit de regarder dans le fichier /etc/resolv.conf du serveur LTSP. par exemple en console avec la commande "cat"
cat /etc/resolv.conf
qui renvoie
# Generated by NetworkManager nameserver 212.27.40.241 nameserver 212.27.40.240
Il y a deux serveurs DNS possibles dans ce cas qui peuvent être utilisés. On prendra le premier : 212.27.40.241
2 cartes réseaux :
eth0, IP=192.168.0.254, reliée au réseau LTSP
eth1, IP=192.168.41.11, reliée à un autre sous réseau et à la box Internet
1 serveur DNS : IP=212.27.40.241
Vérifier que l'option router est correcte ou bien la corriger :
option routers 192.168.0.254;
Ajouter la ligne suivante ou la dé-commenter (supprimer le # au début de la ligne) :
net.ipv4.ip_forward=1
sudo iptables --table nat --append POSTROUTING --jump MASQUERADE --source 192.168.0.0/24
Pour rendre l'activation NAT permanente, taper la commande suivante sur le serveur :
sudo sh -c 'iptables-save > /etc/ltsp/nat'
auto eth0 iface eth0 inet static address 192.168.0.254 netmask 255.255.255.0 broadcast 192.168.0.255 network 192.168.0.0 up iptables-restore < /etc/ltsp/nat
modifier la ligne si elle existe déjà ou bien la créer :
option domain-name-servers IP_DU_SERVEUR_DNS;
Dans notre cas, nous modifions la ligne :
option domain-name-servers 212.27.40.241;
Le fichier complet est celui-ci :
# # Default LTSP dhcpd.conf config file. # authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.50 192.168.0.250; option domain-name "example.com"; option domain-name-servers 212.27.40.241; option broadcast-address 192.168.0.255; option routers 192.168.0.254; # next-server 192.168.0.254; # 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"; } }
sudo /etc/init.d/isc-dhcp-server restart
sudo /etc/init.d/dhcp3-server restart
Dans un terminal sur le client léger, taper la commande suivante :
ping -c 2 www.edubuntu.com
Si cela fonctionne, on doit quelque-chose qui ressemble à cela :
PING edubuntu.com (91.189.94.239) 56(84) bytes of data. 64 bytes from humboldt.canonical.com (91.189.94.239): icmp_req=1 ttl=53 time=17.3 ms 64 bytes from humboldt.canonical.com (91.189.94.239): icmp_req=2 ttl=53 time=16.3 ms --- edubuntu.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 16.386/16.857/17.328/0.471 ms
Si ce n'est pas le cas, reprendre la démarche et vérifier la configuration…
Pour plus d'information, voir la documentation NAT et clients légers (version anglaise)
Une autre solution est d'installer un proxy sur le serveur (https://doc.ubuntu-fr.org/squid) et de configurer firefox pour utiliser ce proxy.
sudo chroot /opt/ltsp/i386 apt-get update
sudo cp /etc/resolv.conf /opt/ltsp/i386/etc/resolv.conf
sudo chroot /opt/ltsp/i386 apt-get install firefox flashplugin-installer
Ajouter dans la section [default] les lignes suivantes :
LOCAL_APPS=True LOCAL_APPS_MENU=True LOCAL_APPS_MENU_ITEMS=firefox
sudo ltsp-update-image -a i386
sudo /etc/init.d/isc-dhcp-server restart
sudo /etc/init.d/dhcp3-server restart
Redémarrer le client léger
Lancer Firefox sur le client léger
Sur le titre de la fenêtre, on doit lire quelque chose qui ressemble à : "Mozilla Firefox (sur ltspxx)" avec xx le N° du client léger LTSP (en général les derniers chiffres de son adresse IP).
Pour plus d'informations –> NAT avec les clients légers LTSP (version anglaise)
Pour modifier la carte réseau qui est relié au réseau des clients LTSP et celle reliée à internet, modifiez le fichier /etc/network/interfaces . Cette opération est également nécessaire si vous changer la carte réseau de votre ordinateur.
Pour mémo, les applications suivantes ont ete installees dans le chroot ds clients: language-support-fr firefox-locale-fr language-pack-fr
Le fichier lts.conf a été modifié pour y ajouter : LDM_LANGUAGE="fr_FR.UTF-8" Mais aucun changement sur la fenêtre de connexion de LDM qui est toujours en anglais…
Modifier dans les paramètres systèmes : Système –> Administration –> Prise en charge des langues On met français en priorité 1
—- Contributeurs principaux : doogui.