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