HowTos für Netzwerk-Clients

Eine allgemeine Bezeichnung für sowohl Thin Clients wie auch Diskless-Workstations ist LTSP-Client.

Einführung in Thin Clients (auch als Terminals bezeichnet) und Diskless Workstations (Arbeitsplatzrechner ohne Festplatte) Beginnend mit Bullseye unterscheidet sich LTSP deutlich von den vorherigen Versionen. Dies betrifft sowohl die Einrichtung als auch die Wartung.

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.

Einführung in Thin Clients (auch als Terminals bezeichnet) und Diskless Workstations (Arbeitsplatzrechner ohne Festplatte) 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

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

PXE steht für Preboot eXecution Environment. Debian Edu verwendet jetzt die iPXE-Implementierung, um die LTSP-Integration zu vereinfachen.

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.

Netzwerkeinstellungen ändern 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

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)

WLAN-Clients 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.

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.

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).