ubuntuusers.de

LTSP im Heimnetzwerk

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

LTSP/ltsp_logo.png Dieser Artikel dient als Ergänzung zum Hauptartikel Archiv/LTSP. Dieses ist nicht nur für Installationen mit vielen Rechnern (z.B. Klassenräume) geeignet, sondern kann auch im Privatbereich seine Stärken ausspielen: Es reicht, einen zentralen Server entsprechend leistungsstark auszustatten, während Nutzer mit abgespeckten Systemen auskommen. So wird eine bessere Auslastung der "starken" Maschine erreicht und bei den (Thin) Clients Strom gespart.

Die Grundkonfiguration von LTSP ist darauf ausgelegt, dass der Server im eingesetzten Netzwerk die Rolle des DHCP-Servers übernimmt. In einem typischen Heimnetzwerk wird diese Funktion meist aber von einem DSL-Router übernommen, der mit Konzepten wie Netzwerkboot über PXE in der Regel nichts anfangen kann.

Das "Preboot Execution Environment" (PXE) ist allerdings ein sehr mächtiges Protokoll und sieht ausdrücklich auch die Möglichkeit vor, mit Proxy-DHCP in einer bestehenden Netzwerkumgebung eingesetzt zu werden. Diese Funktion übernimmt Dnsmasq, dessen Konfiguration auf dem LTSP-Server im Folgenden beschrieben wird.

Installation

LTSP und Dnsmasq können direkt aus den Quellen installiert werden [1].

  • ltsp-server

  • dnsmasq (universe)

Paketliste zum Kopieren:

sudo apt-get install ltsp-server dnsmasq 

Oder mit apturl installieren, Link: apt://ltsp-server,dnsmasq

Hinweis:

Ein Hinweis für Host-Systeme ohne grafische Umgebung (z.B. Ubuntu-Server): Ein Minimum an Grafikunterstützung ist erforderlich, sonst funktioniert die Anmeldung am Thin Client nicht.

  • xinit

Paketliste zum Kopieren:

sudo apt-get install xinit 

Oder mit apturl installieren, Link: apt://xinit

LTSP-Umgebung

Im installierten LTSP-Paket sind Werkzeuge enthalten, um eine LTSP-Umgebung für die Clients zu erstellen. Dies geschieht mit folgendem Befehl [2][3]:

sudo ltsp-build-client  

Die Client-Umgebung hat dieselbe Architektur wie der Server. Wenn der Server mit einem 64 Bit-System läuft, die Clients aber nur mit 32 Bit umgehen können, lautet der Befehl:

sudo ltsp-build-client --arch i386 

Proxy-DHCP mit dnsmasq

Damit Dnsmasq als DHCP-Proxyserver läuft, werden mit Root-Rechten entsprechende Anpassungen in der Datei /etc/dnsmasq.conf durchgeführt. In der Standardkonfiguration sind alle Optionen auskommentiert, die Konfiguration für LTSP kann man einfach am Ende einfügen.

# Deaktivieren der DNS-Funktionalität
port=0
# Den eingebauten TFTP-Server nutzen
enable-tftp
# Verzeichnis für die Dateien der Clients
tftp-root=/var/lib/tftpboot
# Kein Multicast erlaubt
dhcp-option=vendor:PXEClient,6,2b
# Kompatibilität zu älteren oder fehlerhaften DHCP-Clients
dhcp-no-override
# Dnsmasq wird zu einem Proxy-DHCP. Die IP-Adresse ist diejenige des Servers
dhcp-range=192.168.1.5,proxy
# Ein PXE-Menü wird benötigt, sonst funktioniert Proxy-DHCP mit dnsmasq nicht. Die Zahl gibt die Sekunden an, nach denen der erste Eintrag gestartet wird
pxe-prompt="F8 druecken fuer Bootoptionen", 3
# Eintrag für Netzwerkboot
pxe-service=X86PC, "Netzwerkboot", /ltsp/i386/pxelinux
#pxe-service=X86PC, "Netzwerkboot", /ltsp/amd64/pxelinux
# Netzwerkboot abbrechen
pxe-service=X86PC, "Lokale Festplatte", 0
# Dnsmasq wird gesprächig und schreibt nach /var/log/syslog
log-dhcp

Weitere Einstellungsmöglichkeiten gibt es im Artikel PXE-Boot (Abschnitt „Die-Konfigurationsdateien“).

Konfiguration ab Ubuntu 14.04

Eine Datei beliebigen Namens, bspw. ltsp.conf, unterhalb von /etc/dnsmasq.d/ mit folgendem Inhalt erstellen:

