Eine allgemeine Bezeichnung für sowohl Thin Clients wie auch Diskless-Workstations ist LTSP-Client.
Beginnend mit Bullseye unterscheidet sich LTSP deutlich von den vorherigen
Versionen. Dies betrifft sowohl die Einrichtung als auch die Wartung.
Ein Hauptunterschied besteht darin, dass das SquashFS-Image für Diskless -Workstations nun standardmäßig aus dem LTSP-Server-Dateisystem erzeugt wird. Dies geschieht auf einem Kombi-Server beim ersten Start und nimmt einige Zeit in Anspruch.
Thin Clients sind nicht mehr Teil von LTSP. Debian Edu verwendet X2Go, um die Verwendung von Thin Clients weiterhin zu unterstützen.
Im Falle eines separaten oder zusätzlichen LTSP-Servers sind die erforderlichen Informationen zur Einrichtung der LTSP-Client-Umgebung zum Zeitpunkt der Installation nicht vollständig. Die Einrichtung kann erfolgen, nachdem das System mit GOsa² hinzugefügt wurde.
Informationen über LTSP im Allgemeinen finden Sie auf der LTSP-Homepage. Auf Systemen mit
LTSP-Server-Profil liefert man
ltsp
weitere Informationen.
Bitte beachten Sie, dass das zu LTSP gehörende Werkzeug
ltsp mit Vorsicht verwendet werden muss. Zum Beispiel
würde ltsp image /
das SquashFS-Image bei
Debian-Rechnern nicht erzeugen (diese haben standardmäßig eine separate
/boot-Partition), ltsp ipxe
würde das
iPXE-Menü nicht korrekt erzeugen (aufgrund der Thin-Client-Unterstützung von
Debian Edu), und ltsp initrd
würde den
Start des LTSP-Clients komplett durcheinander bringen.
Das debian-edu-ltsp-install Werkzeug ist
ein Wrapper-Skript für ltsp image
,
ltsp initrd
und ltsp
ipxe
. Es wird verwendet, um Unterstützung für Diskless
Workstations und Thin Clients einzurichten und zu konfigurieren (sowohl
64-Bit- als auch 32-Bit-PC). Siehe man
debian-edu-ltsp-install
oder den Inhalt des Skripts, um zu
sehen, wie es funktioniert. Die gesamte Konfiguration ist im Skript selbst
enthalten (HERE-Dokumente), um standortspezifische Anpassungen zu
erleichtern.
Beispiele, wie Sie das Wrapper-Skript debian-edu-ltsp-install verwenden können:
debian-edu-ltsp-install --diskless_workstation
yes
aktualisiert das SquashFS-Image für Diskless
Workstations (vom Server-Dateisystem)
debian-edu-ltsp-install --diskless_workstation yes
--thin_type bare
erstellt Unterstützung für Diskless
Workstations und 64-Bit Thin Clients.
debian-edu-ltsp-install --arch i386 --thin_type
bare
erstellt zusätzliche 32-Bit-Thin-Client-Unterstützung
(Chroot und SquashFS-Image).
Neben bare (kleinstes Thin-Client-System) stehen auch display und desktop als Optionen zur Verfügung. Der Display-Typ bietet eine Schaltfläche zum Herunterfahren, der Desktop-Typ führt Firefox ESR im Kiosk-Modus auf dem Client selbst aus (mehr lokaler RAM und CPU-Leistung erforderlich, aber weniger Serverlast).
Das debian-edu-ltsp-ipxe Werkzeug ist ein
Wrapper-Skript für ltsp ipxe
. Es stellt
sicher, dass die Datei /srv/tftp/ltsp/ltsp.ipxe für Debian Edu passend
ist. Der Befehl muss ausgeführt werden, nachdem iPXE-Menü-Einträge (wie
Menü-Timeout oder Standard-Boot-Einstellungen) in der /etc/ltsp/ltsp.conf
[server] Sektion geändert wurden.
Das debian-edu-ltsp-initrd Werkzeug ist
ein Wrapper-Skript für ltsp initrd
. Es
sorgt dafür, dass eine anwendungsspezifische Initrd
(/srv/tftp/ltsp/ltsp.img) erzeugt und dann in das anwendungsspezifische
Verzeichnis verschoben wird. Der Befehl muss ausgeführt werden, nachdem der
Abschnitt /etc/ltsp/ltsp.conf [clients] geändert wurde.
Das debian-edu-ltsp-chroot Werkzeug ist ein Ersatz für das ltsp-chroot Werkzeug, das zu LTSP5 gehörte. Es wird verwendet, um Befehle in einem bestimmten LTSP-Chroot auszuführen (wie z.B. Installieren, Upgrade und Entfernen von Paketen).
Diskless Workstation
Bei einer Diskless Workstation laufen alle Anwendungen lokal. Die Maschine bootet ohne lokale Festplatte direkt vom LTSP-Server. Die Software wird auf dem LTSP-Server administriert und gewartet, läuft aber auf der Diskless Workstation. Ebenso werden Home-Verzeichnisse und Systemeinstellungen auf dem Server gespeichert. Diskless Workstations sind eine hervorragende Möglichkeit zur Wiederverwendung älterer (aber leistungsfähiger) Hardware mit den gleichen geringen Wartungskosten wie bei Thin Clients.
Im Unterschied zu Arbeitsplatzrechnern benötigen LTSP Diskless Workstations keine Konfiguration in GOsa².
Thin Client
Ein Thin-Client-Setup ermöglicht es, einen gewöhnlichen PC als (X-)Terminal zu verwenden, wobei die gesamte Software auf dem LTSP-Server läuft. Das bedeutet, dass dieser Rechner über PXE gebootet wird, ohne eine lokale Client-Festplatte zu verwenden, und dass der LTSP-Server ein leistungsstarker Rechner sein muss.
Debian Edu unterstützt nach wie vor die Verwendung von Thin Clients, um die Nutzung von sehr alter Hardware zu ermöglichen.
Da Thin Clients X2Go verwenden, sollten Benutzer das Compositing
deaktivieren, um Anzeigeartefakte zu vermeiden. Im Standardfall
(Xfce-Desktop-Umgebung): Einstellungen -> Feineinstellungen der
Fensterverwaltung -> Komposit.
Firmware der LTSP-Clients
Der Start von LTSP-Clients wird scheitern, falls für die Netzwerkschnittstelle des Clients Firmware aus »non-free« erforderlich ist. Eine PXE-Installation könnte zur Fehlersuche bei Problemen mit solchen Maschinen verwendet werden: Falls der Debian-Installer wegen fehlender XXX.bin-Dateien abbricht, dann ist es notwendig, die Initrd des LTSP-Servers mit Firmware aus »non-free« zu ergänzen.
Gehen Sie auf dem LTSP-Server wie folgt vor:
Rufen Sie zunächst Informationen über Firmware-Pakete ab:
apt update && apt search ^firmware-
Entscheiden Sie, welches Paket für die Netzwerkschnittstelle(n) installiert werden muss, höchstwahrscheinlich wird dies firmware-linux sein, führen Sie dann aus::
apt -y -q install firmware-linux
Aktualisieren Sie das SquashFS-Image für Diskless-Workstations, führen Sie aus:
debian-edu-ltsp-install --diskless_workstation yes
Falls X2Go Thin Clients verwendet werden, führen Sie diesen Befehl aus:
/usr/share/debian-edu-config/tools/ltsp-addfirmware -h
und verfahren Sie entsprechend den Nutzungsinformationen.
Aktualisieren Sie dann das SquashFS-Image; führen Sie z.B. für den /srv/ltsp/x2go-bare-amd64 Chroot aus:
ltsp image x2go-bare-amd64
Jeder LTSP-Server hat zwei Ethernet-Schnittstellen. Eine ist für das Subnetz 10.0.0.0/8 (in dem auch der Hauptserver liegt) konfiguriert. Die andere ist mit einem lokalen Subnetz verbunden. (Jeder LTSP-Server versorgt ein eigenes Subnetz.)
In beiden Fällen kann Diskless Workstation oder Thin Client aus dem iPXE-Menü gewählt werden. Nach einer Wartezeit von 5 Sekunden bootet das Gerät als Diskless Workstation.
Das Standard-Boot-Menüelement und sein Standard-Timeout-Wert können beide in
/etc/ltsp/ltsp.conf
konfiguriert
werden. Ein Timeout-Wert von -1 wird verwendet, um das
Menü nicht anzuzeigen. Führen Sie
debian-edu-ltsp-ipxe
aus, damit alle
Änderungen wirksam werden.
192.168.0.0/24 ist das vorgegebene LTSP-Client-Netzwerk, wenn für die
Installation einer Maschine das Profil »LTSP-Server« gewählt wird. Falls
sehr viele LTSP-Clients betrieben werden oder wenn i386- und
amd64-Chroot-Umgebungen von verschiedenen LTSP-Servern zur Verfügung
gestellt werden sollen, dann kann auch das zweite vorkonfigurierte Netzwerk
192.168.1.0/24 verwendet werden. Öffnen Sie die Datei
/etc/network/interfaces
und passen Sie die
Einstellungen für »eth1« entsprechend an. Verwenden Sie
ldapvi
oder einen anderen LDAP-Editor, um
die DNS- und DHCP-Konfiguration einzusehen.
Um Chroot und SquashFS-Image zu erstellen, führen Sie aus:
debian-edu-ltsp-install --arch i386 --thin_type bare
Siehe man debian-edu-ltsp-install
für
Details über Thin Client-Typen.
Führen Sie den Befehl man ltsp.conf
aus, um
eine Übersicht über verfügbare Optionen zu bekommen. Auch online verfügbar:
https://ltsp.org/man/ltsp.conf/
Fügen Sie Konfigurationseinträge zum Abschnitt /etc/ltsp/ltsp.conf [clients] hinzu. Damit die Änderungen wirksam werden, führen Sie diesen Befehl aus:
debian-edu-ltsp-initrd
LTSP Thin Clients benutzen vernetztes Audio zur Tonweiterleitung vom Server zu den Clients.
LTSP Diskless Workstations.
Wenn Benutzer ein USB-Gerät oder eine DVD / CD-ROM an eine Diskless Workstation anschließen, erscheint ein entsprechendes Symbol auf dem Desktop und ermöglicht den Zugriff auf den Inhalt wie auf einer Workstation.
Wenn Benutzer ein USB-Gerät an einen X2Go-Thin-Client des Typs bare (standardmäßige Kombiserver-Installation) anschließen, wird das Medium aktiviert, sobald ein Doppelklick auf das vorhandene Ordnersymbol auf dem Xfce-Desktop erfolgt. Je nach Medieninhalt kann es einige Zeit dauern, bis der Inhalt im Dateimanager angezeigt wird
Schließen Sie den Drucker an den LTSP-Client-Rechner an (USB- und Parallel-Port möglich).
Konfigurieren Sie den LTSP-Client mit GOsa² für die Verwendung einer festen IP-Adresse.
Richten Sie den Drucker über die Website
https://www.intern:631
auf dem Hauptserver
ein; wählen Sie den Netzwerkdrucker-Typ AppSocket/HP
JetDirect
(für alle Drucker gültig, egal welche Marke oder
welches Modell) und geben Sie
socket://<LTSP-Client-IP>:9100
als
Verbindungs-URI ein.
PXE steht für Preboot eXecution Environment. Debian Edu verwendet jetzt die iPXE-Implementierung, um die LTSP-Integration zu vereinfachen.
Der iPXE-Menüpunkt zu Systeminstallationen wird mit dem Skript
debian-edu-pxeinstall
erzeugt. Es erlaubt,
dass einige Einstellungen mit in der Datei
/etc/debian-edu/pxeinstall.conf
enthaltenen
Ersatzwerten überschrieben werden können.
Die PXE-Installation wird Sprache, Tastaturlayout und weitere Einstellungen
vom Hauptserver übernehmen. Alles andere (Profil, Popcon-Teilnahme,
Partitionierung und Root-Passwort) wird während der Installation
abgefragt. Um diese Fragen zu vermeiden, kann die Datei
/etc/debian-edu/www/debian-edu-install.dat
so modifiziert werden, dass sie vorgegebene Antworten für debconf-Werte
bereithält. Einige Beispiele für vorhandene debconf-Werte sind schon
kommentiert in
/etc/debian-edu/www/debian-edu-install.dat
vorhanden. Ihre Änderungen werden allerdings verloren gehen, sobald
debian-edu-pxeinstall
benutzt wird, um die
PXE-Installationsumgebung neu zu erzeugen. Um debconf-Werte bei Erzeugung
der Umgebung mit debian-edu-pxeinstall
in
/etc/debian-edu/www/debian-edu-install.dat
einzufügen, kann die Datei
/etc/debian-edu/www/debian-edu-install.dat.local
mit den zusätzlichen debconf-Werten hinzugefügt werden.
Weitere Informationen zum Anpassen einer PXE-Installation befinden sich im Kapitel Installation.
Um ein eigenes Depot hinzuzufügen, wird
/etc/debian-edu/www/debian-edu-install.dat.local
beispielsweise um die folgenden Zeilen ergänzt:
d-i apt-setup/local1/repository string http://example.org/debian stable main contrib non-free d-i apt-setup/local1/comment string Example Software Repository d-i apt-setup/local1/source boolean true d-i apt-setup/local1/key string http://example.org/key.asc
und dann einmal
/usr/sbin/debian-edu-pxeinstall
ausführen.
Das Paket debian-edu-config enthält ein Werkzeug, mit dessen Hilfe das
Netzwerk von 10.0.0.0/8 in ein anderes geändert werden kann. Sehen Sie sich
dazu
/usr/share/debian-edu-config/tools/subnet-change
an. Dieses Skript sollte unmittelbar nach der Installation des Hauptservers
ausgeführt werden, um LDAP und andere Dateien zu aktualisieren, die für den
Wechsel des Subnetzes bearbeitet werden müssen.
Bitte beachten Sie, dass der Wechsel zu einem der bereits von Debian-Edu
benutzten Subnetze nicht funktionieren wird. 192.168.0.0/24 und
192.168.1.0/24 sind bereits als LTSP-Client-Netzwerke eingerichtet. Ein
Wechsel zu diesem Subnetz erfordert manuelles Bearbeiten der Konfiguration
zur Beseitigung von Doppeleinträgen.
Es gibt keinen einfachen Weg, um den DNS-Domain-Namen zu ändern. Dazu wären sowohl an der LDAP-Struktur wie auch an mehreren Dateien auf dem Hauptserver Änderungen erforderlich. Es gibt auch keinen einfachen Weg, um den Host- und DNS-Namen des Hauptservers (tjener.intern) zu ändern. Dazu wären ebenfalls Änderungen in LDAP sowie an Dateien auf dem Hauptserver und auf allen Clients notwendig. In beiden Fällen wären zusätzlich Änderungen an der Kerberos-Konfiguration notwendig.
Bei Verwendung des Profils »LTSP-Server« und bei Kombiservern werden jeweils auch die Pakete xrdp und x2goserver installiert.
Xrdp verwendet das Remote Desktop Protocol, um für entfernte Clients eine graphische Anmeldung zur Verfügung zu stellen. Benutzer von Microsoft Windows können sich mit einem LTSP-Server (auf dem xrdp läuft) verbinden, ohne zusätzliche Software installieren zu müssen - sie starten einfach eine Remote-Desktop-Verbindung auf ihrer Windows-Maschine und melden sich an.
Zusätzlich kann xrdp die Verbindung zu einem VNC-Server oder einem anderen RDP-Server herstellen.
Xrdp wird ohne Sound-Unterstützung ausgeliefert; um die erforderlichen Module zu kompilieren (oder neu zu kompilieren), kann dieses Skript verwendet werden. Bitte beachten Sie: Der Aufrufer muss root oder ein Mitglied der sudo-Gruppe sein. Außerdem muss /etc/apt/sources.list eine gültige deb-src-Zeile enthalten.
#!/bin/bash set -e if [[ $UID -ne 0 ]] ; then if ! groups | egrep -q sudo ; then echo "ERROR: You need to be root or a sudo group member." exit 1 fi fi if ! egrep -q ^deb-src /etc/apt/sources.list ; then echo "ERROR: Make sure /etc/apt/sources.list contains a deb-src line." exit 1 fi TMP=$(mktemp -d) PULSE_UPSTREAM_VERSION="$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio)" XRDP_UPSTREAM_VERSION="$(dpkg-query -W -f='${source:Upstream-Version}' xrdp)" sudo apt -q update sudo apt -q install dpkg-dev cd $TMP apt -q source pulseaudio xrdp sudo apt -q build-dep pulseaudio xrdp cd pulseaudio-$PULSE_UPSTREAM_VERSION/ ./configure cd $TMP/xrdp-$XRDP_UPSTREAM_VERSION/sesman/chansrv/pulse/ sed -i 's/^PULSE/#PULSE/' Makefile sed -i "/#PULSE_DIR/a \ PULSE_DIR = $TMP/pulseaudio-$PULSE_UPSTREAM_VERSION" Makefile make sudo cp *.so /usr/lib/pulse-$PULSE_UPSTREAM_VERSION/modules/ sudo chmod 644 /usr/lib/pulse-$PULSE_UPSTREAM_VERSION/modules/module-xrdp* sudo service xrdp restart
Mit X2Go ist es möglich, von einem Rechner mit Linux, Windows oder macOS aus über eine schmal-oder breitbandige Verbindung eine graphische Arbeitsfläche auf dem LTSP-Server zu nutzen. Auf dem Client-PC muss zusätzliche Software installiert werden, weiterführende Informationen gibt es im (englischsprachigen) X2Go wiki.
Bitte beachten: Das Paket killer
sollte am
besten deinstalliert werden, wenn X2Go auf dem LTSP-Server benutzt wird,
siehe Bug 890517.
freerdp-x11
wird voreingestellt
installiert; es unterstützt RDP und VNC.
RDP - der einfachste Weg, um auf einen Windows-Terminal-Server
zuzugreifen. Eine Alternative auf der Clientseite ist das Paket
rdesktop
.
Ein VNC-Client (Virtual Network Computer) ermöglicht entfernten Zugang zu
Skolelinux. Eine Alternative auf der Clientseite ist das Paket
xvncviewer
.
x2goclient
ist ein graphischer Client für
das X2Go-System (nicht standardmäßig installiert). Sie können diesen
benutzen, um sich mit laufenden Sitzungen zu verbinden oder neue Sitzungen
zu starten.
Der freeRADIUS-Server könnte verwendet werden, um
sichere Netzwerkverbindungen bereitzustellen. Damit dies funktioniert,
installieren Sie die Pakete freeradius und
winbind auf dem Hauptserver und führen
/usr/share/debian-edu-config/tools/setup-freeradius-server
aus, um eine grundlegende, standortspezifische Konfiguration zu
erzeugen. Auf diese Weise werden sowohl die Methoden EAP-TTLS/PAP als auch
PEAP-MSCHAPV2 bereit gestellt. Die gesamte Konfiguration ist im Skript
selbst enthalten, um standortspezifische Anpassungen zu erleichtern. Siehe
die freeRADIUS-Homepage für
Details.
Zusätzliche Konfiguration ist erforderlich, um
Zugangspunkte (APs) über ein shared secret zu aktivieren/zu deaktivieren (/etc/freeradius/3.0/clients.conf).
den WLAN-Zugriff über LDAP-Gruppen zu erlauben/zu verweigern (/etc/freeradius/3.0/users).
Zugangspunkte in dedizierten Gruppen zusammenzufassen (/etc/freeradius/3.0/huntgroups)
Endbenutzergeräte müssen richtig konfiguriert werden, diese Geräte müssen
für die Verwendung von EAP-(802.1x)-Methoden PIN-geschützt sein. Die
Benutzer sollten auch dazu angehalten werden, das freeradius CA-Zertifikat
auf ihren Geräten zu installieren, um sicher zu sein, dass sie sich mit dem
richtigen Server verbinden. Auf diese Weise kann deren Passwort im Falle
eines bösartigen Servers nicht abgefangen werden. Das standortspezifische
Zertifikat ist im internen Netzwerk verfügbar.
https://www.intern/freeradius-ca.pem (für Endanwendergeräte unter Linux)
https://www.intern/freeradius-ca.crt (Linux, Android)
https://www.intern/freeradius-ca.der (macOS, iOS, iPadOS, Windows)
Bitte beachten Sie, dass die Konfiguration von Endgeräten aufgrund der Gerätevielfalt eine echte Herausforderung sein wird. Für Windows-Geräte könnte ein Installer-Skript erstellt werden, für Apple-Geräte eine mobileconfig-Datei. In beiden Fällen kann das freeRADIUS-CA-Zertifikat integriert werden, allerdings werden betriebssystemspezifische Tools zur Erstellung dieser Skripte benötigt.
Um pGina (oder eine andere Autorisierungsservice-Anwendung eines Drittanbieters) nutzen zu können, sollten Sie über ein spezielles Benutzerkonto verfügen, das für die Suche innerhalb von LDAP verwendet wird.
Fügen Sie einen speziellen Benutzer, z.B. pguser mit Passwort pwd.777, mittels https://www/gosa hinzu.
Laden Sie pGina 3.9.9.12 herunter und installieren Sie die Software wie gewohnt. Achten Sie darauf, dass das LDAP-Plugin im pGina-Plugin-Ordner vorhanden ist:
C:\Program Files\pGina.fork\Plugins\pGina.Plugin.Ldap.dll
In Anbetracht der Debian-Edu-Einstellungen muss die Verbindiúng mit LDAP über SSL und Port 636 erfolgen.
Die notwendigen Einstellungen in einem pGina-LDAP-Plugin sind wie unten angegeben vorzunehmen
(sie werden unter HKEY_LOCAL_MACHINE\SOFTWARE\pGina3.fork\Plugins\\0f52390b-c781-43ae-bd62-553c77fa4cf7)gespeichert).
LDAP-Host(s): 10.0.2.2 [10.0.3.3] (oder jeder andere mit »Leerzeichen« als Trennzeichen)
LDAP Port: 636 (für SSL-Verbindung)
Timeout: 10
Search for DN: Ja (Kontrollkästchen anklicken)
Start TLS: Nein (Kontrollkästchen nicht anklicken)
Validate Server Certificate: Nein (Kontrollkästchen nicht anklicken)
Search DN: uid=pguser,ou=people,ou=Students,dc=skole,dc=skolelinux,dc=no
(»pguser« ist die Benutzerkennung, die in LDAP authentifiziert wird, um Benutzer in einer Anmeldesitzung zu suchen)
Search Password: pwd.777 (dies ist das Passwort von »pguser«)
Bind Tab:
Allow Empty Passwords: Nein (also leer lassen)
Search for DN: Ja (Kontrollkästchen anklicken)
Search Filter: (&(uid=%u)(objectClass=person))
Default: Allow
Deny when LDAP authentication fails: Ja (Kontrollkästchen anklicken)
Allow when server is unreachable: Nein (Kontrollkästchen nicht anklicken, optional)
LDAP: Authentication [v], Authorization [v], Gateway[v], Change Password [_]
Local Machine: Authentication [v], Gateway [v] (nur zwei Kontrollkästchen anklicken)
Authentication: LDAP, Local Machine
Gateway: LDAP, Local Machine
Quellen