Distribution
Skolelinux ist eine Distribution, die auf Debian aufbaut. Das Projekt wurde 2001 in Norwegen gestartet und verbreitet sich in der ganzen Welt. Dieses Dokument beschreibt die Architektur des Netzwerkes und geht auf die Funktionalität der Netzwerkdienste ein.
DHCP Dienste
Im Netzwerk von Skolelinux gibt es einen DHCP Service auf dem Hauptserver. Für die Netzwerke der Thinclients läuft auf jedem Terminalserver ebenfalls ein DHCP Dienst. In der Skolelinux Standard Konfiguration erhält der Terminalserver seine IP vom Hauptserver und die Thinclients ihre IPs vom zuständigen Terminalserver. Natürlich können die verschiedenen Netzwerkdienste auf andere Maschinen verteilt werden. Dafür ist aber das Setup umzustellen und es muss dafür gesorgt werden, dass der DNS Dienst entsprechend aktualisiert wird. Auf diese Weise können die Arbeitsstationen und die Terminalclients die Dienste auf den richtigen Maschinen finden und ansprechen.
Netzwerk
Das Schaubild zeigt die Architektur des Netzwerkes. In der Standardkonfiguration des Skolelinux Netzwerkes sind ein Server und ein oder mehrere Arbeitsstationen und oder Terminalserver vorgesehen. Optional können Terminalclients (Thinclients) angeschlossen werden, die auf einen der Terminalserver zurückgreifen.
Router/Firewall
Für die Verbindung zum Internet ist ein eigenständiger Router vorgesehen. Diese Voraussetzung wurde aus Gründen der Vereinfachung der Skolelinux Installation und Konfiguration festgelegt. Eine
Skolelinux-Routersoftware mit Firewall-Funktion unterliegt staendigen Tests und Verbesserungen, gute Erfahrungen existieren mit der Software
IPCop. Natürlich ist es auch möglich, den Server oder eine andere Maschine via Modem, ISDN oder DSL an das Internet anzuschließen, aber dies wird nicht von Skolelinux abgedeckt. Die Installation und Konfiguration einer Firewall (Eindisketten Firewall oder einer Debian Firewall von CDROM) muss gesondert durchgeführt und dokumentiert werden. Da Skolelinux auf Debian basiert, können jedoch die Debian Standardwerkzeuge verwendet werden, wenn jemand dies auf dem Hauptserver installieren und konfigurieren will.
Dienste
Alle Dienste werden ausschließlich über IPv4 angeboten. Die Dienste werden zentral auf einer Maschine (
Hauptserver) installiert. Eine Ausnahme sind die Terminalserver Dienste für die Terminalclients, da hier sonst mit Leistungseinbußen auf dem Hauptserver zu rechnen wäre. Alle Dienste sind unter einem eindeutigen DNS Namen ansprechbar. Auf diese Weise ist eine Verteilung von Diensten auf verschiedene Maschinen einfach durchführbar.
Bereitgestellte Dienste
Folgende Dienste stehen zur Verfügung [DNS Name in eckigen Klammern]
- Zentaler Logging-Server [syslog]
- DNS Domain Name Service [bind9]
- Automatische IP Adressvergabe und Netzwerkkonfiguration (DHCP)[bootps]
- Zeitsynchronisation (NTP) [ntp]
- Heimatverzeichnisse via Netzwerkdateisystem (SMB/NFS/Appletalk) [homes]
- Elektronische Post, Mailserver [exim]
- Katalogdienst, Verzeichnisdienst (OpenLDAP) [ldap]
- Webserver (Apache) [www]
- Zentraler Datensicherungsdienst [backup]
- Webproxy (Squid) [webcache]
- Webfilter (SquidGuard)
- Druckerdienst (CUPS) [ipp]
- Fernwartung, Fernsteuerung (OpenSSH) [ssh]
- Automatischer Konfigurationsdienst [cfengine]
- Terminalserver-Dienst (LTSP) [ltsp-server]
- Maschinen- und Diensteüberwachung [nagios]
Passwörter
Passwörter werden niemals im Klartext über das Netzwerk gesendet. Alle Dienste, die Passwörter im Netzwerk versenden, verwenden Verschlüsselungstechniken.
Verzeichnisse
Der Server bietet seine Dateisysteme im Netzwerk an, und stellt so Heimatverzeichnisse für alle Arbeitsstationen zur Verfügung. Wir nutzen NFS für Unix-Clients, SMB für Windows-Clients (Domain oder Workgroup mode) und Appletalk für Macintosh-Clients. Die Daten der Benutzer werden im Heimatverzeichnis abgelegt. Auf diese Weise haben die Benutzer Zugriff auf ihre Daten, unabhängig von der Maschine, die sie nutzen.
LDAP
Eine zentrale Benutzerdatenbank für die Authentifizierung und Authorisierung sorgt mit Benutzernamen und Passwörtern für alle Dienste mit Login.
PROXY
Der WWW Zugang ins Internet ist über den Webfilterdienst auf dem Server realisiert. Der Webproxy speichert die bereits abgerufenen Seiten lokal zwischen. Das erhöht den Durchsatz bei häufig angefragten Webseiten. Der Router kann für die Internetanbindung alle anderen WWW Anfragen blockieren und hat so die Kontrolle über den Internetzugriff der einzelnen Arbeitsstationen.
DHCP
Die IP Adressen der Arbeitsstationen werden mit dem DHCP Dienst automatisch zugeteilt. Wir haben einen privaten IP Adressbereich gewählt, aus dem die Adressen für die Arbeitsstationen vergeben werden. Die Wahl ist auf das Subnetz 10.0.2.0/23 gefallen. Die Terminalclients sind direkt an einem Terminalserver angebunden. Jeder Terminalserver hat ein eigenständiges und unabhängiges Subnetz für die Terminalclients. Hier ist die Wahl auf das Netzwerk 192.168.0.0/24 gefallen.
SYSLOG
Der zentrale Loggingdienst ist so konfiguriert, das alle Arbeitsstationen und Terminalserver die Systemmeldungen direkt zum Server schicken. Der Server nimmt nur Systemmeldungen aus dem lokalen Netzwerk entgegen.
DNS
Der Server stellt den DNS Dienst zur Verfügung. Er ist für die DNS Domäne ("*.intern.") konfiguriert. Selbstverständlich unterstützt der Dienst auch eine externe DNS Domäne. Der DNS Dienst ist als "caching DNS server" konfiguriert, so dass alle Arbeitsstationen und Terminalserver diesen Dienst als zentralen DNS Server ansprechen.
Webserver
Der Webserver ist für die interne Veröffentlichung von Webseiten von Schülern und Lehrern konzipiert. Der Dienst hat, basierend auf der zentralen Benutzerdatenbank, die Möglichkeit der Zugriffsteuerung auf Webdokumente über Benutzerlogin. Damit ist eine genaue Regelung des Zugriffs auf Webdokumente und -verzeichnisse für verschiedene Benutzer und Benutzergruppen realisierbar. Das System bietet den Benutzern auf dem Server die Möglichkeit der Erstellung von dynamischen Webseiten.
LDAP
Ein zentraler Verzeichnisdienst LDAP (Katalogdienst) ist auf dem Server eingerichtet, damit alle Informationen über Benutzer und Maschinen an einem Punkt zur Verfügung stehen. Damit sind diese Informationen automatisch für jede der angeschlossenen Arbeitsstationen und Terminalserver verfügbar. Das Verzeichnis enthält Informationen über die Benutzer, die Benutzergruppen, Maschinen und Maschinengruppen. Für den Benutzer gibt es keinen Unterschied zwischen Benutzergruppen, Mailinglisten und Netzwerkgruppen, damit es keine unnötigen Verständnisprobleme mit der Zugehörigkeit zu einer bestimmten Gruppe gibt. Das bedeutet, dass Maschinengruppen die gleichen Namensräume im Verzeichnisdienst nutzen, wie die Benutzergruppen und Mailinglisten.
Administration
Die Administration der Serverdienste und Benutzer ist in weiten Teilen über ein Webinterface realisiert. Das Webinterface ist einfach zu handhaben und folgt den aktuellen Standards von Weboberflächen, welches mit den in Skolelinux mitgelieferten Webbrowsern aufgerufen werden kann. Das Webadministrations-System (ursprünglich Webmin mit WLUS (woody und sarge), jetzt möglich Webmin mit CAT (sarge) nachzuinstallieren, später lwat oder nachinstalliert moodle mit cipuxPHP Plugin (sarge und etch)) bietet die Möglichkeit, bestimmte Aufgaben an authorisierte Benutzer oder Benutzergruppen zu delegieren.
Systemzeit
Alle Systemuhren der angeschlossenen Maschinen sind über den entsprechenden Dienst (NTP) synchronisiert, um von vorherein Probleme mit der Nutzung von NFS auszuschließen. Desweiteren vereinfacht eine synchrone Systemzeit die Fehlersuche bei verschiedenen Problemen. Der Server ist daher als zentraler Zeitserver eingerichtet, von dem alle weiteren Maschinen im Netzwerk ihre Systemzeit erhalten. Der Abgleich zwischen den Maschinen erfolgt vollautomatisch. Wenn nun der Server seinerseits mit einem NTP Server in Internet sychronisiert wird, kann so für das gesamte lokale Netzwerk ein korrekte Systemzeit hergestellt werden.
Netzwerkdrucker
Drucker werden dort aufgestellt und angeschlossen, wo diese benötigt werden. Entweder direkt an des lokale Netzwerk oder über eine Arbeitsstation, den Server oder Terminalserver.
LTSP
Die Konfiguration des Terminalserver basiert auf dem Linux Terminal Server Projekt (LTSP). Dieses System ermöglicht es, einen Standard PC als X-Window Terminal zu nutzen. Auf diese Weise kann mit einer Diskette oder eine ROM Erweiterung ("Net
Boot PROM") der Thinclient PC direkt vom Terminalserver gestartet werden, ohne dass eine lokale Festplatte benötigt wird.
Thinclient
Der Terminalservice verwendet DHCP und TFTP für die automatische Adressvergabe und Bootprozedur. Nach erfolgtem Start des Terminalclients wird vom Terminalserver per NFS ein Dateisystem eingehängt, auf dem die weitere Startprozedur für die grafische X-Window Oberfläche und dem Anmeldebildschirm ("XDMCP") hinterlegt ist. Als Ergebnis erhält man eine Arbeitsstation, deren Programme direkt auf dem Terminalserver laufen. Der Thinclient PC fungiert hier nur als Ein- und Ausgabestation für die Fensteroberfläche.
Logging
Der Terminalserver erhält von den Terminalclients die Systemmeldungen, welche er direkt an den zentralen Loggingserver weiterleitet.
Administration
Alle Linuxmaschinen, die mit der Skolelinux CD installiert wurden, sind zentral über eine Maschine administrierbar, was im Regelfall der Hauptserver ist. Dennoch ist es weiterhin möglich sich via ssh direkt auf der Maschine anzumelden und damit den vollen Zugriff zu erhalten.
cfengine
Wir nutzen für die Veränderung der Konfigurationsdateien cfengine. Die geänderten Dateien werden vom Server zu den Arbeitsstationen und Terminalservern übertragen. Wenn nun Clientkonfigurationen geändert werden, dann reicht es, diese Dateien auf dem Server zu ändern. Die Verteilung der neuen Dateien erfolgt automatisch.
Installation
Die Installation wird entweder von der Skolelinux CD, oder von Diskette über Netzwerk und Server durchgeführt.
Ziel
Ziel ist es, den Server vollständig über die Skolelinux CD zu installieren. Alle weiteren Maschinen können dann direkt über den Server installiert werden. Die Installation muss ohne Internetverbindung auskommen.
Sprachauswahl
Nach der Auswahl der Sprache (z.B. Norwegian Bokmal, Nynorsk, Sami, Deutsch, Französisch, Friesisch ...) des Maschinenprofil's (Server, Arbeitsstation, Terminalserver, Standalone, Standalone extra) einer Sicherheitsabfrage, ob die Festplatte wirklich gelöscht werden darf und der Eingabe eines Passwortes für root läuft die Installation ohne weitere Eingaben ab. Alle Konfigurationen werden mit vernünftigen Werten erzeugt, welche zentral auf dem Server vom lokalen Administrator verändert werden können.