# Deaktivieren der DNS-Funktionalität; wird diese unter ab 14.04 deaktiviert haben weder der Client noch der Server DNS-Auflösung
#port=0
# Den eingebauten TFTP-Server nutzen
enable-tftp
# Verzeichnis für die Dateien der Clients
tftp-root=/var/lib/tftpboot
# Kein Multicast erlaubt
dhcp-option=vendor:PXEClient,6,2b
# Kompatibilität zu älteren oder fehlerhaften DHCP-Clients
dhcp-no-override
# Dnsmasq wird zu einem Proxy-DHCP. Eine beliebige IP-Adresse aus dem Router-Subnetz; bspw. die des LTSP-Servers
dhcp-range=192.168.178.80,proxy
# Ein PXE-Menü wird benötigt, sonst funktioniert Proxy-DHCP mit dnsmasq nicht. Die Zahl gibt die Sekunden an, nach denen der erste Eintrag gestartet wird
pxe-prompt="F8 druecken fuer Bootoptionen", 3
# Eintrag für Netzwerkboot
pxe-service=X86PC, "Netzwerkboot i386", /ltsp/i386/pxelinux
pxe-service=X86PC, "Netzwerkboot amd64", /ltsp/amd64/pxelinux
# Netzwerkboot abbrechen
pxe-service=X86PC, "Lokale Festplatte", 0
# Dnsmasq wird gesprächig und schreibt nach /var/log/syslog
log-dhcp

Man beachte: hier sind beide Architekturen einkommentiert; der erste wird standardmäßig gebootet. Weitere Einstellungsmöglichkeiten gibt es im Artikel PXE-Boot (Abschnitt „Die-Konfigurationsdateien“). Um die neue Konfiguration wirksam werden zu lassen, führt man folgenden Befehl aus:

service dnsmasq restart 

Netzwerkkonfiguration übergeben

Damit der Client weiß, dass er LTSP nicht unter der Adresse des primären DHCP-Servers findet, ist eine Bootoption nötig. Dazu wird als Root die Datei /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default bzw. /var/lib/tftpboot/ltsp/amd64/pxelinux.cfg/default um folgende Zeile ergänzt:

ipappend 3

Konfigurationsdatei ab 14.04

/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default bzw. /var/lib/tftpboot/ltsp/amd64/pxelinux.cfg/default

default ltsp-NBD
ontimeout ltsp-NBD

label ltsp-NBD
menu label LTSP, using NBD
kernel vmlinuz-3.13.0-43-generic
append ro initrd=initrd.img-3.13.0-43-generic init=/sbin/init-ltsp quiet splash root=/dev/nbd0
ipappend 3

[...]

menu begin ltsp-versions-NBD
menu label Other LTSP boot options using NBD


label ltsp-NBD-3.13.0-43-generic
menu label LTSP, using NBD, with Linux 3.13.0-43-generic
kernel vmlinuz-3.13.0-43-generic
append ro initrd=initrd.img-3.13.0-43-generic init=/sbin/init-ltsp quiet splash root=/dev/nbd0
ipappend 3

menu end

[...]

Die restlichen Abschnitte sind nicht relevant, da nur NBD verwendet wird. Auch hier muss ipappend 2 durch ipappend 3 ersetzt werden. Der Rest variiert je nach eingesetztem Kernel. Anschließend sollte man den Server neu starten, weil insbesondere der NBD-Server zickig ist. Dann steht einem ersten Test mit PXE-fähigen Clients nichts im Weg.

service nbd-server restart 

Achtung!

Im späteren Betrieb sollte ein Neustart des NBD-Servers nur erfolgen, wenn vorher alle Clients heruntergefahren wurden!

Konfiguration der Clients

Die Konfiguration der Clients geschieht über die lts.conf, die unter /var/lib/tftpboot/ltsp/i386/ bzw. /var/lib/tftpboot/ltsp/amd64/ zu finden ist. Dazu gibt es einen eigenen Artikel: Archiv/LTSP/lts.conf.

Benutzer anlegen

Die Anmeldung auf den Clients ist mit allen Benutzern möglich, die auf dem Server existieren. Neue Benutzer lassen sich einfach mit der Konsole anlegen, siehe Benutzerverwaltung. Zum testen kann man auch den ersten Benutzer verwenden, der bei der Installation des Grundsystems angelegt wurde.

Windows für Clients

Mittels Virtualisierung und dem RDP-Protokoll kann man Clients auch direkt ein Windows servieren. Die Konfiguration ist in einem eigenständigen Artikel beschrieben: Archiv/LTSP/Windows mit VirtualBox.

Problembehebung

Clients booten nicht mehr nach ltsp-update-image

Wenn man das Image z.B. nach einem Kernelupdate mit sudo ltsp-update-image erneuert, booten die Clients nicht mehr. Dies liegt daran, dass die Datei /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default bzw. /var/lib/tftpboot/ltsp/amd64/pxelinux.cfg/default neu angelegt wird und der Eintrag "ipappend 3" dann fehlt. Dann wiederholt man den Schritt, der oben unter Netzwerkkonfiguration übergeben erläutert ist.

TFTP Timeout nach einem ltsp-update-image

Neustart von dnsmasq; stellt den TFTP-Server bereit:

service dnsmasq restart 

Diese Revision wurde am 23. Juni 2019 21:37 von Beforge erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: LTSP, Server, Netzwerk