LTSP
De Wiki de Nelly & Richard.
Sommaire |
Présentation
LTSP : Linux Terminal Server Project (Site officiel)
- Les différentes distributions utilisant LTSP
- Vous trouverez ici un peu de documentation à jour.
- Pxelinux
Installation
Généralités
Partitionnement
- Une seule partition ext3 en plus de la swap suffira.
- On pourrait éventuellement séparer le dossier contenant le thin client : /opt
fichier lts.conf
- fichier lts.conf
# /opt/ltsp/<arch>/etc/lts.conf [default] SOUND=True LOCALDEV=True CONFIGURE_X=True #X_COLOR_DEPTH=16 # resolution #X_MODE_0=800x600 # where do you want your syslog messages ;) SYSLOG_HOST=server # authentication for Xauthority LDM_DIRECTX=True
Construction client léger
- Suivant l'architecture de votre serveur il sera peut-être nécessaire de reconstruire votre thin client :
ltsp-server:~# rm -fr /opt/ltsp/i386/ ltsp-server:~# ltsp-build-client --arch i386
DHCP
Depuis la version 5 de LTSP le client n'utilise plus dhclient pour faire sa requête dhcp mais ipconfig issue du paquet klibc-utils.
Si nous avons le cas de deux serveurs LTSP ou dans le cas d'autres systèmes GNU/Linux utilisant ipconfig :
- - Il est possible de modifier le VCI afin de personnaliser :
- - dans le fichier /opt/ltsp/i386/usr/share/initramfs-tools/scripts/functions et ajouter l'option "-i VCIperso" aux 3 ou 4 lignes contenant ipconfig
- - chroot dans le thin client update-initramfs -u
- - ltsp-update-kernels sur le serveur
La plupart des systèmes GNU/Linux utilisant dhclient :
Sur votre client le fichier /etc/dhclient.conf
- option client-dhclient code 222 = text;
- send client-dhclient "linux dhclient";
Cette configuration dhcp permet de séparer les baux dhcp sur 2 plages différentes :
- Les clients légers font une premières requête DHCP bootp pour charger le fichier pxelinux.0 (pool pxe etherboot)
- Il font ensuite une deuxième requête DHCP par l'intermédiare de ipconfig ayant pour VCI "Linux ipconfig" (pool ltsp)
- Les clients ayant pour hostname sysresccd se retrouve dans la pool specific host
- Les clients windows, linux (dhclient, udhcp, dhcpd, pump, ...) (pool other clients)
fichier dhcpd.conf
#
# dhcpd configuration files by richard
#
authoritative;
# to known the client's VCI string
# wrote with all leases in the /var/lib/(dhcp)|(dhcp3)/dhcpd.leases
set vci-string = option vendor-class-identifier;
# option clientbubuntu code 222 = text;
#
# class "dhclient" {
# match if option client-dhclient = "linux dhclient";
# }
# def class of members PXE client
class "pxe etherboot" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
}
# def class of members LTSP
class "ltsp" {
match if option vendor-class-identifier = "Linux ipconfig";
}
# def class of members specific hostname
class "specific host" {
match if option host-name = "sysresccd";
}
# define main subnet 192.168.0.0/16 class B
subnet 192.168.0.0 netmask 255.255.0.0 {
option domain-name "example.com";
option domain-name-servers 192.168.0.1;
option routers 192.168.0.1;
option broadcast-address 192.168.255.255;
option subnet-mask 255.255.0.0;
# def range and options for specific hostname
pool {
allow members of "specific host";
range 192.168.0.101 192.168.0.150;
}
# def range and options for LTSP clients
pool {
allow members of "ltsp";
range 192.168.0.200 192.168.0.250;
option root-path "192.168.0.254:/opt/ltsp/i386";
}
# def range and options for PXE boot clients
pool {
allow members of "pxe etherboot";
range 192.168.0.151 192.168.0.199;
next-server 192.168.0.254;
if substring(option vendor-class-identifier, 0, 9) = "PXEClient" {
filename "/ltsp/i386/pxelinux.0";
} else {
filename "/ltsp/i386/nbi.img";
}
}
# def range and options for other clients
pool {
deny members of "specific host";
deny members of "pxe etherboot";
deny members of "ltsp";
range 192.168.0.50 192.168.0.100;
}
}
TCP wrappers
- fichier /etc/hosts.allow
# admin + ltsp sshd: 192.168.0.0/16 in.tftpd: 192.168.0.0/16 # nfs #portmap: 192.168.0.0/16 #nfsd: 192.168.0.0/16 #mountd: 192.168.0.0/16
- fichier /etc/hosts.deny
ALL: ALL
Spécificités
debian lenny
- Installation de la lenny
- Installation du paquet :
ltsp-server:~# apt-get install ltsp-server-standalone
Construction du client
ltsp-server:~# ltsp-build-client
trivial ftp
- Commenter la ligne tftp ... du fichier /etc/inetd.conf
- Redémarrage du démon inetd :
ltsp-server:~# /etc/init.d/inetutils-inetd restart
- Modification du fichier /etc/default/tftpd-hpa pour qu'il tourne en mode démon.
- Redémarrage de tftpd-hpa :
ltsp-server:~# /etc/init.d/tftpd-hpa restart
syslog
- Soit un log sur le serveur :
ltsp-server:~# echo "*.* @${DEFAULT_SERVER}" > /etc/syslog.conf
- Soit un log sur le client mais perdu au reboot :
ltsp-server:~# echo "*.* -/var/log/messages" > /etc/syslog.conf
K12 LTSP
- Rien à faire tous les fichiers de configurations du LTSP se trouvent dans le dossier /etc/ltsp
Serveur dhcp
- Un script de démarrage du dhcp spécifique au LTSP : /etc/init.d/ltsp-dhcpd
ubuntu LTSP
- Depuis une ubunutu alternate qu'il est possible de télécharger ici
- Sélectionner dans les options : ltsp server
Serveur inetd
ltsp-server:~# update-inetd --disable tftpd
- Commentez la ligne commencant par tftp
ltsp-server:~# sed -i 's/^\(tftp\)/#\1/' /etc/inetd.conf
- Fichier /etc/default/tftpd-hpa
Passage en mode démon.
ltsp-server:~# /etc/init.d/tftpd-hpa start