Linux Terminal Server Project mit Debian / Ubuntu

Dieses Wochenende werde ich mich mal mit LTSP, dem Linux Terminal Server Project, beschäftigen und eine Anleitung dazu schreiben.

Vorgeschichte:

In den Anfängen der grossen Computer-Netzwerken waren riesige Mainframe-Rechner das Herzstück. Die Benutzer sassen vor sogenannten Terminals und arbeiteten über diese auf einem (damals) leistungsstarken Mainframe-Rechner. Auf den „unintelligenten“ Terminals wurden weder Daten gespeichert, noch Applikationen ausgeführt. Diese dienten nur dazu, die Eingaben des Benutzers an den Zentralrechner zu leiten und dessen Antwort auszugeben. Ein solches System bedingt aber ein homogenes („gleichartiges“) Umfeld. Es können nur die auf dem Zentralrechner lauffähigen Programme verwendet werden und meist nur bestimmte Clients / Terminals angeschlossen werden. In der heutigen Zeit sind solche homogene Netze häufig einfach nicht mehr möglich. An vielen Orten werden spezielle Anwendungen oder Hardware gefordert, z.B. zur Steuerung von Prüfsystemen in der Elektronikindustrie. In manchen Banken und Schulen / Universitäten findet man dennoch solche Systeme. .

Vorteile eines Terminal-Server-Systems:

  • Geringe Kosten für die Clients / Terminals
  • Geringe Kosten für Lizenzen (ein Programm muss nur einmal angeschafft werden)
  • Zentrale Wartung => Weniger Aufwand
  • Hohe Sicherheit: Es können (je nach Konfiguration) keine Fremdgeräte (z.B. USB-Geräte) angeschlossen werden. Wird ein Rechner gestohlen, geraten keine Daten in die falschen Hände.

Nachteile:

  • Nur einheitliches System möglich
  • Ein Ausfall des Terminal-Servers legt das ganze Netzwerk lahm

Bekannte Produkte sind heute z.B. Citrix MetaFrame und der Terminal Server von Microsoft. Diese sind jedoch nicht gerade billig. Mit dem LTSP steht jedem die Möglichkeit offen, ein solches Netz OHNE Kosten einzurichten, jedoch auf Linux basiert.

Was wird benötigt:

  • Ein bisschen Linux und Netzwerkkentnisse (also wenn ich das mit meinem noch schmalen Wissen hinbekommen habe, schafft ihr das sicher auch) 😉
  • Zwei Test-PCs, einer mit einer bootfähigen Netzwerkkarte (Stichwort: PXE), 500MHz CPU / 256MB RAM sollte eigentlich reichen. Tipp: Mit VMWare Server 2 klappts auch bestens.
  • Netzwerk mit Internet-Zugang.

Bevor wir beginnen:

Für das Tutorial verwende ich Debain Etch, Release 3. Auf Ubuntu sollte diese Anleitung genau gleich machbar sein. Das Debian habe ich ohne spezielle Werte installiert, installierte Funktionen ist das Standardsystem und die Desktop-Umgebung. Zusätzlich habe ich dem root das Anmelden verboten. Weiter gehe ich in diesem Tutorial nicht auf die Installation von Debian Etch ein, dafür gibt es genügend Tutorials im Internet . Server: Gehen wir vom oben genannten System aus zum installieren habe ich eigentlich immer den root benutzt. Als erstes installieren wir den SSH-Zugriff:

apt-get install openssh-server

Dann installieren wir mit

apt-get install ltsp-server-standalone

den LTSP-Server. Von der Installation des DHCP-Server erscheint die Meldung „Nichtautoritative Version eines DHCP-Servers“. Viel mehr wie mit „OK“ bestätigen bleibt nicht übrig. Dies werden wir später bei der Konfiguration des DHCP-Servers noch anpassen. Nun holen wir mit dem Befehl

ltsp-build-client

eine komplette Distribution auf den Server. Diese wird später von den Clients gebootet. Ohne weitere Angaben von Parametern wird dieselbe Version, wie auf dem Server installiert ist, heruntergeladen. Die benötigten Dateien um übers Netzwerk zu starten findet man danach in /var/lib/tftpboot. Dies dauert eine Weile, also zurücklehnen und Kaffee trinken Wenn die Installation mit „Info: Installation erfolgreich abgeschlossen.“ beendet wurde, kann es weitergehen mit der Konfiguration des DHCP-Servers. Dazu muss die Datei /etc/dhcp3/dhcpd.conf angepasst werden. Ich habe diese kurzerhand mit

mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.original

umbenannt. Danach die Beispiel-Datei /etc/ltsp/dhcpd.conf mit

cp /etc/ltsp/dhcpd.conf /etc/dhcp3/dhcpd.conf

kopieren. Mein Lieblingseditor ist nano:

nano /etc/dhcp3/dhcpd.conf

Meine sah schlussendlich so aus:

authoritative;
default-lease-time 3600;
max-lease-time 7200;
subnet 192.168.13.0 netmask 255.255.255.0 {
range 192.168.13.15 192.168.13.20;
option domain-name "hubunet.ch";
option domain-name-servers 192.168.13.50;
option broadcast-address 192.168.13.255;
option routers 192.168.13.10;
option subnet-mask 255.255.255.0;
option root-path "/opt/ltsp/i386";
option log-servers 192.168.13.54;
next-server 192.168.13.54;
if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
filename "/ltsp/i386/pxelinux.0";
}
else{
filename "/ltsp/i386/nbi.img";
}
option root-path "/opt/ltsp/i386";
}

Mit

invoke-rc.d dhcp3-server restart

starten wir den DHCP-Server neu.

/opt/ltsp *(ro,no_root_squash,async,no_subtree_check)

in der /etc/exports hinzufügen. Den TFTP-Server wird mit

invoke-rc.d openbsd-inetd restart

neugestartet. Um in beim Systemstart als Dämon zu starten, muss die Datei /etc/default/tftpd-hpa auf

RUN_DAEMON="yes"

geändert werden. Anschliessend den TFTP-Server nochmals neu starten, und schon sollte ein Client übers Netzwerk booten können. Jetzt muss noch der Zugriff per XDMCP (grafisch) auf den Server eingerichtet werden. Für die faulen übers GUI vom Server: System>Systemverwaltung>Anmeldefenster>Reiter Entfernt>Etwas auswählen (z.B. Einfach)>Schliessen. Über die Console: Folgt noch nach dem Motto Reboot tut gut! habe ich den ganzen Server nochmals neu gestartet, dann den ersten Client angeschmissen, und siehe da, er startet übers Netzwerk =)

Client / Terminal: Client anschalten. Boot on LAN (nicht dasselbe wie Wake on LAN!!!!!) aktivieren. Übers Netzwerk starten. Es rockt!

Links:

0 Antworten

Hinterlassen Sie einen Kommentar

Wollen Sie an der Diskussion teilnehmen?
Wir freuen uns über ihren Beitrag!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *