Architektur

Dieser Abschnitt des Dokuments erläutert die Netzwerkstruktur und die Serverdienste einer Skolelinux-Installation.

Die Struktur des Debian-Edu-Netzwerks

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.

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

Drucken

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.

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.

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