Dieser Abschnitt des Dokuments erläutert die Netzwerkstruktur und die Serverdienste einer Skolelinux-Installation.
Die Abbildung skizziert die vorgesehene Netzwerkstruktur. Die Standardeinrichtung eines Skolelinux-Netzwerks setzt genau einen Hauptserver voraus; normale Arbeitsstationen und LTSP-Server (mit ihren zugehörigen Thin Clients und/oder Diskless Workstations) können eingebunden werden. Die Anzahl der Arbeitsstationen kann so groß oder klein sein, wie gewünscht: von keiner bis zu vielen. Gleiches gilt für LTSP-Server, die ihre Thin Clients jeweils auf einem separaten Netzwerk bedienen, so dass der Netzwerkverkehr zwischen den Clients und ihrem LTSP-Server den Rest der Netzwerkdienste nicht stört. Detaillierte Informationen zu LTSP gibt es im entsprechenden Handbuchkapitel.
Der Grund für nur einen Hauptserver in jedem Schulnetzwerk ist, dass der Hauptserver DHCP anbietet. Dies kann immer nur eine Maschine in einem Netzwerk machen. Es ist möglich, Dienste des Hauptservers auf andere Maschinen auszulagern, indem diese Dienste dort aufsetzt werden und die DNS-Konfiguration auf dem Hauptserver so abgeändert wird, dass der DNS-Alias für die geänderten Dienste auf die richtige Maschine zeigt.
Um die Standardinstallation von Skolelinux einfach zu halten, läuft die Internetverbindung über einen separaten Router, auch Gateway genannt. Das Kapitel Internet-Router enthält Informationen, wie ein solches Gateway aufgesetzt werden kann, wenn ein vorhandener Router keine entsprechende Konfiguration erlaubt.
Der DHCP-Server auf dem Hauptserver (»tjener«) bedient das Netzwerk 10.0.0.0/8; er stellt für das Booten ein PXE-Menü bereit, aus dem ausgewählt werden kann, ob ein neuer Server oder Arbeitsplatzrechner installiert, der Rechner als Thin Client bzw. als Diskless Workstation gestartet, ein Speichertest (Memtest) ausgeführt oder von der lokalen Festplatte gestartet werden soll.
Dies lässt sich ändern; Einzelheiten dazu gibt es im entsprechenden HowTo-Kapitel.
Auf den LTSP-Servern bedient der DHCP-Server auf der zweiten Netzwerkkarte ein dediziertes Netzwerk (192.168.0.0/24 und 192.168.1.0/24 sind vorkonfigurierte Optionen); der Dienst sollte nur selten geändert werden müssen.
Die Konfiguration aller Subnetze ist in LDAP gespeichert.
Ein Skolelinux-Netzwerk benötigt einen Hauptserver (Rechnername »tjener«, was norwegisch ist und »Server« heißt). Dieser hat die vorgegebene IP-Adresse 10.0.2.2 und wird durch Auswahl des Hauptserver-Profils installiert. Es ist möglich (aber nicht notwendig), die Profile des LTSP-Servers und die des Arbeitplatzrechners ergänzend zum Hauptserver-Profil zu installieren.
Abgesehen von der Versorgung der Thin Clients werden alle Netzwerkdienste von einem zentralen Computer (dem Hauptserver) bereitgestellt. Es ist möglich, das LTSP-Server-Profil ebenfalls auf dem Hauptserver zu installieren (Kombiserver), wovon aber aus Performanzgründen abzuraten ist. Den unterschiedlichen Diensten wird ein festgelegter DNS-Name zugewiesen (IPv4). Dadurch lassen sich einzelne Dienste leicht auf dedizierte Server auslagern: Nachdem der Dienst auf einem anderen Server installiert wurde, wird dieser auf dem Hauptserver abgeschaltet und die DNS-Konfiguration entsprechend angepasst.
Aus Sicherheitsgründen werden Passwörter stets verschlüsselt übertragen, so dass keine Klartextpasswörter über das Netzwerk gesendet werden.
Es folgt eine Liste von Diensten, die voreingestellt in einem
Skolelinux-Netzwerk eingerichtet werden. Soweit möglich entspricht der
DNS-Name dem Dienstnamen in /etc/services
,
sonst wurde die allgemeine Bezeichnung des Dienstes als DNS-Name
verwendet. Alle Konfigurationsdateien verwenden möglichst den DNS-Namen
(ohne Domäne), um die Änderung von IP-Bereichen oder Domänennamen zu
erleichtern.
Tabelle der Dienste | ||
Beschreibung des Dienstes |
Üblicher Name |
DNS-Name des Dienstes |
Zentralisierte Systemprotokollierung |
rsyslog |
syslog |
Domain-Name-System |
DNS (BIND) |
domain |
Automatische Netzwerkkonfiguration von Maschinen |
DHCP |
bootps |
Synchronisation der Systemzeit |
NTP |
ntp |
Home-Verzeichnisse über Netzwerk-Dateisysteme |
SMB / NFS |
homes |
Elektronisches Postamt |
IMAP (Dovecot) |
postoffice |
Verzeichnisdienst |
OpenLDAP |
ldap |
Benutzerverwaltung |
GOsa² |
--- |
Web-Server |
Apache/PHP |
www |
Zentrale Datensicherung |
sl-backup, slbackup-php |
backup |
Web-Zwischenspeicher |
Proxy (Squid) |
webcache |
|
CUPS |
ipp |
Sicherer Fernzugriff |
OpenSSH |
ssh |
Automatische Konfiguration |
CFEngine |
cfengine |
LTSP-Server |
LTSP |
ltsp |
Rechner- und Dienstüberwachung mit Fehlermeldungen, sowie Status und Verlauf (Web-Schnittstelle). Benachrichtigung per E-Mail im Fehlerfall |
Munin, Icinga und Sitesummary |
sitesummary |
Die persönlichen Dateien eines jeden Nutzers werden im (vom Server bereitgestellten) Home-Verzeichnis gespeichert. Home-Verzeichnisse sind von jedem Rechner aus verfügbar - unabhängig vom Arbeitsplatz, an dem der Nutzer gerade sitzt. Der Server ist betriebssystemunabhängig, der Zugang wird über NFS für Unix-Clients und über SMB2/SMB3 für andere Clients bereitgestellt.
Das E-Mail-System ist nur zur lokalen Auslieferung vorkonfiguriert (d.h. innerhalb der Schule). Die E-Mail-Zustellung kann aber, sofern die Schule einen festen Internetzugang hat, so konfiguriert werden, dass E-Mails auch in das Internet ausgeliefert werden. Alle Clients sind so konfiguriert, dass sie ihre E-Mails an den Server (als »Smarthost«) senden. Benutzer können auf ihre persönlichen E-Mails mittels IMAP zugreifen.
Alle Dienste können mit einheitlichen Zugangsdaten (Anmeldename/Kennwort) genutzt werden, da es eine zentrale Datenbank für Authentifizierung und Autorisierung gibt.
Um die Leistung bei häufig aufgerufenen Web-Seiten zu steigern, wird ein lokaler Proxy-Server (Squid) benutzt. Angefragte Web-Seiten werden für den wiederholten Zugriff gespeichert. In Verbindung mit der Sperrung des Netzwerkverkehrs durch den Router ermöglicht dies auch die Kontrolle über den Internetzugriff einzelner Maschinen.
Die Netzwerkeinrichtung der Client-Rechner erfolgt automatisch mittels DHCP. Alle Client-Typen können mit dem privaten Subnetz 10.0.0.0/8 verbunden werden und bekommen entsprechende IP-Adressen zugeteilt; LTSP-Clients sollten mit dem zugehörigen LTSP-Server über das entsprechende separate Subnetz 192.168.0.0/24 verbunden werden (damit der Netzwerkverkehr der LTSP-Clients nicht den Rest der Netzwerkdienste stört).
Das zentrale Protokollieren von Systemnachrichten ist so konfiguriert, dass alle Maschinen ihre Syslog-Meldungen zum Server übertragen. Der Syslog-Dienst akzeptiert ausschließlich aus dem lokalen Netzwerk eingehende Nachrichten.
Der DNS-Server ist voreingestellt mit einer Domain für nur interne Benutzung konfiguriert (*.intern), bis eine richtige (»externe«) DNS-Domain konfiguriert werden kann. Der DNS-Server ist als zwischenspeichernder DNS-Server konfiguriert, so dass alle Maschinen des Netzwerks ihn als Haupt-DNS-Server benutzen können.
Schüler und Lehrer können eigene Webseiten veröffentlichen. Der Webserver bietet Mechanismen zur Authentifizierung von Benutzern und der Einschränkung des Zugriffs auf individuelle Seiten und Unterverzeichnisse für bestimmte Benutzer und Gruppen. Serverseitig steht der Erstellung dynamischer Webseiten nichts im Wege.
Informationen über Benutzer und Maschinen können an zentraler Stelle geändert werden und sind automatisch von allen Maschinen abrufbar. Um dies zu erreichen, ist ein zentraler Verzeichnisserver eingerichtet, der Informationen über Benutzer, Benutzergruppen, Maschinen und »Netgroups« bereitstellt. Um eine Verwirrung des Benutzers zu vermeiden, wird kein Unterschied zwischen Dateigruppen und »Netgroups« gemacht. Da Gruppen von Maschinen die gleichen »Netgroups« teilen müssen, impliziert dies, dass sie den gleichen Namensraum wie Benutzergruppen und Mailinglisten haben.
Die Verwaltung von Diensten und Benutzern wird überwiegend webbasiert durchgeführt und folgt dabei etablierten Standards, die mit den in Skolelinux enthaltenen Webbrowsern gut funktionieren. Die Übertragung von bestimmten Aufgaben an individuelle Benutzer oder Benutzergruppen wird vom Verwaltungssystem ermöglicht.
Um bestimmte Probleme mit NFS zu vermeiden und um die Fehlersuche zu vereinfachen, muss die Zeit der verschiedenen Maschinen im Netzwerk synchronisiert werden. Um dies zu gewährleisten, ist der Skolelinux-Server als ein lokaler Netzwerk-Zeitserver (NTP) eingerichtet und alle Arbeitsstationen und Clients sind so konfiguriert, dass sie ihre Uhr mit der des Servers abgleichen. Der Server selbst sollte sich mit NTP über das Internet gegen Zeitserver höherer Ordnung synchronisieren, um sicherzustellen, dass das ganze Netzwerk die korrekte Zeit hat.
Drucker können entweder an das Hauptnetzwerk, an den Server, eine Workstation oder einen LTSP-Server angeschlossen werden. Zugriff auf Drucker kann für bestimmte Benutzer entsprechend ihrer Gruppenzugehörigkeit kontrolliert werden. Dies wird durch die Benutzung von Mengenbegrenzungen und Zugriffskontrolllisten für Drucker erreicht.
In einem Skolelinux-Netzwerk kann es mehrere LTSP-Server geben; die Installation erfolgt durch Auswahl des Profils »LTSP-Server«.
Der LTSP-Server ist so konfiguriert, dass er die Systemmeldungen (Syslog) der Thin Clients empfängt und an den zentralen Systemprotokollierungsdienst des Hauptservers weiterleitet.
Bitte beachten:
Diskless Workstations benutzen die auf dem Server installierten Programme.
Das Root-Dateisystem des Clients wird mittels NFS bereitgestellt. Nach jeder
Veränderung des LTSP-Servers muss das entsprechende Image neu generiert
werden; führen Sie dazu debian-edu-ltsp-install
--diskless_workstation yes
auf dem LTSP-Server aus.
Durch Einrichtung als Thin Client kann ein gewöhnlicher Rechner als (X-)Terminal eingesetzt werden. Das heißt, dass diese Maschine via PXE direkt vom Server startet, ohne die lokale Festplatte zu benutzen. Die Einrichtung der Thin Clients verwendet nun X2Go, da LTSP die Unterstützung eingestellt hat.
Thin Clients sind ein guter Weg, um sehr alte (hauptsächlich 32-Bit-) Rechner zu verwenden, da alle Programme effektiv auf dem LTSP-Server ausgeführt werden. Dies funktioniert folgendermaßen: Der Dienst benutzt DHCP und TFTP, um dem Client zu ermöglichen, sich mit dem Netzwerk zu verbinden und davon zu starten. Als nächstes wird das Dateisystem mittels NFS vom LTSP-Server eingehängt, und letztlich wird der X2Go-Client gestartet.
Bei einer Diskless Workstation läuft alle Software auf dem Rechner; ein lokal installiertes Betriebssystem ist nicht notwendig. Das heißt, der Rechner startet mittels PXE, ohne auf der lokalen Festplatte installierte Software auszuführen.
Eine Diskless Workstation ermöglicht es, leistungsfähige Hardware mit ebenso niedrigem Wartungsaufwand wie bei Thin Clients einzusetzen. Die Software wird auf dem Server administriert und gewartet, ohne dass sie auf den Clients installiert werden muss. Ebenso werden Home-Verzeichnisse und Systemeinstellungen auf dem Server bereitgehalten.
Alle Linux-Rechner, die mittels Skolelinux-Installer installiert wurden,
können von einem zentralen Computer, üblicherweise dem Hauptserver,
verwaltet werden. Per SSH ist es möglich, sich auf allen Rechnern anzumelden
und damit vollen Zugriff auf die Maschinen zu bekommen. Der Benutzer »root«
muss vorher kinit
ausführen, um ein
Kerberos TGT zu erhalten.
Alle Benutzerinformationen werden in einem LDAP-Verzeichnis gespeichert. Aktualisierungen von Benutzerkonten werden in dieser Datenbank durchgeführt, die auch von den Clients zur Authentifizierung der Benutzer verwendet wird.
Gegenwärtig gibt es zwei Arten von Installationsmedien: »netinst« und »BD«. Beide können auch von einem USB-Stick gebootet werden.
Die Idee ist, einmalig einen Server von irgendeiner Art von Medium und danach alle anderen Clients über das Netzwerk via PXE-Boot installieren zu können.
Nur die Netzwerk-Installer-CD benötigt während der Installation Internetzugang.
Die Installation sollte keine Fragen mit Ausnahme von gewünschter Sprache, Standort, Tastaturlayout und Maschinenprofil (Hauptserver, Arbeitsplatzrechner, LTSP-Server) stellen. Alle anderen Einstellungen werden automatisch mit vernünftigen Werten versehen, die vom Systemadministrator von einer zentralen Stelle aus nach der Installation geändert werden können.
Jedem Skolelinux-Benutzerkonto ist ein Teil des Dateisystems auf dem Server zugeordnet. Dieser Bereich (Home-Verzeichnis) beinhaltet die individuelle Konfiguration, Dokumente, E-Mails und Webseiten des Benutzers. Etliche der Dateien sollten mit Lesezugriff für andere System-Benutzer ausgestattet sein, einige sollten im Internet für jedermann lesbar und manche ausschließlich dem Benutzer selbst zugänglich sein.
Um sicherzustellen, dass die Benennung aller Festplatten für
Home-Verzeichnisse oder gemeinsame Verzeichnisse auf allen installierten
Computern einheitlich erfolgt, können die Platten unter
/skole/host/VERZEICHNIS/
eingehängt
werden. Zu Beginn wird auf dem Hauptserver nur das Verzeichnis
/skole/tjener/home0/
erstellt, in dem alle
Home-Verzeichnisse angelegt werden. Weitere Verzeichnisse können bei Bedarf
erstellt werden, um bestimmte Benutzergruppen oder Nutzungsmuster
abzubilden.
Um den gemeinsamen Zugriff auf Dateien unter Verwendung der normalen UNIX-Berechtigungen zu realisieren, müssen Benutzer zusätzlichen Gruppen (wie »students«) sowie der primären persönlichen Gruppe (per Voreinstellung vorhanden) angehören. Benutzer müssen eine umask von 002 oder 007 haben, um neu erstellten Objekten Gruppenzugriff zu ermöglichen und die betreffenden Verzeichnisse müssen mittels »setgid« so mit Rechten versehen sein, dass Dateien die richtigen Gruppenrechte erben. Unter diesen Bedingungen ist ein kontrollierter gemeinsamer Dateizugriff unter den Mitgliedern einer Gruppe möglich.
Die anfängliche Einstellung der Zugriffsrechte für neu erstellte Dateien ist
eine Frage der zugrundeliegenden Philosophie. Debian verwendet die umask 022
als Voreinstellung; damit ist der oben beschriebene Gruppenzugriff nicht
möglich. Debian Edu benutzt als Voreinstellung 002 - was Lesezugriff für
alle Benutzer auf neu erstellte Dateien bedeutet, der später explizit durch
den Benutzer entfernt werden kann. Alternativ kann die umask von 002 durch
Editieren der Datei
/etc/pam.d/common-session
in 007 geändert
werden - damit ist der Lesezugriff zunächst nicht erlaubt und müsste durch
den Benutzer später ausdrücklich gesetzt werden. Der erste Ansatz fördert
das Teilen von Wissen und macht das System transparenter, wohingegen die
zweite Methode das Risiko ungewünschter Verbreitung privater Inhalte
senkt. Das Problem mit der ersten Lösung ist, dass es für die Benutzer nicht
ersichtlich ist, dass das von ihnen erstellte Material von allen anderen
Benutzern lesbar ist. Dies ist nur durch die Untersuchung der
Home-Verzeichnisse erkennbar, wo ersichtlich ist, dass die Dateien lesbar
sind. Das Problem mit der zweiten Lösung besteht darin, dass wahrscheinlich
wenig Leute ihre Dateien lesbar machen möchten, selbst wenn sie keine
sensiblen Informationen enthalten, der Inhalt aber hilfreich für neugierige
Benutzer sein könnte, die lernen wollen, wie andere Benutzer bestimmte
Probleme gelöst haben (typischerweise Konfigurationseinstellungen).