Terminalserver auf Ubuntu 10.04

Hi,

ist lange her, dass ich mich mit sowas wie einem Terminalserver beschäftigt habe. Wenn ich mich recht entsinne ungefähr 4 Jahre. Damals habe ich mal unter großem Zeitdruck einen Windows Terminalserver auf Server 2003 installiert und eingerichtet und war relativ beeindruckt, welche Möglichkeiten sich einem boten.

Beispielsweise wünscht man sich als Administrator oft, auf Lan Partys einen Gastzugang für Leute, die keinen PC dabeihaben einzurichten, auf denen man im Internet surfen kann.

Mit einem Terminalserver kein Problem, einfach einen Rechner auf PXE-Boot umstellen und fertig.

Oft werden beim Einsatz von Terminalservern als Clients so genannte “Thin-Clients” eingesetzt. Thin-Clients sind im Prinzip kleine Rechner, die außer einem Mainboard, Grafikkarte, Soundkarte und Netzwerkkarte (und oft einen kleinen Flash-Speicher, auf dem die Konfiguration des Clients abgelegt ist) nichts besitzen. Sie verbinden sich über das lokale Netzwerk mit dem Terminalserver und übertragen nur das Bild an den Monitor, alle Eingaben die über Tastatur und Maus getätigt werden, werden auf dem Server aktiv.

Es müssen aber nicht unbedingt Thin-Clients sein, man kann auch einen normalen Rechner dafür einsetzen. Die einzige Vorraussetzung dabei ist, dass das Bios und die Netzwerkkarte PXE-Boot unterstützen.

Es muss aber kein teurer Windows-Terminalserver sein, nein für Linux gibt es sowas auch, und natürlich kostenlos.

Wo beim Windows-Terminalserver für die Anzahl der Clients Lizenzen gekauft werden müssen, limitiert bei Linux einzig die Rechenleistung die Anzahl der Clients.

Realisiert wird der Terminalserver über das so genannte Linux Terminal Server Project (LTSP).

Terminalumgebung konfigurieren

Nun aber zu Linux:

  1. Dem Server eine statische IP-Adresse zuweisen, falls noch nicht geschehen.
  2. Das Standardpaket von LTSP ist schon installiert, allerdings müssen noch folgende Pakete besorgt werden: sudo apt-get install ltsp-server-standalone openssh-server sudo apt-get install dhcp3-server
  3. Wenn dies installiert ist, richtet man die Terminalumgebung ein, dazu wird einfach ein Abbild des Systems erstellt und in den entsprechenden Ordner geschoben. Der Befehl dazu: sudo ltsp-build-client
  4. Danach muss der Desktop geupdatet werden. sudo apt-get update sudo apt-get upgrade

Die Terminalumgebung ist jetzt im Prinzip fertiggestellt, jetzt muss der DHCP-Server konfiguriert werden.

DHCP-Server konfigurieren

Bei dem LTSP-Paket ist schon eine Beispielkonfiguration enthalten. Sie befindet sich in /etc/ltsp/dhcpd.conf .

die erste Zeile versichert, dass Clients diesen DHCP-Server nutzen.

authoritative;

Hiermit wird das gewünschte Subnetz mit Maske eintragen:

subnet 192.168.7.0 netmask 255.255.255.0 {

Die nächste Zeile gibt an, welche Ip-Adressrange der DHCP-Server bedienen soll:

range 192.168.7.125 192.168.7.246;

Hier kann man den Clients einen DNS-Server mitgeben:

option domain-name-servers 12.32.34.32;

Hiermit wird die Broadcast-Adresse festgelegt.

option broadcast-address 192.168.7.255;

Hiermit gibt man den Router für das Netz an (Ist auch gleichzeitig Gateway in andere Netze)

option routers 192.168.7.2;

Nun die eigentliche Konfiguration für die Clients

Hiermit erstellt man die Konfiguration für den Host ws205

host ws205 {

[… damit der Server die Hostnamen den Ip-Adressen zuordnen kann, müssen die Hosts in die Datei /etc/hosts mit folgendem Syntax eingetragen werden:

 192.168.7.202 ws202
192.168.7.203 ws203
 192.168.7.205 ws205
192.168.7.206 ws206 ...]

Anschließend muss man dem Server die MAC-Adresse der Netzwerkkarte des angelegten Clients mitgeben:

hardware ethernet 00:13:90:00:D7:8F;

Nun kann man dem Rechner eine feste Ip-Adresse zuordnen:

Fixed-address 192.168.7.205;

Zu guter Letzt gibt man den Pfad des Pxe-Bootloaders an:

filename "/ltsp/i386/pxelinux.0";

Eine vollständige Konfiguration würden dann beispielsweise so aussehen:

subnet 192.168.7.0 netmask 255.255.255.0 {
authoritative;
range 192.168.7.125 192.168.7.246;
option domain-name-servers 12.32.34.32;
option broadcast-address 192.168.7.255;
option routers 192.168.7.2;
host ws205 {
hardware ethernet 00:13:90:00:D7:8F;
fixed-address 192.168.7.205;
filename "/ltsp/i386/pxelinux.0";
}
host ws247 {
hardware ethernet 00:13:90:00:67:AF;
fixed-address 192.168.7.247;
filename "/ltsp/i386/pxelinux.0";
}

Nun muss man die Datei /etc/ltsp/dhcpd.conf nach /etc/dhcp3-server kopieren und die vorhandene Datei dhcpd.conf ersetzen.

Zum Schluss startet man den DHCP-Server und die LTSP-Dienste neu.

Dazu folgende Befehle ausführen:

sudo /etc/init.d/dhcp3-server restart
sudo ltsp-update-sshkeys
sudo  ltsp-update-image

Man sollte dann noch Benutzer mit eingeschränkten Rechten anlegen, ist aber optional und kann auch noch später erledigt werden, die Clients können sich ab jetzt mit dem Server verbinden.