Einführung

Welcome to the documentation of linuxmuster.net! This documentation describes all the important steps from installation, setting up Windows and Ubuntu computers, managing users and customizations.

Neben dieser Dokumentation steht Ihnen unsere Community und unser Telefon-Support helfend Seite. Weitere Informationen dazu finden sie auf der Website von Linuxmuster.net.

Was ist linuxmuster.net?

Section author: @cweikl, @MachtDochNix

Schulnetz - Komplett - Anpassbar!

  • Schulnetz: Schulische IT-Infrasruktur wird mit einer vollintegrierten Open Source Lösung abgebildet. Die Lösung ist unabhängig von der eingesetzten Hardware.
  • Komplett: Es werden folgende Basisdienste bereitgestellt: Benutzer-, Gruppenverwaltung, Unterrichtssteuerung, Dateiverwaltung, -verteilung, E-Mail-Funktionalität, Integration unterschiedlicher Geräte (BYOD), Selbstheilende Arbeitsstationen, vorkonfigurierter Linux-Client
  • Anpassbar: Basisdienste werden vorkonfiguriert bereitgestellt, sind anpassbar und erweiterbar. Es können in einfacher Form eigene IT-Dienste bereitgestellt und integriert werden.

Was ist neu in 7.0?

Section author: Das Dokuteam

Linuxmuster.net 7.0 ist in großen Teilen neu geschrieben worden. Es gibt einen Upgrade-Pfad über eine Migration, da ein reguläres Update des Basissystems aufgrund der zahlreichen Veränderungen unter der Haube nicht sinnvoll ist.

Neue Funktionalitäten

Verbesserte Skalierbarkeit
  • Mehrschulfähigkeit: Konsolidierung mehrerer Schulinstanzen auf einem Server möglich
  • Gruppenorientierte Abbildung der Schule und flexible, regelbasierte Steuerung
  • Moderne Bereitstellung zusätzlicher IT-Dienste der Schule innerhalb der Schullösung
Moderne Steuerung
  • Webbasierte Steuerung der pädagogischen Funktionen in responsive Design
  • Aktuelle Betriebssysteme der Server und der vorkonfiguierten, kostenlos bereitgestellten Linux-Arbeitsplätzen

Technische Neuerungen

Vereinfachte Installation
  • Standardmäßig bleibt linuxmuster.net eine Zwei-Serverlösung aus Firewall und Server. Optional sind ein OPSI-Verwaltungsserver und ein Dockerhost vorkonfiguriert installierbar.
  • Die Installation erwartet eine vorkonfigurierte Umgebung, entweder in der jeweiligen Virtualisierungslösung oder über ein installiertes Ubuntu für den Server.
Bedienung und Administration
  • Das zentrale Verwaltungswerkzeug (Schulkonsole) wird ersetzt. SELMA (Digitale Schulnetz-Einstellungen für Lehrer Machbar Angezeigt) ist als moderne Oberfläche auch auf mobilen Geräten einsetzbar.
  • Die vollständige Bedienbarkeit auf der Konsole bleibt erhalten
  • Wegfall der PostGREs-Datenbank zugunsten einheitlicher Speicherung aller Daten in Samba 4 / Active Directory
Benutzerverwaltung
  • Automatische Erkennung der Kodierung der Benutzerdaten
  • Session-basierte Berechtigungen für die Unterrichtsteuerung
    • Gruppen können freiwählbar zusammengestellt werden
    • Benutzerbezogene statt rechnerbezogene Verwaltung
Netzwerkverwaltung
  • Frei definierbar IP-Bereiche
  • Standardmäßige Zugangskontrolle zum Internet über einen Proxyservice auf Single-Sign-On Basis
  • OpnSense auf Basis von FreeBSD vorkonfiguriert ausgeliefert aber flexibel durch andere Firewall-Produkte zu ersetzen

Was erhalten bleibt

  • LINBO ist weiterhin das zentrale Softwareverteilungssystem. Die größte Modernisierung hat LINBO schon mit der Version 2.3.x in linuxmuster.net 6.2 erfahren.

Bekannte Probleme

Voraussetzungen

Section author: @cweikl, @Tobias

Linuxmuster.net wird als Zwei-Server-Lösung (Firewall und linuxmuster.net-Server) betrieben. Optional können weitere Server wie z.B. ein Docker-Host eingesetzt werden. Daneben gibt es mindestens eine Trennung in zwei logische Netzwerke, meist sind aber drei oder mehr Netzwerke gefordert (WLAN, DMZ, Lehrernetz). Zuguterletzt kann die linuxmuster.net bequem virtualisiert oder ohne Virtualisierung betrieben werden.

Daraus leiten sich Voraussetzungen an Hardware, Netzwerkstrukturen und Software ab, die in diesem Kapitel beleuchtet werden.

Hardware

Jeder der Server kann einzeln direkt auf der Hardware installiert werden. Es müssen dann die Hardware-Voraussetzungen erfüllt sein, die für die Firewall (standardmäßig OPNsense) und den Server (Ubuntu Server 18.04 LTS) ebenfalls gelten. Diese Installationsmethode eignet sich auch für im folgenden nicht explizit beschriebene Virtualisierungen.

Ohne Virtualisierung

OPNsense

OPNSense ist für x86-32 und x86-64 Bit Architekturen verfügbar und kann auf SD-Karte, SSD oder HDDs installiert werden. Als Basis nutzt OPNsense das Betriebssystem FreeBSD.

Es wird empfohlen folgende Hardware-Anforderungen zu erfüllen, um die Mehrzahl der Einsatzszenarien abzudecken:

Prozessor ≥ 1 GHz Multi-Core CPU (64 Bit)
RAM ≥ 1 GB
Installationsmethode Video (VGA)
Festplatte 120 GB SSD
NIC mind. 2 (intern + extern), oder 3 (inter + extern + WLAN)

Weitere Hinweise zu möglichen Hardwareanforderungen bei unterschiedlichen Einsatzszenarien finden sich hier.

Hinweise zu den Anforderungen von FreeBSD bzw. zur Kompatibilität mit eingesetzten Hardware-Komponenten finden sich unter der HCL - Hardware Compatibility List.

Ubuntu-Server lmn.v7

Für linuxmuster.net v7 wird als Basis Ubuntu Server 18.04 LTS eingesetzt.

Es wird empfohlen folgende Hardware-Anforderungen zu erfüllen:

Prozessor ≥ 1 GHz Multi-Core CPU (64 Bit)
RAM 4 GB
Festplatte 250 GB - 500 GB SSD oder HDD
Docker-Host Ubuntu-Server

Es wird empfohlen folgende Hardware-Anforderungen zu erfüllen:

Prozessor ≥ 1 GHz Multi-Core CPU (64 Bit)
RAM 4 GB
Festplatte 120 GB SSD oder HDD
OPSI auf Ubuntu-Server

Es wird empfohlen folgende Hardware-Anforderungen zu erfüllen:

Prozessor ≥ 1 GHz Multi-Core CPU (64 Bit)
RAM 4 GB
Festplatte 120 GB - 250 GB SSD oder HDD

Mit Virtualisierung

In der folgenden Tabelle finden Sie die Systemvoraussetzungen zum Betrieb der bereitgestellten virtuellen Maschinen (VM) für linuxmuster.net v7. Die Werte in der Spalte Default sind die voreingestellten Werte der VMs beim Import, diese Werte bilden gleichzeitig die Mindestvoraussetzungen. Festplatten- und Arbeitsspeicher der VMs müssen addiert werden, um die Gesamtanforderung zu bestimmen.

Hint

Wer mehrere Images hat, oder mehrere Sicherungen der Images vorhalten will sollte beim HDD-Speicherplatz deutlich mehr veranschlagen! Daran erinnert in der Tabelle die Zeile “Daten+Backup”.

Beispiel: Drei Images mit je 30G. Von jedem Image sollen drei Kopien vorgehalten werden, dann ist man schon bei 270G benötigtem HDD-Speicher. Dabei ist noch nicht berücksichtigt, dass auch im Verzeichnis /home Platz pro Benutzer benötigt wird. Dieser Platz ist abhängig von der Anzahl der Benutzer und der Anwendungen. Hier sollte man zwischen 500G und 1000G einplanen.

Es wird empfohlen, dass die VMs (virtuellen Maschinen) auf externen Speicher abgelegt werden (z.B. NFS-Speicher oder iSCSI-Speicher), um die Virtualisierungsumgebung ggf. bei Bedarf ausbauen zu können und auch ausfallsichere Szenarien leichter umsetzen zu können.

IP VM HDD RAM
Default Empfohlen Default Empfohlen
10.0.0.1/16 Server 1.: 25GB, 2.: 100GB 250GB+ 4GB 8GB+
/ / 500GB Daten+Backup 1000GB+ / /
10.0.0.2/16 Opsi 100B 100GB+ 4GB 4GB+
10.0.0.3/16 Dockerhost 20GB 20GB 512MB 512MB+
10.0.0.4/16 XOA 15GB 15GB 1GB 1GB+
10.0.0.10/16 Admin-PC 15GB 15GB 1GB 1GB+
10.0.0.254/16 OPNsense 10GB 10GB+ 1GB 1GB+

Hint

Die XenOrchestra-Appliance (XOA) wird nur benötigt, wenn eine Virtualisierung mit XCP-ng erfolgen soll. Mithilfe von XenOrchestra kann die Virtualisierungsumgebung XCP-ng web-basiert verwaltet werden und es können hierüber auch sog. Enterprise-Funktionen wie z.B. Backup, Replikation etc. konfiguriert werden.

Für die Virtualisierung sollte der Host (Hypervisor) mit wenigstens drei Netzwerkkarten ausgestattet sein. Zudem sollte dieser mit 2-8 GB zusätzlichem Arbeitsspeicher und ca 20 GB weiterem Festplattenplatz für den Betrieb des Hypervisors selbst ausgestattet sein.

Bei minimaler Ausstattung (ohne Opsi, Docker und XOA) einer mittleren Schule (ca. 500 Benutzer) kann ein kleiner Server oder ein gut ausgestatteter PC ausreichend sein.

Schule Features HDD RAM
Default Empfohlen Default Empfohlen
mittelgroß minimal ~650GB 1500GB+ 8GB 16GB+
groß normal ~1000GB 2000GB+ 10GB 16GB+

Netzwerkstruktur

Je nach Einsatzszenario kann die Netzwerkstruktur der linuxmuster.net angepasst werden. Vor der Installation sollte man über den Umfang der eingesetzten Geräte ungefähr Bescheid wissen und dementsprechend die IP-Bereiche groß wählen oder mehrere Subnetze einführen.

IP-Bereiche

Die linuxmuster.net-Lösung kann mit unterschiedlichen IP-Bereichen arbeiten. Standardmäßig wird das interne Netz aus dem privaten IPv4-Bereich 10.0.x.x mit einer 16-bit Netzmaske 255.255.0.0 eingerichtet.

Die virtuellen Appliances sind mit dem Netz 10.0.0.0/16 voreingestellt. Jedoch kann man sowohl die bisher in früheren Versionen von linuxmuster.net verwendeten Netze, wie 10.16.0.0/12 oder 10.32.0.0/12, usw. weiterverwenden, als auch komplett andere private Adressbereiche angeben, sollten es zwingende Gründe geben.

Jede Zeile der folgenden Tabelle stellt eine Möglichkeit dar.

Beginn IP-Bereich Ende IP-Bereich Server-IP Üblich in
10.0.0.0 10.0.255.255 10.0.0.1 voreingestellt in VMs von lmn-v7
10.16.0.0 10.31.255.255 10.16.1.1 in linuxmuster.net ≤ 6.2 üblich
10.32.0.0 10.47.255.255 10.32.1.1 in linuxmuster.net ≤ 6.2 möglich
10.224.0.0 10.239.255.255 10.224.1.1 in linuxmuster.net ≤ 6.2 möglich
192.168.0.0 192.168.255.255 192.168.0.1 nicht üblich

Bei der Installation entscheiden Sie sich für einen der Bereiche. Liegen keine besonderen Anforderungen (z.B. Testbetrieb von linuxmuster.net in einem weiteren produktiv laufenden linuxmuster.net-System) vor, wird empfohlen den voreingestellten Bereich zu verwenden oder bei einer Migration den früheren Bereich zu behalten. Im vorliegenden Dokument enthaltene Screenshots werden immer mit einem der ersten beiden Bereiche gemacht.

Getrennte Netze und VLAN

Immer häufiger (z.B. durch Vorgaben vom Kultusministerium) besteht Bedarf an einer weiteren Trennung des internen Netzes in mehrere logisch von einander relativ getrennte Netze. Linuxmuster.net erlaubt sehr flexibel eine beliebige Einteilung des großen pädagogischen Netzes in Subnetze. Darüberhinaus sind komplett getrennte Netze für WLAN oder eine demilitarisierte Zone (DMZ) ohne Einschränkungen möglich.

Wer vor der Entscheidung steht, Subnetze oder VLANs einzurichten, sollte das Kapitel Netzsegmentierung mit linuxmuster.net lesen.

Aus historischen und anschaulichen Gründen verwendet die linuxmuster.net in der Dokumentation weiterhin die Farbzuordnung, die durch die Firewall-Lösung “IPFire” geprägt wurde:

  • Das interne Netzwerk wird GRÜNES Netzwerk genannt (davon kann es nach Netzsegmentierung mehrere geben).
  • Das externe Netzwerk wird ROTES Netzwerk genannt, es ist über einen Router mit dem Internet verbunden.
  • Optional kann z.B. für WLAN-Accesspoints ein weiteres Netzwerk aufgebaut werden (BLAU/LILA), für welches andere Zugangsberechtigungen als denen im grünen Netzwerk gelten.
  • Ebenso optional kann eine sog. demilitarisierte Zone (DMZ) als zusätzliches Netzwerk (ORANGE) aufgebaut werden.
Schematischer Aufbau eines Computernetzes mit linuxmuster.net.

Schematischer Aufbau eines Computernetzes mit linuxmuster.net.

Virtualisierung

Wenn man linuxmuster.net virtualisiert betreibt, gelten zu den obigen Voraussetzungen noch folgende Hinweise:

  • Das Netzwerk wird virtualisiert. Dadurch werden virtuelle Switche (“bridges”) erstellt, denen die richtigen Schnittstellen zugeordnet werden müssen. Mit zusätzlichem VLAN wird die Konfiguration auf dem Hypervisor schnell komplex, die physikalische Verkabelung kann aber einfacher werden.
  • Der Speicherplatz wird virtualisiert. Darauf muss man bei der Verwendung externer (iSCSI) wie interner Speichersysteme (LVM) achten. Dies kann auch zur Vereinfachung eines Backupverfahren beitragen.
  • Da der VM-Host die einzelnen VMs zunächst kapselt, ist es aus Sicherheitsgründen empfehlenswert, den VM-Host nicht ins selbe Netz seiner VMs einzubinden. Außerdem wird der Zugriff auf die Daten eventuell erschwert.

Hypervisoren

Die Voraussetzungen für einen virtualisierten Betrieb besteht natürlich darin, vorab den Hypervisor/den VM-Host installiert zu haben und Zugriff auf dessen Verwaltung zu haben. Wo es uns möglich ist, haben wir eine Anleitung dazu geschrieben, um auf die Besonderheiten der Schulnetzumgebung an geeigneter Stelle hinzuweisen. Für alle anderen Fälle, wird im folgenden der Ablauf einer Installation skizziert.

KVM/qemu/Proxmox als Hypervisor:
Ausführliche Informationen findest Du im Kapitel Virtualisierung über KVM.
Xen als Hypervisor:
Ausführliche Informationen findest Du im eigenen Kapitel Virtualisierung mit XCP-ng.
VMWare als Hypervisor:
fixme:anybody?
VirtualBox als Hypervisor:
VirtualBox wird häufig als Testsystem verwendet. Die Entwicklerdokumentation beschreibt diese Konfiguration.

Software

Für hier beschriebene Virtualisierungsmethoden benötigt man neben der Virtualisierungssoftware noch die bereitgestellten VM-Appliances (Abbilder).

Für eine Installation direkt auf der Hardware oder einer Installation von Grund auf innerhalb (anderer) Virtualisierungen benötigt man

Checkliste

Nutzen Sie die Checkliste, um alle während der Installation gemachten Einstellungen festzuhalten. Es handelt sich um ein PDF-Formular, Sie können es also auch am PC ausfüllen. Halten Sie diese Checkliste bereit, wenn Sie den Telefon-Support in Anspruch nehmen wollen.

Installation und Erstkonfiguration

Section author: @WildXI, @TLeibbrand

Öffne auf dem Administrations-PC mit einem Webbrowser die URL http://10.0.0.1:8000. Melde dich hier mit deinen root Logindaten an.

root login

Es erscheint automatisch der Einrichtungsassistent. Die Sprache kann ausgewählt werden und die EULA muss akzeptiert werden.

Disclaimer dialog

Disclaimer Dialog muss akzeptiert werden

Im nächsten Dialog müssen Schulnamen und Domäne eingetragen werden.

School information dialog

Erste Benutzeraufnahme

In einer Schule müssen meist mehrere hundert bis einige tausend Schüler als Benutzer angelegt werden. Die Schulkonsole SELMA erlaubt das Einlesen aller Schülerdaten aus einer Text-Datei ein, die z.B. aus dem Schulverwaltungsprogramm der Schule bezogen wurde. Anschließend werden alle Schüler dieser Liste, die im System noch nicht vorhanden sind, angelegt, solche mit einer neuen Klasse versetzt und nicht mehr aufgeführte Schüler aus dem System gelöscht.

Melde dich als global-admin an SELMA an. Unter LIST MANAGEMENT kann man die ersten Lehrer anlegen oder importieren.

Schüler importieren

Wähle im Menüpunkt Schüler-Liste die Schaltfläche IM EDITOR ÖFFNEN.

Per Drag & Drop lässt sich eine richtig formatierte Datei nun hochladen.

fixme:Encoding unter Schuleinstellungen festlegen, wenn man noch keine Schüler im System hat.

Rechneraufnahme mit SELMA

Um einen Rechner mit SELMA aufzunehmen geht man wie folgt vor:

Im Browser gibt man in der Adressleiste https://server.linuxmuster.lan:8000 gefolgt von ENTER ein. Das selbst signierte Zertifikat muss akzeptiert werden.

Es erscheint das abgebildete Login-Fenster:

_images/Login.png

Mit dem Benutzernamen administrator und dem dazu gehörenden Passwort loggt man sich ein.

_images/Login2.png

Die WebUI sieht dann wie abgebildet aus:

_images/Webui1.png

In der WebUI klickt man unter Device Management auf Geräte

_images/Webui2.png

und dort auf “Gerät hinzu fügen”.

_images/Webui3.png

In die sich öffnende Zeile gibt man unter Raum den Namen des Raumes (hier r123) ein. Entsprechend verfährt man mit den Spalten “Hostname”; “Gruppe”; “MAC” und IP. Im Feld PXE wählt man aus, ob der Rechner mit Linbo synchronisiert wer- den soll (mit Linbo entspricht PXE).

_images/Webui4.png

Nach der Eingabe der Daten ḱlickt man auf Speichern & Importieren

_images/Webui5.png

Im folgenden erscheinen einige Log-Meldungen und - wenn der Import erfolgreich war - “Import abgeschlossen”

_images/Webui6.png

Linux Clients

In dieser Anleitung wird beschrieben, wie man Linux auf einer Musterarbeitsstation installiert. Ein fertig vorkonfiguriertes Abbild liegt zum Download bei linuxmuster.net bereit und kann sofort auf alle Arbeitsstationen verteilt werden.

Arbeitsstationen (“Clients”) werden in der linuxmuster.net über die Software LINBO (“GNU/Linux Network Boot”) installiert.

Alle Arbeitsschritte, die Änderungen am Server benötigen, werden an einer Serverkonsole erledigt. Alternativ können diese Arbeitsschritte auch auf dem Webinterface ausgeführt werden, wie es die Anleitung Windows 10 Clients beschreibt.

Herunterladen des Standard-Linuxclients

Installieren Sie auf dem Server das Paket linuxmuster-client-servertools.

server ~ # apt-get install linuxmuster-client-servertools
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libcrypt-openssl-random-perl makepasswd
The following NEW packages will be installed:
  libcrypt-openssl-random-perl linuxmuster-client-servertools makepasswd
0 upgraded, 3 newly installed, 0 to remove and 4 not upgraded.
Need to get 31.8 kB of archives.
After this operation, 239 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y

Rufen Sie die Liste aller verfügbaren Clientabbilder auf:

server ~ # linuxmuster-client -a list-available
Hole Liste der verfügbaren cloops...OK

Imagename                 Info
-----------------------------------------------
xenial-qgm                          Ubuntu 16.04 LTS 64Bit
trusty714                          Ubuntu 14.04 LTS 64Bit
xenial916                          Ubuntu 16.04 LTS 64Bit
-----------------------------------------------

Laden Sie das Abbild Ihrer Wahl (hier: xenial916) herunter mit

server ~ # linuxmuster-client -a auto -c xenial916 -H xenial

Es wird die Rechnergruppe (Hardwareklasse) xenial angelegt und mehrere Dateien werden erzeugt. Die wichtigsten sind

/var/linbo/start.conf.xenial
/var/linbo/xenial916.cloop
/var/linbo/xenial916.cloop.postsync
/var/linbo/linuxmuster-client/xenial/...

Nun kann man Clientrechner in die Rechnergruppe xenial aufnehmen.

Note

Wenn eine Datei bereits existiert, bricht das Programm zunächst ab. Mit der Option -f wird ein angebrochener Download fortgesetzt und bestehende Dateien werden überschrieben, dabei werden von /var/linbo/start.conf.xenial und /var/linbo/linuxmuster-client/xenial jeweils automatisch Backups erstellt.

Computer in Netzwerk aufnehmen

Neue Rechner werden durch direkten Eintrag in die Datei /etc/linuxmuster/workstations und anschließendem Aufruf von import_workstations aufgenommen.

Ermitteln Sie die MAC-Adresse des ersten Clients, z.B. indem Sie den Client per PXE booten.

_images/linbo-empty-startpage1.jpg

Lesen Sie die “MAC-Adresse” im LINBO-Startbildschirm ab.

Öffnen Sie die Datei /etc/linuxmuster/workstations auf dem Server.

server ~ # nano /etc/linuxmuster/workstations

Tragen Sie dort den Rechner ein mit folgender Syntax

Raum;Rechnername;Gruppe;MAC;IP;;;;;;PXE-Flag;
Raum
Geben Sie hier den Namen des Raums (z.B. r100 oder g1r100) ein. Beachten Sie bitte, dass die Bezeichnung des Raumes oder auch des Gebäudes mit einem Kleinbuchstaben beginnen muss. Sonderzeichen sind nicht erlaubt.
Rechnername
z.B. in der Form r100-pc01 (max. 15 Zeichen), (evtl. Gebäude berücksichtigen g21r100-pc01) eingeben. Beachten Sie bitte, dass als Zeichen nur Buchstaben und Zahlen erlaubt sind. Als Trennzeichen darf nur das Minus-Zeichen - verwendet werden. Leerzeichen, Unterstriche oder andere Sonderzeichen (wie z.B. Umlaute, ß oder Satzzeichen) dürfen Sie hier unter keinen Umständen verwenden.
IP Adresse
Die IP-Adresse sollte zum Raum passen und muss außerhalb des Bereichs für die Rechneraufnahme liegen. Abhängig von Ihren Netzdaten z.B. 10.16.100.1 für diesen PC eingeben, üblicherweise nicht zwischen 10.16.1.100 und 10.16.1.200 (Bereich für die Rechneraufnahme).
Rechnergruppe
In der Rechnergruppe, bspw. xenial werden mehrere (idealerweise alle) ähnlichen Rechner zusammengefasst, die eine (nahezu) identische Konfiguration bekommen.

Beispielkonfiguration.

r100;r100-pc01;xenial;08:00:27:57:1D:C5;10.16.100.1;;;;;;1;

Der registrierte Client wird nun mit dem Konsolenbefehl

server ~# import_workstations

ins System aufgenommen und der Rechnergruppe xenial zugewiesen. Wenn Sie mit dem zuvor heruntergeladenen Standard-Linuxclient eine Rechnergruppe xenial erstellt haben, kann nun der Rechner fertig eingerichtet werden.

Clients synchronisieren

Um den Client erstmalig zu partitionieren, formatieren, synchronisieren und zu starten, führen Sie auf dem Server folgenden Befehl aus

server ~ # linbo-remote -i r100-pc01 -p partition,format,initcache:torrent,sync:1,start:1

(Re-)booten Sie nun den Client und verfolgen Sie die vollautomatische Einrichtung oder trinken Sie eine Tasse Ihres Lieblingsgetränks.

Der Ubuntu-Client startet und aufgenommene Benutzer können sich nun am System anmelden.

Weitere Clients können unter Kenntnis der jeweiligen MAC-Adressen mit derselben Methode direkt in die Datei /etc/linuxmuster/workstations aufgenommen werden.

Alternativ kann jeder aufzunehmende Rechner in LINBO gestartet werden und über die grafische Oberfläche von LINBO registriert werden. Dabei werden die relevanten Werte automatisch inkrementiert. Lesen Sie dazu Registration with LINBO.

Weiterführende Dokumentation

  • Howto: Linbo
  • Howto: Standardclient updaten
  • Todo: are there pages in the Anwenderwiki
  • Todo: are there howtos under docs.linuxmuster.net
  • Todo: is there development documentation or techsheets under docs.linuxmuster.net

Migration auf linuxmuster 7.0

Umfang dieser Anleitung

Es wird nur eine Migration der Benutzerinformationen (Namen, Passwort, Projekte) und der Computerinformationen unterstützt. Die Benutzerdaten (/home), Tauschverzeichnisse, die Geräte-Abbilder (/var/linbo) und evtl. Subnetze müssen vom Netzwerkberater oder (wo möglich) von den Benutzern selbst umgezogen werden.

Voraussetzungen

Es muss als Quellsystem linuxmuster.net in der Version 6.2 installiert sein. Es ist sehr wahrscheinlich, dass auch ab Version 6.1 und 6.0 eine Migration funktioniert. Dies wurde nicht offiziell getestet. (Stand: Nov. 2018)

Wer eine alte paedML Linux (zwischen Version 4.0.6 und 5.1.0) besitzt, für den kann der Upgradepfad über eine Migration zu einer linuxmuster.net 6.2 eine Option sein.

Die Migration wird in die Standard-Schulinstanz default-school vorgenommen.

Vorgehen

  1. Zunächst installiert man auf dem Quellsystem (Version 6.x) das Paket sophomorix-dump installieren und die Daten exportieren (ca. 15MByte)
  2. Danach importiert man diese Daten auf einem Zielsystem (Version 7.0) und rekonstruiert dort Benutzer, Passwörter, Projekte und Geräte.

Linuxmuster.net aktuell halten

Sicherheitskritische Aktualisierungen des Ubuntu-Betriebssystems werden von Ubuntu zeitnah bereitgestellt. Gleiches gilt auch für die Firewall IPFire.

Attention

Aktualisieren Sie daher regelmäßig Ihr System.

Update des Ubuntu Servers von linuxmuster.net

Um die linuxmuster.net 6.x zugrunde liegende Ubuntu Version (Ubuntu Server 12.04.5 LTS 64bit) zu aktualisieren, beachten Sie bitte nachstehendes Vorgehen bzw. Hinweise.

Attention

Führen Sie Updates bitte regelmäßig manuell durch.

Keine automatischen Updates

Es wird ausdrücklich davon abgeraten in Ubuntu die Option Automatische Updates zu aktivieren, so dass Paketaktualisierungen automatisch von dem Ubuntu-Server heruntergeladen und installiert werden.

Ob Sie automatische Updates aktiviert haben, überprüfen Sie, in dem Sie auf dem Server in der Datei /etc/apt/apt.conf.d/10periodic überprüfen, ob die Option APT::Periodic::Unattended-Upgrade "1"; existiert. In diesem Fall, ändern Sie die "1" in eine "0".

Melden Sie sich stattdessen besser bei der entsprechenden Mailingliste an oder abonnieren Sie entsprechenden RSS-Feed. Alle Hinweise zu Sicherheitsupdates von Ubuntu erhalten Sie unter http://www.ubuntu.com/usn/

Aktualisierungen einspielen

Um die Server-Installation auf den aktuellen Paketstand zu bringen, gehen Sie folgendermaßen vor:

  1. Loggen Sie sich als User root auf einer Serverkonsole ein.

  2. Aktualisieren Sie die Paketlisten:

    # aptitude update
    
  3. Installieren Sie nun Aktualisierungen und weitere Software-Pakete über das Internet:

    # aptitude dist-upgrade
    
  4. Es wird aufgelistet, welche Pakete aktualisiert werden. Bestätigen Sie die Aktualisierung mit der Eingabe von Y

    Dieses Vorgehen stellt sich in der Konsole wie folgt dar:

    Upgrade Ubuntu Server
  5. Während des Aktualisierungsverlaufs fragen manchmal Pakete nach, ob eine neue Konfigurationsdatei installiert werden soll. Geben Sie N oder ENTER für “Beibehalten” an.

    Konfigurationsdatei »/etc/sudoers«
     ==> Geändert (von Ihnen oder von einem Skript) seit der Installation.
     ==> Paketverteiler hat eine aktualisierte Version herausgegeben.
       Wie möchten Sie vorgehen? Ihre Wahlmöglichkeiten sind:
        Y oder I : Die Version des Paket-Betreuers installieren
        N oder O : Die momentan installierte Version beibehalten
           D     : Die Unterschiede zwischen den Versionen anzeigen
           Z     : Eine Shell starten, um die Situation zu begutachten
     Der Standardweg ist das Beibehalten der momentanen Version.
    *** sudoers (Y/I/N/O/D/Z) [Vorgabe=N] ? N
    

Hinweise

Ubuntu bietet ein Upgrade an

Haben Sie sich an der Konsole des linuxmuster.net Servers angemeldet, so erhalten Sie Hinweise auf neue verfügbare Upgrades, also neue Versionen des Ubuntu-Servers.

Diese stellen sich bsp. wie folgt dar:

New release '14.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Caution

Niemals ein Release-Upgrade durchführen

Folgen Sie nicht der Empfehlung, denn linuxmuster.net ist auf die Version 12.04 LTS 64 bit angepasst, deren Support bis 2017 gewährleistet ist. Neue Versionen (ab linuxmuster.net 7) werden über ein solches Release-Upgrade bereits verfügen (Version 16.04 LTS 64 bit)

Meldung: Hardware Enablement Stack

Ebenso wie beim „upgrade“ wird beim Anmelden über die Kommandozeile manchmal ein nicht mehr unterstützter Kernel gemeldet:

Your current Hardware Enablement Stack (HWE) is no longer supported
since 2014-08-07.  Security updates for critical parts (kernel
and graphics stack) of your system are no longer available.

For more information, please see:
http://wiki.ubuntu.com/1204_HWE_EOL

To upgrade to a supported (or longer supported) configuration:

* Upgrade from Ubuntu 12.04 LTS to Ubuntu 14.04 LTS by running:
 sudo do-release-upgrade

OR

* Install a newer HWE version by running:
sudo apt-get install <kernel-version>

Attention

Führen Sie kein upgrade auf 14.04 LTS durch. Support wird von Ubuntu für 12.04, 12.04.1 und 12.04.5 (Stand: August 2014) geleistet, das bedeutet ein mit 12.04.2 installiertes System muss einen neuen Kernel bekommen. (https://wiki.ubuntu.com/1204_HWE_EOL)

Aktualisierung des Linux-Kernels

Um Ubuntu 12.04 LTS Server (Codename Trusty) auf einen neueren Kernel zu aktualisieren, kann das Paket linux-hwe-generic genutzt werden:

# apt-get install linux-hwe-generic
Paketlisten werden gelesen...Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen...Fertig
Die folgenden zusätzlichen Pakete werden installiert:
linux-headers-3.13.0-34 linux-headers-3.13.0-34-generic linux-headers-generic-lts-trusty
linux-image-3.13.0-34-generic linux-image-generic-lts-trusty linux-image-hwe-generic
Vorgeschlagene Pakete:
fdutils linux-lts-trusty-doc-3.13.0 linux-lts-trusty-source-3.13.0 linux-lts-trusty-tools
Die folgenden NEUEN Pakete werden installiert:
linux-headers-3.13.0-34 linux-headers-3.13.0-34-generic linux-headers-generic-lts-trusty
linux-hwe-generic linux-image-3.13.0-34-generic
linux-image-generic-lts-trusty linux-image-hwe-generic

Nach Ausführen des Befehls ist der Server neu zu starten

# reboot

Sollte aus irgendeinem Grund der neue Kernel nicht booten oder funktionieren, kann der „alte“ Kernel über das Grub-Bootmenü ausgewählt werden, solange dieser nicht deinstalliert wurde.

Sollte nach dem Neustart des Servers mit dem neu installierten Kernel dennoch die HWE-Meldung erscheinen, sollte nachstehender Befehl

# hwe-support-status --show-all-unsupported

ausgeführt werden. Die dort genannten Pakete müssen dann deinstalliert werden. Danach o.g. Befehl noch einmal abgesetzen, um sicherzugehen, dass keine weiteren Pakete den HWE-Status blockieren.

Die Datei /var/lib/update-notifier/hwe-eol kann auch notfalls gelöscht werden.

Aktualisierung der Firewall IPFire

Um die Firewall von linuxmuster.net IPFire zu aktualisieren, beachten Sie bitte nachstehendes Vorgehen bzw. Hinweise.

Attention

Führen Sie Updates bitte regelmäßig manuell durch.

Skriptgesteuerte Aktualisierung vom Server aus

Es wird regelmäßig getestet, ob die neueren IPFire Versionen vollständig mit linuxmuster.net kompatibel sind. Um zu verhindern, dass vorschnell neue IPFire Versionen direkt nach Erscheinen installiert und so ggf. Inkompatibilitäten in Kauf genommen werden, wird das Update des IPFire vom Server aus mithilfe eines Skriptes angestossen.

Welche Version von linuxmuster.net positiv getestet wurde erfahren Sie im Support Forum in der Kategorie Server - Firewall https://ask.linuxmuster.net/c/server/firewall

Damit das Update mithilfe des angesprochem Skiptes ausgeführt wird, müssen Sie die Datei /var/lib/linuxmuster-ipfire/maxcore an der Server-Konsole editieren. Nach dem Speichern der Datei kann das Update gestartet werden.

Ein erfolgreicher Upgrade-Vorgang stellt sich dann so dar:

# linuxmuster-ipfire --upgrade

###################################
# linuxmuster.net: IPFire upgrade #
###################################

Passwordless ssh connection to Firewall is available.

IPFire 2.17 core 99 detected

downloading package lists ...
...package lists are up-to-date

upgrading IPFire ...

Core-update 2.19
Release: 100 -> 102

[screen is terminating]
Connection to 10.16.1.254 closed.
...upgrade was successful

Rebooting IPfire ...

Wenn ein Zwischenupdate von IPFire installert wird und hierbei ein größerer Versionssprung durchgeführt wird, ist nach dem Reboot von IPFire der Befehl erneut aufzurufen. Ebenso empfiehlt sich ein erneuter Aufruf, wenn das Upgrade nicht erfolgreich beendet wurde.

Ist das Update abgeschlossen, finden Sie nachstehende Konsolenausgabe:

# linuxmuster-ipfire --upgrade

###################################
# linuxmuster.net: IPFire upgrade #
###################################

Passwordless ssh connection to Firewall is available.

IPFire 2.19 core 102 detected

downloading package lists ...
...package lists are up-to-date

your IPFire is up-to-date

Weitere Hinweise

Konfiguration des IPFire vom Server aus neu setzen

Mit folgendem Befehl am Server konfiguriert man den IPFire neu. Es sollte zuvor aber ein Backup der IPFire-Einstellungen durchgeführt werden:

# linuxmuster-ipfire --backup
# dpkg-reconfigure linuxmuster-ipfire

Attention

Nur im Ausnahmefall anwenden. Es gehen alle eigenen Konfigurationseinstellungen des IPFire verloren.

Aktualisierung des IPFire via Konsole

Haben Sie eine SSH-Verbindung zum IPFire aufgebaut, können die diesen auch auf der Konsole des IPFire mithilfe der Paketverwaltung Pakfire des IPFire durchführen.

Hierzu geben Sie nachstehende Konsolenbefehle an:

# pakfire update
# pakfire upgrade

Danach ist der IPFire neu zu starten.

Attention

Prüfen Sie vorher, ob die zu installierende Version des IPFire vollständig kompatibel zu linuxmuster.net ist. Im Forum oder über die Mailing-Liste erhalten Sie entsprechende Hinweise.

Netzwerkkonfiguration

linuxmuster-chilli: Ein Captive Portal für linuxmuster.net

linuxmuster-chilli ist ein vorbereitetes Paket, das zur Installation auf einem Ubuntu Server 12.04 32bit gedacht ist und aus diesem ein sogenanntes “Captive Portal” (bei WLAN manchmal auch Hot-Spot genannt) macht, welches eine Anmeldung von mitgebrachten Geräten wie Laptops, Smartphones, Tablets u.ä. gegen den LDAP Server der linuxmuster.net Umgebung ermöglicht.

Netzwerkübersicht beim Einsatz eines Coovachilli als Hot-Spot

Die Zugriffssteuerung liegt in den Händen des Netzwerkberaters und der Lehrer. Die Entscheidung, ob ein Benutzer das Netzwerk nutzen kann oder nicht, wird dabei über die Zugehörigkeit in LDAP Gruppen gesteuert. So können Zugänge fein gesteuert über Projektgruppen in der Schulkonsole vergeben werden.

Vorbereitungen

Verschiedene Einsatzszenarien

Mit Hilfe von linuxmuster-chilli kann der Netzwerkzugang von mitgebrachten Geräten über das grüne, das blaue oder das rote Netzwerk erfolgen. (Es gibt noch mehr Möglichkeiten, aber diese drei sollten die häufigsten Anwendungsfälle abdecken…)

Die Firewall IPFire bietet verschiedene Netze mit unterschiedlichen Vertrauensstellungen an, lesen Sie dazu die Netzwerkstruktur.

Zugang über das blaue Netz des IPFire

Das blaue Netzwerk wird überlicherweise für genau diese Aufgabe verwendet: Ein logisch getrenntes Netzwerk zu haben, dem zunächst nicht vertraut wird.

Vorteile:

  • Kontrolle des Internetzugangs mit Hilfe des IPFire möglich
  • Eine Lücke im Hotspot-System kann das grüne Netz nicht exponieren.

Nachteile:

  • Nach der Anmeldung ist der Client nicht im grünen Netz (kein Drucken, kein Home- oder Tausch-Verzeichnis).
Einsatz eines Coova im blauen Netz
Zugang über das grüne Netz des IPFire

Vorteile:

  • Nach der Anmeldung stehen alle Dienste im grünen Netz zur Verfügung
  • Kontrolle des Internetzugangs mit Hilfe des IPFire möglich

Nachteile:

  • Nach der Anmeldung ist der Client im grünen Netz: Eine Lücke im Hotspot-System kann das grüne Netz exponieren.
Einsatz eines Coova im grünen Netz
Zugang im roten Netz des IPFire (Direktzugang)

Vorteile:

  • Kontrolle des Internetzugangs mit Hilfe des IPFire möglich
  • Eine Lücke im Hotspot-System kann das grüne Netz nicht exponieren.
  • Für die Anwender sind nur zwei Fälle zu dokumentieren: Am Schulrechner/am privaten Gerät.

Nachteile:

  • Eine Lücke im Hotspot-System kann zu freiem Internetzugriff führen.
  • Nach der Anmeldung ist der Client nicht im grünen Netz (kein Drucken, kein Home- oder Tausch-Verzeichnis).
Einsatz eines Coova im roten Netz

Je nach gewähltem Szenario müssen entsprechende Einstellungen am IPFire vorgenommen werden. Im folgenden wird der Einsatz im blauen Netzwerk ausführlich dokumentiert.

IPFire-Konfiguration für den Einsatz im blauen Netz

Als Vorbereitung auf die Installation eines CoovaChilli-Servers müssen das Netzwerk richtig verkabelt werden und der IPFire vorkonfiguriert werden. Melden Sie sich dazu am IPFire an. Folgende Situation muss erreicht werden:

  • Nur das externe Interface (im folgenden Netzdiagramm dunkelblau) des CoovaChilli-Servers muss sich im blauen Netzwerk des IPFire befinden. (Bei Virtualisierung kann diese Verbindung rein virtuell erfolgen).
  • Der CoovaChilli-Server muss am IPFire mit diesem Interface für den “Zugriff auf Blau” freigeschaltet sein.
  • Es muss eine Weiterleitung für LDAPs konfiguriert werden, so dass der CoovaChilli-Server den im grünen Netz stehenden linuxmuster.net-Server erreichen kann.
  • Eine zweiten Netzwerkverbindung (mit physikalischer Anbindung bei Virtualisierung), an der dann die Access-Points hängen, muss geschaffen werden. Das WLAN-Interface (in den oberen Skizze hellblau, im Netzdiagramm unten lila) wird nach Installation mit den Accesspoints oder frei zugänglichen Netzwerkdosen verbunden.

Die Netzverkabelung versteht man am Besten beim Betrachten eines Beispiels eines CoovaChilli hier in einer virtualisierten Umgebung:

Einsatz eines Coova in einer virtualisierten Umgebung

Important

Die folgenden Bilder zeigen wie im obigen Beispiel die Einstellungen für einen linuxmuster.net-Server im IP Bereich 10.16.*.* und dementsprechend einem blauen Netz 172.16.16.*. Gegebenenfalls muss das der eigenen Situation angepasst werden, z.B. auf 10.32.*.* und 172.16.32.*.

Darüberhinaus ist für den Endnutzer der Bereich 192.168.99.1 bis 192.168.99.255 vorgesehen. Hier kann jedes beliebige andere private, außer den bereits verwendeten, Subnetzwerk verwendet werden. Die jeweils richtigen IPs sind aber in der Regel bei den Dialogen schon voreingestellt.

1. DHCP-Server

Zunächst sollte sichergestellt sein, dass der DHCP Server für das blaue Interface läuft. Das ist insbesondere dann sinnvoll, wenn man neben dem CoovaChilli-Server noch weitere Clients im blauen Netzwerk hat, z.B. Schulcomputer die ohne Zugangsüberprüfung Netzwerkzugang haben sollen. Dies überprüft man im Menü des IPFire unter Netzwerk -> DHCP-Server:

DHCP-Server im blauen Netz

Man setzt den Haken bei “Aktiviert” und speichere. Ist der CoovaChilli-Server der einzige Rechner im blauen Netzwerk, ist man fertig. Gibt es weitere Computer, ist es ratsam dem CoovaChilli die erste IP-Adresse fest zu vergeben und die Anfangsadresse auf 172.16.16.2 zu setzen.

2. Zugriff auf Blau

Dann wechselt man auf die Seite Firewall -> Zugriff auf Blau und fügt dort die “externe” Schnittstelle/MAC des CoovaChilli-Servers hinzu.

  • Quell-IP-Adresse: 172.16.16.1
  • MAC-Adresse: xx:xx:xx:xx:xx:xx
  • Anmerkung: coovachilli
  • Aktiviert: Ja
CoovaChilli im blauen Netz fest zuordnen
3. Zugriff von Blau auf LDAPs zulassen

Zuletzt muss das DMZ Schlupfloch gebohrt werden, dazu wechselt man auf die Seite Firewall -> Firewallregeln und fügt eine neue Regel ein.

  • Quelle: Standard-Netzwerk Blau
  • Zieladresse: linuxmuster.net Server-IP (10.16.1.1 oder 10.32.1.1 oder …)
  • Protokoll TCP, Quellport: leer, Zielport 636 für LDAPs
  • Anmerkung, damit man weiß, was man gemacht hat
  • Logging: optional
Zugriff von Blau auf LDAPs zulassen

Schließlich “Hinzufügen” und anschließend auch noch “Änderungen übernehmen” nicht vergessen!

Änderungen übernehmen
4. Weitere Dienste erlauben

Unter Firewall -> Firewallregeln müssen die zusätzlichen Dienste, die aus dem blauen Netz erlaubt werden sollen, freigeschaltet werden.

Im Beispiel unten wurde für das Protokoll https auf den Ports 443 (Webserver), 242 (Schulkonsole) und 631 (Cups-Druckerserver) und für das Protokoll ping je eine Regel hinzugefügt. Für ping muss als Protokoll-Typ ICMP ausgewählt werden.

Weitere Dienste erlauben

Der Zugriff auf den IPFire-DNS-Server muss nicht extra erlaubt werden, auf einen anderen DNS-Server (z.B. Google - 8.8.8.8) jedoch schon.

5. Advanced Proxy für Blau aktivieren

Im Menü Netzwerk -> Webproxy sollte für das blaue Netz der transparente Proxy wie im grünen Netz aktiviert sein. Der Zugriff auf den Proxy muss in der Firewall nicht freigeschaltet werden.

Advanced Proxy für das blaue Netz aktivieren

Installation des Captive Portal Servers

Voraussetzungen
  • Für das Captive Portal wird ein PC oder eine virtuelle Maschine mit zwei Netzwerkkarten benötigt:

    • eth0 muss die Netzwerkkarte sein, die mit dem Internet verbunden ist, je nach Einsatzszenario also z.B. grünem oder blauem Interface. Bei Virtualisierung empfiehlt sich die Einrichtung einer virtuellen Netzwerkbrücke, die man an keinen physikalischen Port binden muss (-> IPFire).
    • eth1 wird nicht konfiguriert und mit dem Netzwerksegment verbunden, an dem die Clients sich später verbinden werden. Konfiguration und DHCP werden beim Start des chilli-Diensts von CoovaChilli vorgenommen.
  • Für eine manuelle Installation, muss ein Ubuntu-Server 14.04.4 32bit auf dem späteren Captive-Portal-Server installiert werden. Als einziges Zusatzpaket sollte bei der Softwareauswahl “ssh-server” gewählt werden.

Important

Achtung: Mit der 64bit Version funktioniert das Setup nicht.

Das Captive Portal als virtuelle Maschine herunterladen

Lade zunächst die virtuelle Maschine herunter:

https://www.linuxmuster.net/downloads/ova/linuxmuster-chilli.ova

Die OVA-Datei enthält eine virtuelle Appliance, auf der die komplette linuxmuster-chilli Umgebung bereits vorinstalliert ist.

Auspacken der Appliance

Die Appliance kann problemlos mit Virtualbox geöffnet werden. Der neuralgische Punkt ist die Konfiguration der Netzwerkkarten für die virtuelle Maschine.

Bereitstellen

Die Anmeldedaten für die Appliance sind

Benutzer: coovaadmin
Passwort: muster

Nach der ersten Anmeldung muss der Befehl

# linuxmuster-chilli-turnkey

ausgeführt werden. Dabei wird das Passwort des administrativen Benutzers coovaadmin geändert und ein neues SSL Zertifikat für den apache Webserver erzeugt. Anschließend wird CoovaChilli interaktiv für die Arbeit in der linuxmuster.net-Umgebung konfiguriert. Details hierzu finden sich in der Konfigurationsanleitung für linuxmuster-chilli.

CoovaChilli mit der Paketverwaltung installieren

Auf dem Chilli-Server muss der Repo-Schlüssel importiert werden:

# wget -q http://pkg.linuxmuster.net/linuxmuster.net.key -O - | apt-key add -

Eine neue Datei /etc/apt/sources.list.d/linuxmuster-chilli.list anlegen und die folgende Zeile eintragen:

# linuxmuster-chilli Pakete
deb http://pkg.linuxmuster.net/ precise-chilli/

Aktualisieren der Paketliste mit

# apt-get update

Installation bzw. Update des Paketes mit

# apt-get install linuxmuster-chilli

Jetzt geht es dann weiter mit der Konfiguration von linuxmuster-chilli.

Netzwerkkonfiguration auf dem CoovaChilli-Server

Wenn der CoovaChilli-Server der einzige Rechner im blauen Netz ist, kann man die Schnittstellenkonfiguration problemlos dem DHCP Server überlassen. Die Datei /etc/network/interfaces auf dem coovachilli Server sieht dann folgendermaßen aus:

# This file describes the network ...
# and how to activate them. For more information, see interfaces(5).
#

# The loopback network
auto lo
iface lo inet loopback

# These interfaces are brought up automatically
auto eth0
iface eth0 inet dhcp

Ebenso kann man, sofern man den DHCP-Adressbereich geändert hat, kann man dem CoovaChilli-Server auch eine statische IP-Adresse geben, z.B.

# This file describes the network ...
# and how to activate them. For more information, see interfaces(5).
#

# The loopback network
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 172.16.16.1
netmask 255.255.255.0
network 172.16.16.0
broadcast 172.16.16.255
gateway 172.16.16.254
dns-nameservers 172.16.16.254
dns-search linuxmuster-net.lokal

Konfiguration von linuxmuster-chilli

Unabhängig davon, ob man den CoovaChilli-Server selbst auf einer Ubuntu-Basis installiert hat oder die virtuelle Appliance für Virtualbox nutzt, kann man mit dem Befehl

# dpkg-reconfigure linuxmuster-chilli

das Paket für die eigenen Bedürfnisse konfigurieren. Dieser Vorgang wird auch durch den Befehl linuxmuster-chilli-turnkey ausgelöst, der die virtuelle Appliance personalisiert.

Nachfolgend werden die Schritte der Konfiguration erklärt.

Schrittweise Konfiguration
Adresse des LDAP-Servers

Zunächst muss die Adresse des LDAP-Servers angegeben werden. Der genaue Wert hängt davon ab, welches der Szenarien für den Einsatz des Captive Portals zur Anwendung kommt:

  • Zugang zum grünen Netz: Interne IP-Adresse des Servers
  • Zugang zum blauen Netz: Interne IP-Adresse des Servers
  • Zugang zum roten Netz bzw. direkt ins Internet: Adresse oder DynDNS-Name der roten Schnittstelle des IPFire, Portweiterleitung für LDAPs (Port 636) von Rot nach Server-IP Grün muss aktiviert sein.
Eingabe der IP-Adresse des LDAP-Servers
LDAP Suchbasis

Hier muss die LDAP Suchbasis des Schulservers angegeben werden, standardmäßig dc=linuxmuster-net,dc=lokal. Diese kann auf dem Schulserver durch den Befehl grep basedn /var/lib/linuxmuster/network.settings ermittelt werden.

Eingabe der Suchbasis für den LDAP-Server
Passwort für den LDAP Server

Hier muss das Passwort zur Abfrage des LDAP Servers eingegeben werden. Dieses kann auf dem Schulserver durch den Befehl grep rootpw /etc/ldap/slapd.conf ermittelt werden.

Eingabe des LDAP-Abfrage-Passworts für den LDAP-Server
Netzwerkbereich/Netzmaske für die Clientseite des Hotspot-Servers

Hier muss ein privates Netzwerksegment angegeben werden. Wenn sich der CoovaChilli-Server im grünen oder blauen Netz befindet, dann kann die Vorgabe mit einem 192.168.x.x Netzwerk einfach übernommen werden. Wenn das dem Internet zugewandte Interface des CoovaChilli-Servers sich selbst in einem 192.168.x.x Netzwerk befindet (z.B. wenn es am roten Netz hängt), muss ein anderes privates Netz genommen werden.

Eingabe des Netzwerks für die WLAN-Clients

Die Netzmaske für das Clientnetzwerk. Der Standard stellt 255x255 Adressen für Clients zur Verfügung das sollte reichen.

Eingabe der Netzmaske für die WLAN-Clients
Nameserver

Hier sollten wenn möglich zwei Nameserver angegeben werden, die vom CoovaChilli-Server zur Adressauflösung verwendet werden. Die Werte hängen vom Anwendungsfall für den Hotspot ab. Man kann hier auch die Blaue IP des IPFire eintragen (z.B. 172.16.16.254). Gegebenenfalls muss aber in der Firewall noch zusätzlich eine Durchlassen-Regel zum DNS-Port 53 erstellt werden.

Eingabe der Netzmaske für die WLAN-Clients
Zugangsgruppen

Nur die Mitglieder dieser Systemgruppen auf den Schulserver erhalten Zugang zum Internet. Mehrere Gruppen werden durch ein Leerzeichen getrennt.

Eingabe der Systemgruppen mit permanentem Zugang zum Internet
Autologout

Nach welcher Zeit in Sekunden soll ein Client bei Untätigkeit automatisch abgemeldet werden? Dieser Wert wird in die Konfigurationsoption HS_DEFIDLETIMEOUT von CoovaChilli übernommen. Ein harter Logout, unabhängig von der Nutzeraktivität, der durch den Parameter HS_DEFSESSIONTIMEOUT festgelegt wird, wird durch die Konfiguration von linuxmuster-chilli nicht gesetzt, dies kann bei Bedarf manuell an anderer Stelle erfolgen.

Eingabe der Zeit bis zum automatischen Logout
Logging

Sollen alle Seitenaufrufe von der Clientseite aus für 30 Tage mitgeloggt werden? Auswahl ja oder nein. Der Datenschutz ist zu beachten. Werden die Adressen geloggt, müssen die Nutzer darüber informiert werden und dem zustimmen.

_images/chillispot-root_linuxmuster-chilli_081.png
Freie Domains

Diese Domains können ohne Anmeldung angesurft werden. Mehrere Domains durch Komma trennen.

_images/chillispot-root_linuxmuster-chilli_068.png
Überschrift der Anmeldeseite
_images/chillispot-root_linuxmuster-chilli_069.png
SSL Zertifikat

Hier gibt man den Hostnamen ein, den der Server bei der Installation des Grundsystems erhalten hat.

_images/chillispot-root_linuxmuster-chilli_066.png
Konfigurationsänderung

Die Konfiguration kann jederzeit durch Aufruf des Befehls

# dpkg-reconfigure linuxmuster-chilli

geändert werden, dabei werden die oben mit Screenshots beschriebenen Schritte erneut durchlaufen, die zuletzt vorgenommenen Konfigurationseinträge werden dabei als Vorgaben verwendet. Man fängt also stets bei seiner letzten Konfiguration an.

Logging

Der Hotspot loggt alle Anmeldungen und Seitenaufrufe in den Dateien:

/var/log/linuxmuster-chilli/coova-chilli.log  # Anmeldungen und chilli-bezogene Meldungen
/var/log/linuxmuster-chilli/ffproxy.log       # Seitenaufrufe

Die Logs werden täglich rotiert, Logs werden 30 Tage aufbewahrt und dann gelöscht.

Erweiterte Optionen für CoovaChilli

In der Datei /etc/chilli/userconf können eigene Optionen für CoovaChilli festgelegt werden. Die dort definierten Werte überschreiben bzw. ergänzen diejenigen aus der Paketkonfiguration von linuxmuster-chilli

Beispiel: Eine Datei /etc/chilli/userconf mit dem folgenden Inhalt, würde eine Clientsession unabhängig von der Aktivität des Benutzers nach 900 Sekunden beenden, so dass sich der Nutzer neu anmelden muss:

# Wenn im Radius kein Session Timeout definiert wurde, wann fliegt der Hotspot User wieder raus
HS_DEFSESSIONTIMEOUT=900 # In Sekunden

Weitere Ergänzungen finden Sie im Anwenderwiki -> Coovachilli.

linuxmuster.net Netzsegmentierung Basisanleitung

Im aktuellen Netzbrief des Landes Baden-Württemberg wird empfohlen, das Schulnetzwerk aus datenschutzrechtichen Erwägungen in mindestens drei Subnetze zu untergliedern: Lehrernetz, Schülernetz und Servernetz.

Sehr ausführliche Informationen, wie dies in linuxmuster.net umgesetzt werden kann finden Sie im linuxmuster.net Wiki

Diese Anleitung soll den einfachsten Spezialfall dokumentieren, das Netz in drei Segmente aufzuteilen, so dass die Vorgaben des Netzbriefs erfüllt sind.

Eine Erweiterug um weitere Subnetzbereiche, beispielsweise Klassenraumweise, ist später ohne Schwierigkeiten möglich.

Inhalt:

Vorbemerkungen

Geplante Zielstruktur

Das linuxmuster.net-Netzwerk soll unter Verwendung eines Layer3 fähigen Switches in 3 Segmente unterteilt werden.

  • Servernetz, Netzwerkadressen 10.16.0.0/16
  • Lehrernetz, Netzwerkadressen 10.17.0.0/16
  • Schülernetz, Netzwerkadressen 10.18.0.0/16

Wie bisher ist eine Einteilung der Rechner eines Raumes im dritten Oktett problemlos möglich, z.B. alle Rechner in Raum 107 sind im Schülernetz und haben Adressen aus dem Bereich 10.18.107.x, alle Rechner des Lehrerzimmers sind im Lehrernetz und haben Adressen aus dem Bereich 10.17.120.x. Die Unterscheidung der Räume bleibt also im 3. Oktett, die Unterscheidung der Subnetze findet im 2. Oktett statt.

Für die Unterteilung werden auf den Switches VLANs eingerichtet, diese Anleitung Verwendet

  • für das Servernetz die VLAN-ID 16
  • für das Lehrernetz die VLAN-ID 17
  • für das Schülernetz die VLAN-ID 18
Struktur: Segmentiertes Netz

Im ersten Schritt werden die in der Datei /etc/linuxmuster/workstations verwalteten Rechner so geordnet, dass Sie in weiteren Schritten automatisch in das richtige Subnetz einsortiert werden.

Vorbereitung der workstations-Datei

Zunächst bearbeitet man die Workstations-Datei derart, dass alle Rechner, die später im Lehrernetz sein sollen, Adressen mit dem Beginn 10.17.x.x erhalten. Rechner die sich später im Schülersegment befinden sollen Adressen mit dem Beginn 10.18.x.x erhalten.

Dabei ist es unerheblich, ob die Veränderungen im Serverterminal oder in der Schulkonsole vorgenommen werden.

Ausgangszustand

Die Rechner sind Raumweise einsortiert, beispielsweise haben alle Rechner in Raum r120 IP-Adressen der Form 10.16.120.x.

Die Workstations-Datei soll nun so umstrukturiert werden, dass später

  • alle Rechner in Raum r120 und der Rechner rhm-ws01 im Lehrernetz sind
  • alle übrigen Rechner im Schülernetz sind

Dazu ersetzt man bei den betreffenden Rechnern die Zahl im zweiten Oktett der IP-Adresse (derzeit bei allen die 16) durch die entsprechende Zahl für das spätere Subnetz (17 für das Lehrernetz, 18 für das Schülernetz). Die Drucker werden dabei ebenfalls in das entsprechende Teilnetz verlegt, hier sind später noch weitere Anpassungen auf dem Server nötig.

r120;r120-ws01;qgm;C4:34:6B:7E:71:10;10.16.120.1;255.240.0.0;1;1;1;1;1
r120;r120-ws02;qgm;64:51:06:38:B6:6F;10.16.120.2;255.240.0.0;1;1;1;1;1
r120;r120-printer-color;printer;00:1E:0B:12:DB:78;10.16.120.202;255.240.0.0;1;1;1;1;0
r120;r120-printer-bw;printer;00:18:FE:A3:A8:60;10.16.120.203;255.240.0.0;1;1;1;1;0
r210;r210-ws01;qgm;64:51:06:38:B6:64;10.16.210.1;255.240.0.0;1;1;1;1;1
r116a;r116a-ws01;sozpaed;88:AE:1D:EF:E3:3B;10.16.6.1;255.240.0.0;1;1;1;1;0
nwt100;r100-ws01;qgm;64:51:06:43:D2:62;10.16.100.1;255.240.0.0;1;1;1;1;1
nwt100;r100-ws02;qgm;64:51:06:43:D3:21;10.16.100.2;255.240.0.0;1;1;1;1;1
nwt100;r100-ws03;qgm;64:51:06:4B:C5:78;10.16.100.3;255.240.0.0;1;1;1;1;1
prota;prota-ws07;qgm;EC:A8:6B:FE:0B:09;10.16.242.7;255.240.0.0;1;1;1;1;1
r138;r138-ws01;qgm;00:0F:FE:96:02:1E;10.16.138.1;255.240.0.0;1;1;1;1;1
r138;r138-ws02;qgm;00:0F:FE:88:15:D8;10.16.138.2;255.240.0.0;1;1;1;1;1
r138;r138-ws03;qgm;64:51:06:38:3E:FF;10.16.138.3;255.240.0.0;1;1;1;1;1
rhm;rhm-ws01;qgm;64:51:06:38:B7:AC;10.19.111.1;255.240.0.0;1;1;1;1;1
Endzustand

Alle Rechner die später im Lehrernetz sein sollen, haben nun Adressen der Form 10.17.x.x, alle Rechner die später im Schülernetz sein sollen haben Adressen der Form 10.18.x.x.

Nun übernimmt man die Änderungen durch ausführen des Befehls import_workstations oder entsprechend in der Schulkonsole.

Nach dem nächsten Rechnerstart erhalten die geänderten Rechner die neuen IP-Adressen.

r120;r120-ws01;qgm;C4:34:6B:7E:71:10;10.17.120.1;255.240.0.0;1;1;1;1;1
r120;r120-ws02;qgm;64:51:06:38:B6:6F;10.17.120.2;255.240.0.0;1;1;1;1;1
r120;r120-printer-color;printer;00:1E:0B:12:DB:78;10.17.120.202;255.240.0.0;1;1;1;1;0
r120;r120-printer-bw;printer;00:18:FE:A3:A8:60;10.17.120.203;255.240.0.0;1;1;1;1;0
r210;r210-ws01;qgm;64:51:06:38:B6:64;10.18.210.1;255.240.0.0;1;1;1;1;1
r116a;r116a-ws01;sozpaed;88:AE:1D:EF:E3:3B;10.18.6.1;255.240.0.0;1;1;1;1;0
nwt100;r100-ws01;qgm;64:51:06:43:D2:62;10.18.100.1;255.240.0.0;1;1;1;1;1
nwt100;r100-ws02;qgm;64:51:06:43:D3:21;10.18.100.2;255.240.0.0;1;1;1;1;1
nwt100;r100-ws03;qgm;64:51:06:4B:C5:78;10.18.100.3;255.240.0.0;1;1;1;1;1
prota;prota-ws07;qgm;EC:A8:6B:FE:0B:09;10.18.242.7;255.240.0.0;1;1;1;1;1
r138;r138-ws01;qgm;00:0F:FE:96:02:1E;10.18.138.1;255.240.0.0;1;1;1;1;1
r138;r138-ws02;qgm;00:0F:FE:88:15:D8;10.18.138.2;255.240.0.0;1;1;1;1;1
r138;r138-ws10;qgm;64:51:06:38:3E:FF;10.18.138.99;255.240.0.0;1;1;1;1;1
rhm;rhm-ws01;qgm;64:51:06:38:B7:AC;10.17.111.1;255.240.0.0;1;1;1;1;1
Geänderte Drucker auf dem Server anpassen

Hat man bei der Neustrukturierung IP-Adressen von Druckern geändert, die in CUPS auf dem Server als Netzwerkdrucker eingerichtet sind, muss man dort die neue IP-Adresse anpassen, da diese Änderungen durch den erneuten Import der Arbeitsstationen nicht übernommen werden.

Am Beispiel des Druckers r120-printer-bw wird das Vorgehen kurz dargestellt.

Dazu öffnet man die CUPS Seite auf dem Server und bearbeitet den betreffenden Drucker - man sieht, die ursprüngliche IP-Adresse 10.16.120.203.

CUPS Einstellungen anpassen

Zunächst wählt man im Administrationsmenü Drucker ändern.

CUPS Einstellungen anpassen

Jetzt wählt man die bisherige Anschlussart, im Beispiel AppSocket/HP JetDirect, im nächsten Bildschirm werden dann die bisherigen Einstellungen angezeigt.

CUPS Einstellungen anpassen

In diesem Fall, wie zu sehen socket://10.16.120.203:9100.

CUPS Einstellungen anpassen

Jetzt ändert man die IP-Adresse auf den neuen Wert und lässt den Rest unverändert.

CUPS Einstellungen anpassen

Im weiteren Änderungsverlauf werden jeweils die bisherigen Einstellungen angezeigt, die man stets übernimmt. Um die Änderungen abzuschliessen, muss man am Ende das root-Passwort angeben.

Auf diese Weise müssen alle zuvor geänderten Drucker auf Ihre neue IP-Adresse angepasst werden.

Vorbereitung der Switches im Netzwerk

In Vorbereitung auf das Subnetting sollten auf allen L2 Switches im Netzwerk die VLANs mit den IDs 16, 17, und 18 angelegt werden, damit später die Portkonfiguration aller Switches leicht passend eingestellt werden kann.

Je nachdem wie die Geräte der einzelnen Subnetze im Schulhaus verteilt sind, ist es nicht zwar unbeding notwendig, alle Subnetze auf allen Switches einzurichten, es richtet aber keinen Schaden an und vereinheitlicht das Vorgehen. Ausserdem können spätere Erweiterungen der Infrastruktur mit weniger Konfigurationsaufwand umgesetzt werden, beispielsweise wenn in einem Gebäuteteil in dem zunächst nur Schülergeräte angeschlossen waren ein Lehrerarbeitsraum eingerichtet werden soll.

Das genaue Vorgehen kann hier nicht umfassend dokumentiert werden, das es von Art und Hersteller des Switches abhängt, exemplarisch sollen folgende Beispiele stehen.

Hewlett Packard HP2650
VLANs HP2650

Einige HP-Switches haben eine textbasierte “Menükonsole”, hier geht man prinzipiell folgendermaßen vor:

  • Mit telnet/ssh auf die Switchkonsole verbinden
  • Das Konfigurationsmenü öffnen
  • Nach Switch-Konfiguration, VLAN Menu, VLAN Names wechseln und dort die VLans mit den IDs 16, 17 und 18 anlegen.
VLANs HP2650 VLANs HP2650 VLANs HP2650

Auf diesem Switch gibt es bereits 2 VLANs (mit den IDs 2 und 3) für andere Zwecke, diese stören nicht.

VLANs HP2650

Konfiguration des L3-Switches

Für den Layer3-Switch Cisco SG300 stehen vorbereitete Konfigurationsdateien zur Verfügung, die eine netzbriefkonfome Grundkonfiguration auf dem Switch einspielen. Anschließemnd müssen nur noch die Switch Ports passend konfiguriert werden.

Schritt für Schritt

Weitere L2-Switches mit VLans anbinden

Umstellen des Servers auif Subnetting

Unifi-WLAN-Lösung für linuxmuster.net

Eine WLAN-Lösung für Schulen sollte mindestens zwei WLAN-Netze aufspannen.

  • Das Lehrernetz für schuleigene Geräte, wie Beamer, Laptops oder Chromecasts, und für private Geräte der Lehrer, die auf Beamer und Chromecasts zugreifen wollen.
  • Das Schülernetz für Schüler.
VLAN-Topologie

In der hier vorgestellten Lösung kommen Accesspoints von Unifi und der kostenlose Unifi-Controller zum Einsatz.

Die Geräte im Lehrernetz werden in die Datei /etc/linuxmuster/workstations aufgenommen. Das Lehrernetz ist ein Teil des Schulnetzes. Damit können sich beispielsweise Benutzer mit einem Schullaptop per WLAN wie gewohnt anmelden und auf ihre Daten zugreifen.

Im Schülernetz müssen sich die Benutzer für das WLAN mit ihrem Benutzernamen und Kennwort anmelden. Über die Schulkonsole kann einem Schüler oder einer Gruppe von Schülern das WLAN freigeschaltet oder gesperrt werden. Eine Verwaltung der Benutzergeräte durch den Netzwerkberater entfällt.

Inhalt:

Die Netztopologie

Sollen 2 WLANs über einen Accesspoint (AP) ausgestrahlt werden, muss mindestens ein Netzwerk ein getaggtes VLAN sein.

VLAN-Topologie

Im Beispiel ist der Hypervisor (z.B. Proxmox) mit einem Netzwerkkabel mit dem Switch verbunden.

Die virtuellen Maschinen sollten somit nicht direkt mit der Netzwerkkarte des Hypervisors verbunden sein. Es muss noch zusätzlich die VLAN-ID angegeben werden.

Im Beispiel werden die Datenpakete des Unifi-Controllers mit der Nummer 16 gekennzeichnet. Man sagt getaggt.

VLAN-Netzwerkkarte

Der Switch

In der hier vorgestellten Lösung wird ein Cisco SG300-10 Switch verwandt. Die Überlegungen lassen sich aber leicht auf andere Switches übertragen.

Grundsätzliches

Bei vielen Switches ist es unmöglich, sich komplett auszusperren. Der SG300 hat die Konfigurationsspeicher Ausgeführte Konfiguration und Startkonfiguration.

In die Ausgeführte Konfiguration werden alle Einstellungen gespeichert, die Sie vornehmen. Bei einem Neustart wird als erstes die Startkonfiguration in die Ausgeführte Konfiguration kopiert und dann die Ausgeführte Konfiguration ausgeführt.

Wenn Sie sich also mit einer Einstellung ausgeschlossen haben, starten Sie den Switch einfach neu und Sie haben den zuletzt in die Startkonfiguration gespeicherten Stand.

Sobald Sie eine Einstellung vorgenommen haben, die Sie nicht aussperrt, sehen Sie oben neben dem Benutzernamen einen Link zum Speichern der Aktuellen Konfiguration in die Startkonfiguration.

Konfiguartion speichern
VLANs anlegen

Das VLAN für den Internetzugang hat die VLAN-ID 2, das Schüler-WLAN die VLAN-ID 10 und das Schulnetz die VLAN-ID 16.

VLAN-Einstellungen

Wählen Sie VLAN-Verwaltung -> VLAN-Einstellungen und klicken auf Hinzufügen.

Es öffnet sich ein Dialogfenster, mit dem Sie die VLANs hinzufügen können.

VLAN-Hinzufügen

Fügen Sie die VLANs wie im Bild hinzu.

VLAN-Übersicht

Sobald alle VLANs hinzugefügt sind, schließen Sie das Fenster. Die VLANs sollten jetzt aufgeführt sein.

Jetzt wäre ein guter Zeitpunkt, um die Ausgeführte Konfiguartion zu speichern.

Ausgeschlossen, Getaggt, Ungetaggt und PVID

Für jeden Switchport und für jedes VLAN muss festgelegt werden, ob das VLAN mit der VLAN-ID x ausgeschlossen, getaggt akzeptiert oder Datenpakete, die mit der VLAN-ID x getaggt sind, ungetaggt weitergeleitet werden.

Ausgeschlossen:
Datenpakete, die mit der VLAN-ID x getaggt sind, werden verworfen.
Getaggt:
Datenpakete, die mit der VLAN-ID x getaggt sind, werden weitergeleitet.
Ungetaggt:
Von Datenpaketen, die mit der VLAN-ID x getaggt sind, wird die VLAN-ID entfernt und zum Client weitergeleitet. Die meisten Clients können mit getaggten Datenpaketen nichts anfangen.
PVID:
Bie einem Port, der mit der PVID x markiert ist, werden alle ungetaggten Datenpakete des Clients mit der VLAN-ID x getaggt.
Den Ports die VLANs zuweisen
VLAN-Topologie
Port 1:
Der Hypervisor ist über ein Netzwerkkabel mit Port 1 des Switches verbunden. Der Port 1 ist getaggtes Mitglied der VLANs 2, 10 und 16.
Port 2-5:

Die APs sind im Schulnetz und werden über ein ungetaggtes VLAN verwaltet. VLAN 16 ist ungetaggt und PVID ist 16.

Zusätzlich soll das Schüler-WLAN vom AP ausgestrahlt werden. Um es vom Schulnetz zu trennen, muss es getaggt am AP ankommen. VLAN 10 ist getaggt.

Port 7-8:
Die Clients sind nur im Schulnetz und arbeiten mit ungetaggten Datenpaketen. VLAN 16 ist ungetaggt und PVID ist 16.
Port 9:
Auch der Router arbeitet mit ungetaggten Datenpaketen. VLAN 2 ist ungetaggt und PVID ist 2.
Port 10:
Über diesen Port wird der Switch gemanaged. Er ist das einzige Mitglied des Standard VLAN 1. Damit ist der Switch weder über das WLAN noch über das Schulnetz managebar.
Schritt für Schritt

Wählen Sie VLAN-Verwaltung -> Port-VLAN.

VLAN1

In der Grundeinstellung ist für jeden Port VLAN 1 ungetaggt und PVID 1 eingestellt.

Da der Switch nur über den Port 1 verwaltet wird, verbieten Sie den Ports 1 bis 9 die Mitgliedschaft zu VLAN 1 und bestätigen anschließend mit Übernehmen. Man beachte, dass dabei PVID 1 automatisch gelöscht wird.

Nun wählen Sie die VLAN-ID 2 und klicken auf Los.

VLAN2

Für Port 1 wählen Sie getaggt und für Port 9 Ungetaggt. Dabei wird PVID automatisch selektiert.

Jetzt ist VLAN 10 an der Reihe.

VLAN10

Für die Ports 1 bis 5 wählen Sie getaggt.

Und schließlich noch VLAN 16.

VLAN16

Da die APs und die Clients im Schulnetz sind, sind die Ports 2 bis 8 ungetaggt und PVID ist gesetzt.

Über VLAN-Verwaltung -> Port-VLAN-Mitgliedschaft erhält man eine Zusammenfassung.

Zusammenfassung

Jetzt wäre ein guter Zeitpunkt zum Speichern der Konfiguration.

Der Unifi-Kontroller

Inhalt:

Die Installation
Hardwareanforderungen
  • 3 GB RAM
  • Eine Netzwerkkarte im Schulnetz (VLAN 16)
  • 10 GB Festplatte (bei mir im Schulbetrieb sind 3,3 GB vom 40 GB belegt).
Die Grundinstallation

Bevor die Installation begonnen werden kann, muss ein Ubuntu-Server 16.04 64-Bit auf dem späteren Unifi-Kontroller installiert werden.

Schritt für Schritt

Starten Sie vom Installationsmedium und wählen Sie die Sprache.

Sprachenauswahl

Wählen Sie Ubuntu Server installieren.

Bestätigen Sie die Installation in der gewählten Sprache.

Ist der Rechner bereits in /etc/linuxmuster/workstations, so ist der Rechnername bereits in der Eingabemaske eingetragen.

Rechnername

Wählen Sie einen Benutzer, seinen Benutzernamen und das Passwort.

Verschlüsseln Sie Ihren persönlichen Ordner nicht!

Home verschlüsseln

Wählen Sie vollständige Festplatte verwenden und bestätigen Sie die Partitionierung.

Vollständige Festplatte

Es ist zu empfehlen, keine automatischen Aktualisierungen zu wählen, da Sie dann nicht von unerwarteten Aktualisierungen überrascht werden.

Keine Updates

An Software gibt es nichts Besonderes zu wählen.

Softwareauswahl

Beenden Sie die Installation und starten Sie den Rechner neu.

Die Installation der Unifi-Pakete

Der Rechner muss upgedatet, die Paketquellen müssen ergänzt und das Unifi-Paket installiert werden.

Schritt für Schritt

Die englische Anleitung von Unifi finden Sie hier.

Melden Sie sich an.

öffnen Sie eine root-shell mit sudo -i

Updaten Sie den Rechner mit

apt-get update
apt-get dist-upgrade

Editieren Sie die Datei /etc/apt/sources.list und fügen Sie die folgende Zeile hinzu:

deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti

Fügen Sie den GPG-key hinzu:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 06E85760C0A52C50

Nochmal updaten, unifi installieren und neu starten:

sudo apt-get update
sudo apt-get install unifi
reboot
Die Grundkonfiguration

Hier werden die Standardsprache sowie der Adminaccount gewählt und es können die APs aufgenommen werden.

Schritt für Schritt

Öffnen Sie von einem Rechner im Schulnetz mit einem Browser https://unifi:8443 (falls der Unificontroller in der Datei workstations unifi heißt).

Da der Unifi-Kontroller mit einem selbstzertifizierten Zertifikat arbeitet, werden Sie eine Zertifikatswarnung erhalten.

Sprachenauswahl

Wählen Sie Germany als Land und klicken Sie auf weiter.

Geräteauswahl

Wählen Sie die Geräte aus, die Sie mit dem Unifi-Kontroller managen wollen (also alle) und klicken auf WEITER.

SSID einrichten

An dieser Stelle überspringen Sie die Einrichtung eines WLANs. Das wird später ausführlich beschrieben.

admin

An dieser Stelle wird ein Administrator-Zugang angelegt.

Cloud

Überspringen Sie auch diesen Schritt.

Bestätigung

Bestätigen Sie schließlich Ihre Einstellungen.

Einrichtung des Lehrer-WLANs

Im Lehrer-WLAN sind alle schuleigenen Geräte und die Geräte der Lehrer.

So könnte beispielsweise ein Lehrer mit seinem Smartphone eine Aufgabe abfotografieren und zum Beamer schicken. Oder er könnte einen Film per Smartphone direkt über einen Beamer abspielen.

Attention

All diese Geräte müssen in die Datei workstations aufgenommen sein.

Hint

Schülergeräte haben in diesem Netzwerk nichts zu suchen. Denn Schüler sollen nicht in der Lage sein, Filmchen per Handy zu starten.

Schritt für Schritt

Öffnen Sie von einem Rechner im Schulnetz den Unifi-Kontroller https://unifi:8443 und melden Sie sich an.

Einstellungen

Klicken Sie unten links auf Einstellungen. Gehen Sie auf drahtlose Netzwerke .

Drahtlose Netzwerke

Es ist bereits eine WLAN-Gruppe Default eingerichtet. Die wird Ihnen für den Betrieb in einer Schule ausreichen.

Wie erwartet sind noch keine drahtlosen Netzwerke eingerichtet. Für Ihr erstes WLAN klicken Sie auf NEUES DRAHTLOSES NETZWERK HINZUFÜGEN.

Netzwerke hinzufügen

Geben Sie dem Lehrernetz einen Namen (z.B. Lehrer).

Wählen Sie die Verschlüsselung WPA Personal und ein Passwort.

Wählen sie nicht Gastrichtlinie. Im Schulnetz wollen Sie keine Gäste!

Wenn Sie möchten, verbergen Sie die SSID. Was Schüler nicht sehen, macht sie nicht neugierig.

Speichern Sie die Einstellungen.

Das Lehrernetz ist nun eingerichtet und wird auf alle APs ausgerollt.

Einrichtung des Schüler-WLANs

Im Schüler-WLAN sind die Geräte der Schüler. Es liegt im blauen Netz des IPFire. Der Netzwerk-Schlüssel des Schüler-WLANs basiert auf ihrem Benutzernamen und ihrem Kennwort.

Schritt für Schritt

Installieren Sie auf dem linuxmuster.net-Server das Paket linuxmuster-freeradius. Siehe Authentifizierung mit RADIUS

Melden Sie sich am Unifi-Kontroller an https://unifi:8443.

Gehen Sie zu Einstellungen -> Profile -> NEUES RADIUS-PROFIL ERSTELLEN.

Radiusprofil

Geben Sie dem neuen Radius-Profil einen Namen.

Tragen Sie bei Radius-Authentifikationsserver die IP-Adresse des linuxmuster.net-Servers und das Passwort für die APs ein.

Speichern Sie die Einstellungen.

Gehen Sie zu Einstellungen -> Drahtlose-Netzwerke -> NEUES DRAHTLOSES NETZWERK HINZUFÜGEN.

Schülernetz

Geben Sie dem Schüler-WLAN einen Namen.

Sicherheit ist WPA Enterprise.

Wählen Sie das vorher definierte Radius-Profil.

Da das blaue Netz des IPFire als getaggtes VLAN mit der VLAN-ID 10 zu den APs kommt, setzen Sie ein Häkchen bei VLAN und geben die VLAN-ID 10 ein.

Speichern Sie die Enstellungen.

Das Schüler-WLAN wird jetzt an die APs ausgerollt.

Gast-WLAN mit Gutschein / Voucher

Unifi unterstützt auch WLAN-Gutscheine (WLAN-Voucher).

Voucherbeispiel

Bei einem WLAN-Gutschein meldet man sich, wie in einigen Hotels, an einem unverschlüsselten Gästenetz an und wird auf eine Anmeldeseite umgeleitet. Dort gibt man einen Gutschein-Code ein.

Der Unifi-Controller unterstützt zwei Arten von Gutscheinen:

Einmaliger Gebrauch:
Der Gutschein-Code ist nur für ein Gerät gültig. Nach der Anmeldung kann man mit seinem Gerät so lange ins Internet, bis der Gutschein abgelaufen ist. Das Gerät kann sich in dieser Zeit unbegrenzt mit dem Gäste-WLAN neu verbinden.
Mehrmaliger Gebrauch:
Der Gutschein-Code ist für beliebig viele Geräte gültig. Sobald sich das erste Gerät mit dem Gutschein-Code angemeldet hat, beginnt die Gültigkeit des Gutscheins abzulaufen. Solche Gutscheine eignen sich beispielsweise für VHS-Kurse, die keine Accounts im Schulnetz haben.
Schritt für Schritt

Melden Sie sich an und gehen Sie auf Einstellungen -> Gastkontrolle.

Gastrichtlinien

Im Bereich Gastrichtlinien setzen Sie ein Häkchen bei Gastzugang aktivieren.

Bei Authentifizierung wählen Sie Hotspot.

Hat HTTPS-Umleitung aktivieren ein Häkchen, so werden Clients auch dann umgeleitet, wenn Sie auf HTTPS-Seiten surfen. Leider erhält man dann eine Zertifikatswarnung, da der Unifi-Kontroller mit einem selbstsignierten Zertifikat arbeitet. Allerdings leiten viele Betriebsysteme von selbst auf das Gastportal um.

Portal-Anpassung

In der Portal-Anpassung wählen Sie die Template-Engine AngularJS und fügen die Sprache Deutsch hinzu.

Den Rest der Einstellungen können Sie so lassen.

Portal-Anpassung

Unter HOTSPOT setzen Sie ein Häkchen bei Gutscheine.

In der Zugriffskontrolle müssen Sie den Zugriff auf den Unifi-Kontroller noch vor der Anmeldung erlauben, da man sonst nicht auf die Anmeldeseite kommt.

Gehen Sie auf ÄNDERUNGEN ANWENDEN. Damit werden die Änderungen gespeichert und auf die APs ausgerollt.

Firewall-Regeln für den IPFire

Damit die Clients überhaupt auf den Unifi-Kontroller zugreifen können, muss eine neue Firewallregel für den IPFire angelegt werden:

Schritt für Schritt

Öffnen Sie den IPFire https://ipfire:444 und melden Sie sich an.

Gehen Sie auf Firewall->`Firewallregeln`.

Wahlen Sie Neue Regel erstellen.

IPFire-Regel

Machen Sie die folgenden Eingaben:

Quelle:
Standard-Netzwerk: BLAU
Ziel:
Zieladresse: IP-Adresse des Unifi-Kontrollers
Protokoll:
Alle
Weitere Einstellungen:
Setzen Sie einen Haken bei Regel aktivieren.

Speichern Sie die Regel mit Hinzufügen und vergessen Sie nicht, die Änderungen zu übernehmen.

Bemerkung

Statt alle Protokolle zu erlauben, reicht es, die Zielports 8880 und 8443 freizugeben. Dazu müssen Sie für jeden Port eine Regel definieren.

Port 8880
Port 8443
WLAN-Gutscheine / Voucher erstellen

Jetzt müssen die Gutscheine noch erzeugt und ausgedruckt werden.

Schritt für Schritt

Gehen Sie auf https://unifi:8443/manage/hotspot und melden Sie sich an.

Voucherbeispiel

Gehen Sie auf GUTSCHEINE->`GUTSCHEIN ERSTELLEN`.

Voucherbeispiel

Füllen Sie die Felder des Dialogfensters aus und speichern Sie Ihre Eingabe.

Voucherbeispiel

In dieser Ansicht sehen Sie alle gültigen Gutscheine.

Sie haben die Möglichkeit, einzelne Gutscheine, alle nicht benutzten Gutscheine oder alle Gutscheine, die an einem bestimmten Zeitpunkt erstellt wurden, zu drucken.

Hier können Sie auch Gutscheine löschen.

Authentifizierung mit RADIUS

Viele Geräte und Anwendungen, wie z.B. Access Points, Captive Portals oder Wireless Controller, bieten neben einer einfachen Benutzerauthentifizierung auch eine Überprüfung mit Hilfe eines RADIUS-Servers an (WPA-Enterprise, 802.1X).

Installation & Konfiguration

Radius-Server installieren

In den Paketquellen von Linuxmuster.net gibt es das Paket linuxmuster-freeradius. Installieren Sie das Paket mit

$ apt-get install linuxmuster-freeradius
Firewall konfigurieren

Nun muss die Firewall konfiguriert werden, damit die Anfragen auch auf dem Server ankommen (UDP, Port 1182). Dazu bearbeitet man die Datei /etc/linuxmuster/allowed_ports und fügt in der Zeile “udp” den entsprechenden Port hinzu.

...
udp domain, ... , 1812

Damit die Änderungen auf der Firewall (IPFire) wirksam werden, geben Sie bitte folgenden Befehl ein:

$ service linuxmuster-base restart

Falls Sie eine andere Firewall als die empfohlene Firewalllösung (IPFire) verwenden, müssen Sie die entsprechende Firewallregel selbst einrichten!

Radius-Servers testen

In der Datei /etc/freeradius/users in der folgenden Zeile das Kommentarzeichen (#) entfernen.

steve  Cleartext-Password := "testing"

Als nächstes überprüft man, ob localhost in der Datei /etc/freeradius/clients eingetragen ist. Dieser Eintrag kann nach dem Test wieder entfernt werden.

client localhost {
   ipaddr = 127.0.0.1
   secret = testing123
}

Nun kann man, nach einem Neustart des Radius-Servers, die Authentifizierung für diesen User testen.

$ service freeradius restart
$ radtest steve testing 127.0.0.1:1812 10 testing123

Als Ausgabe sollte man folgendes erhalten:

 $ radtest steve testing 127.0.0.1:1812 10 testing123
 Sending Access-Request of id 34 to 127.0.0.1 port 1812
        User-Name = "steve"
        User-Password = "testing"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=34, length=20

Wenn man eine ähnliche Ausgabe erhält, kann nun der Zugriff auf das LDAP-Verzeichnis eingerichtet werden, damit man sich mit seinem Benutzernamen und Passwort der linuxmuster.net anmelden kann. Dazu muss der Client (Access Point, Captive Portal Server, Wireless Controller) in die Datei /etc/freeradius/clients eingetragen werden. Bitte passen Sie den Client Namen, die IP-Adresse und das Passwort entsprechend an.

client captivePortal {
   ipaddr = 10.16.1.254
   secret = geheim
}
Radius-Server konfigurieren

Für die Authentifizierung mit einem Radius-Server gibt es verschiedene Protokolle, welche festlegen, wie die Übertragung und Authentifizierung abläuft. Dieses kann man in der Datei /etc/freeradius/eap.conf festlegen. Überprüfen Sie folgende Einstellungen und entfernen Sie, falls notwendig, die Kommentarzeichen.

eap {
   ...
   default_eap_type = peap
   ...
}

...
peap {
   ...
   default_eap_type = mschapv2
   ...
}

MD5 kommt als Protokoll nicht in Frage, da die Passwörter nicht als MD5 im LDAP gespeichert sind!

Überprüfen Sie weiterhin den Parameter auto_header in der Datei /etc/freeradius/radiusd.conf.

pap {
   auto_header = yes
}

LDAP

LDAP Zugriff einrichten

Bei der Installation von Linuxmuster.net wurde bereits die notwendige Konfiguration in der Datei /etc/freeradius/radiusd.conf vorgenommen. Suchen Sie in der Datei den Abschnitt, der den LDAP betrifft und überprüfen sie folgende Angaben:

...
ldap {
   ...
   server = "localhost"
   identity = "cn=admin,dc=linuxmuster-net,dc=lokal"
   password = geheim
   basedn = "ou=accounts,dc=linuxmuster-net,dc=lokal"
   filter = "(uid=%u)"
   ...
}
...

Das benötige Passwort kann mit folgendem Befehl angezeigt werden:

$ cat /etc/ldap/slapd.conf | grep rootpw

Aktivieren Sie nun in der Datei /etc/freeradius/sites-available/default UND /etc/freeradius/sites-available/inner-tunnel die LDAP-Authentifizierung, d.h. entfernen Sie bei den jeweiligen Zeilen zu LDAP die Kommentarzeichen.

...
authorize {
   ...
   ldap
   ...
}
...
authenticate {
   ...
   Auth-Type LDAP {
      ldap
   }
   ...
}

Am Ende starten Sie die Radius-Server neu:

$ service freeradius restart
LDAP-Authentifizierung testen

Geben Sie folgenden Befehl ein (Benutzernamen und Passwort anpassen!):

$ radtest user password localhost 10 testing123
....
rad_recv: Access-Accept Packet from ...

Falls Sie ein Access-Accept Packet erhalten haben, war die Authentifizierung erfolgreich!

Weitere Einstellungen

Zugriffsbeschränkung aktivieren

Wenn man den Radius-Server zur Authentifizierung im WLAN benutzt und nur bestimmte Nutzer Zugriff erhalten sollen (z.B. alle Mitglieder der Gruppe p_wifi), so muss man in der Datei /etc/freeradius/users folgende Änderung vornehmen bzw. hinzufügen:

...
DEFAULT Group != p_wifi
DEFAULT Auth-Type := Reject
   Reply-Message = "Your are not allowed to access the WLAN!"
...

Alternativ kann man auch die entsprechende LDAP-Gruppe direkt abfragen.

...
DEFAULT Ldap-Group == "cn=p_wifi,ou=groups,dc=linuxmuster-net,dc=lokal"
DEFAULT Auth-Type := Reject
   Reply-Message = "Your are not allowed to access the WLAN!"
...

Im Abschnitt ldap {...} in der Datei /etc/freeradius/radiusd.conf muss noch der entsprechende Filter aktiviert werden:

...
groupmembership_filter = (&(objectClass=posixGroup)(memberUid=%u))
...
Logging aktivieren

In der Datei /etc/freeradius/radiusd.conf kann das Logging von Authentifizierungs-Anfragen eingeschaltet werden. Die Log-Datei ist: /var/log/freeradius/radius.log. Vergessen Sie nicht den Neustart des Radius-Servers!

log {
   ...
   auth = yes
   ...
}

Drucker

Drucker auf dem Server und Clients einrichten

Welche Informationen benötige ich vorab?

Um mit linuxmuster.net mit Druckern zu arbeiten, ist es erforderlich, dass Netzwerkdrucker zur Verfügung stehen. Es können entweder Drucker mit eingebauen Netzwerkkarten (Printservern) eingesetzt, oder bisherige Drucker mit einer geeigneten sog. “Printserver-Box” in das Netzwerk eingebunden werden.

Vor dem Hinzufügen und Einrichten von Druckern in linuxmuster.net ist es sehr hilfreich, vorab nachstehende Informationen zu erfassen:

  • die genaue Bezeichnung des Druckermodells
  • mögliche Treiber für Linux, Windows und ggf. andere Clients
  • MAC-Adresse des Druckers
  • Raum / Standort des Druckers
  • IP-Adresse gemäß des genutzen Adressschema

Die meisten Netzwerkdrucker sind bei Auslieferung so eingestellt, dass diese eine IP-Adresse via DHCP beziehen. Die IP-Adresse für den Drucker kann dann einfach in der Schulkonsole gesetzt werden.

Caution

Im folgenden Skript werden Änderungen an der Schulkonsole vorgenommen. Alternativ können Änderungen meist auch über ein Terminal direkt in den Konfigurationsdateien auf dem Server vorgenommen werden. Das Mischen beider Verfahren ist zu vermeiden und Fachkundigen zu überlassen.

Wie füge ich Drucker hinzu?

Viele Printserver und Netzwerkdrucker sind in der Lage Ihre IP-Adresse von einem DHCP-Server zu beziehen. Zuerst muss der Drucker am Server mithilfe der Schulkonsole hinzugefügt werden. Hierbei wird dem Drucker ein Name sowie eine IP-Adresse zugewiesen.

Für das folgende Beispiel nehmen wir an, der Drucker stehe in Raum “R203”, bekomme den Namen “r203-pr01”, habe die MAC-Adresse “00:11:22:33:44:55” und bekomme entsprechend einem IP-Adressschema die IP-Adresse 10.16.203.101.

Melden Sie sich als administrator in der Schulkonsole (https://server:242) an. Wählen Sie dort die Reiterkarte “Hosts” aus und fügen Sie den Drucker gemäß dem nachstehenden Schema hinzu:

_images/drucker-hinzufuegen-server.png

Die Option PXE ist zu deaktivieren, da die Drucker nicht via PXE starten.

Bestätigen Sie den Eintrag mit “Änderungen übernehmen”.

Ein Neustart des Druckers ist empfehlenswert, damit dieser die neue IP-Adresse übernimmt.

Wie richte ich Drucker am Server ein?

Um die eingesetzten Netzwerkdrucker serverseitig einzurichten, sind diese mithilfe eines Browsers hinzuzufügen und einzurichten.

Note

Auf dem Server ist automatisch ein PDF-Drucker eingerichtet. Auf den PDF-Drucker kann aus beliebigen Anwendungen heraus gedruckt werden. Die “gedruckte” PDF-Datei wird im Heimatverzeichnis des jeweiligen Benutzers im Ordner PDF abgelegt. Wird dieser später als Standard-Drucker festgelegt, so wird versehentliches Drucken auf einen nicht gewünschten Drucker unterbunden.

Starten Sie auf einem Rechner einen Browser, um das sog. CUPS-Webinterface zur weiteren Einrichtung der Drucker aufzurufen. Hierzu fügen Sie nachstehenden URL in der Adresszeile Ihres Browsers ein

https://server:631

Da meist nur ein selbst-signiertes Zertifikat auf dem Server installiert ist, ist es sicher nötig, dem benutzen Browser die sichere Kommunikation ausnahmsweise zu erlauben (SSL-Zertifikat akzeptieren).

Drucker hinzufügen

Rufen Sie zunächst die Reiterkarte Verwaltung auf. Es erscheint nachstehende Maske:

_images/cups-server1.png

Warning

Ändern Sie keine Konfiguration auf dieser Seite, das bleibt den Skripten von linuxmuster.net und einer manuellen Konfiguration in den Textdateien auf dem Server vorbehalten.

Klicken Sie auf der Maske unter Drucker –> Drucker hinzufügen. Es erscheint nachstehende Maske:

_images/cups-server3.png

In diesem Dialog müssen Sie angeben, auf welche Weise der Drucker mit dem Server verbunden ist. Unter Umständen werden Netzwerkdrucker erkannt (im Beispiel “HP Officejet”).

Bei nicht erkannten Netzwerkdruckern ist im Normalfall die Option “AppSocket/HP JetDirect” korrekt. Sind Sie unsicher, schauen Sie im Handbuch des Druckers / Printservers nach, welche Option für Ihren Drucker zutrifft.

Klicken Sie auf Weiter, um zum nächsten Dialog zu gelangen. Wurde eine Option unter “Andere Netzwerkdrucker” ausgewählt, so muss die genaue Verbindung manuell angegeben werden und es folgt folgender Dialog, andernfalls wird folgender Dialog übersprungen:

_images/cups-server4.png

Im Falle eines Netzwerkdruckers müssen Sie hier die IP-Adresse oder den Hostnamen und zusätzlich bei Verwendung eines Print-Servers, der über mehrere Anschlüsse verfügt, noch die Warteschlange anzugeben. Zum Beispiel:

socket://10.16.203.101/lpt1

Im Zweifelsfall sollte auch hier die Bedienungsanleitung des Printservers weiterhelfen. Klicken Sie auf Weiter, um zum nächsten Dialog zu gelangen.

_images/cups-server2.png

In dieser Maske muss für den Drucker ein Name vergeben werden (zum Beispiel r203-pr01 oder h109drucker). Der hier vergebene Name gilt zugleich als Freigabename für Linux- und für Windows-Clients. Die restlichen Angaben sind zwar optional, sollten aber eingegeben werden, um die Zuordnung nachvollziehbar zu halten.

Klicken Sie auf Weiter, um zur Auswahl des Druckermodells zu gelangen.

_images/cups-server5.png

Wählen Sie in Liste Ihr Druckermodell aus. Mit Weiter werden Treiber zur Auswahl angeboten. Stehen für Ihr Modell mehrere Treiber zur Auswahl stehen, wählen Sie den empfohlenen Treiber (recommended) aus. Sollte Ihr Modell nicht in der Liste erscheinen, laden Sie über den Button Durchsuchen die sog. PPD-Datei für Ihren Drucker hoch. Die PPD-Datei ist beinhaltet einen Treiber für den Drucker für Linux. Diese Treiber erhalten Sie auf der Seite Ihres Druckerherstellers. Laden Sie diese lokal herunter. Danach können Sie die PPD-Datei auf den linuxmuster.net Server mit o.g. Dialog hochladen.

_images/cups-server6.png

Eventuell kann Ihr Drucker auch mit der Marke “Generic” und einem entsprechenden Treiber (z.B. “Generic PCL 5e … (recommended)”) bereits drucken.

Mit Klick auf Drucker hinzufügen schließen Sie die Druckerinstallation. Dafür benötigt das CUPS-Webinterface die Authentifizierung als administrator.

_images/cups-server-anmeldung.png

Danach gelangen Sie zur Einstellungsseite des Druckers.

Drucker konfigurieren
_images/cups-server7.png

Hier können Sie abhängig vom Druckermodell verschiedene Einstellungen für das Standardverhalten des Druckertreibers vornehmen (zum Beispiel die Seitengröße auf A4 einstellen, Duplexdruck etc., falls dies nicht standardmäßig vorgesehen ist).

Klicken Sie im Dialog für die Standardeinstellungen auf den Menüpunkt Richtlinien, um hier das Verhalten des Druckers im Fehlerfall festzulegen.

_images/cups-server7a.png

Geben Sie unter “Fehlerbehandlung” abort-job an, um sicherzustellen, dass CUPS im Fehlerfall den Druckjob löscht.

Über den Knopf Standardeinstellungen festlegen werden Sie schließlich zur Verwaltungsseite des neu eingerichteten Druckers weitergeleitet:

_images/cups-server8.png

Hier können Sie

  • eine Testseite ausdrucken lassen,
  • den Drucker (die Ausführung von Druckaufträgen) stoppen und wieder starten,
  • die Entgegennahme von Druckaufträgen sperren und wieder freischalten,
  • die Druckereinrichtung wiederholen, um IP-Adresse oder Druckertreiber zu ändern,
  • die Druckereinstellungen anpassen oder
  • erlaubte Benutzer festlegen.

Nun ist Ihr Netzwerkdrucker betriebsbereit und kann auf den Arbeitsstationen eingerichtet werden.

Angesprochen wird obiger Drucker über den URL:

http://server:631/printers/r203-pr01

PDF-Drucker aktivieren

Der standardmäßig eingerichtete PDF-Drucker wird über den URL

http://server:631/printers/PDF-Printer

angesprochen. Jetzt kann auch über den PDF-Drucker in eine PDF-Datei gedruckt werden, die auf dem Server im Homeverzeichnis des Benutzers im Unterverzeichnis PDF abgelegt wird.

Wie verwalte ich den Zugriff auf die Drucker?

Zunächst ist jeder neu eingerichtete Netzwerkdrucker im gesamten Netz an jeder Arbeitsstation verfügbar. Sie können jedoch den Druckerzugriff auf bestimmte Räume und/oder Arbeitsstationen beschränken.

Melden Sie sich dazu als Benutzer administrator auf der Schulkonsole ein und gehen Sie zur Druckerseite. Diese erreichen Sie entweder über den Menüpunkt Drucker in der Schulkonsole, oder Sie geben in der Adresszeile der Browser nachstehende Adresse ein:

https://server:242/schulkonsole/printers

Sie sehen eine Liste mit den in Ihrem Schulnetz verfügbaren Netzwerkdruckern.

_images/drucker-overview.png

Sind einem Drucker Räume oder Rechner zugeordnet, sind diese hier ebenfalls aufgelistet. Ist ein Drucker weder einem Raum noch einem Rechner zugeordnet, ist er ohne Einschränkung netzweit verfügbar.

Um einem Drucker einen Raum zuzuordnen, klicken Sie auf Bearbeiten und ordnen über die Pfeile wie im unten abgebildeten Dialog den Raum zu.

_images/drucker-assign-room.png

Attention

Ist ein Drucker einem Raum bzw. Rechner zugeordnet, so ist der Zugriff von anderen Räumen bzw. Rechnern aus gesperrt. In diesem Fall müssen Sie dem Drucker zusätzlich diejenigen Räume/Rechner zuordnen, die ebenfalls Zugriff auf den Drucker haben sollen. Nur wenn ein Drucker einem entsprechenden Raum zugeordnet wurde, kann ein Lehrer über die Schulkonsole (im Bereich Aktueller Raum) den Zugriff auf diesen Drucker steuern.

Wie richte ich Drucker auf den Clients ein?

Clientseitig müssen Drucker über das HTTP-Protokoll eingerichtet werden, damit die raumbezogene Druckerzugriffskontrolle über die Schulkonsole funktioniert. Die URL für die Druckerverbindung wird nach folgendem Schema zusammengesetzt:

http://<servername>:631/printers/<Druckername>

PDF Drucker

Beispielhaft wird der standardmäßig eingerichtete PDF-Drucker über die URL

http://server:631/printers/PDF-Printer

angesprochen. Damit der PDF-Drucker auf dem Client genutzt werden kann, muss auf dem Client ein Standard-Postskript-Drucker eingerichtet werden.

Linux Clients

Die Druckerinstallation auf den Clients erfolgt automatisch mithilfe eines sog. universellen Postsync - Scripts. Voraussetzung ist, dass die Drucker bereits auf dem Server eingerichtet wurden und als Linux Client das vorkonfigurierte Musterimage (Cloop) genutzt wird. Dieses gibt es für Ubuntu 14.04 (trusty) und Ubuntu 16.04 (xenial).

Auf dem Server existiert dann folgende Datei in einem der Verzeichnisse:

/var/linbo/linuxmuster-client/trusty/common/etc/hosts
/var/linbo/linuxmuster-client/xenial/common/etc/hosts

Diese Datei weist nachstehende Rechte auf:

-rw-r--r-- 1 root root 459 Jul 18 2014 hosts

In dieser Hosts Datei findet sich folgender Inhalt, der dann mithilfe des Postsync-Scripts rechnerspezifisch angepasst wird:

# Diese Datei wird per postsync gepatcht. Zu bearbeiten ist sie auf dem Server.
# Pfad: /var/linbo/linuxmuster-client/trusty/common/etc/hosts
# HOSTNAME wird im Postsyncskript mit dem echten Namen gepatcht
127.0.0.1    HOSTNAME
#Die nächste Zeile enthält die Hostnamen so, wie sie auf dem Server eingetragen sind...
#SERVERIP server.linuxmuster.local server
# damit CUPS zufrieden ist, muss noch diese Zeile hier dazu:
#SERVERIP  server.lokal server.local

Das Postsync-Script liegt im Verzeichnis:

/var/linbo/<LinuxImagename>.cloop.postsync

Es weist folgende Rechte auf:

-rw-rw---- 1 root root

In dem Postsync-Script finden sich folgende Eintragungen (hier für Trusty-Cloop):

echo "##### trusty-linuxmuster POSTSYNC BEGIN #####"

# IP-Adresse des Server
SERVERIP=10.16.1.1
STARTCONF=/cache/start.conf

# Raum feststellen. Dieses Skript geht davon aus
# dass die Rechner Namen der Form
# raumname-hostname haben, also z.B. cr01-pc18
RAUM=${HOSTNAME%-*}
# wenn der string leer ist, raum auf unknown setzen
if [ "x${RAUM}" == "x" ]; then
    RAUM="unknown"
fi

# Das Verzeichnis, in dem die Serverpatches
# local synchronisiert werden.
PATCHCACHE=/linuxmuster-client/serverpatches
# UVZ auf dem Server. Mit diesem Variablen kann
# man verschiedene Images bedienen (was bei linux
# selten nötig ist)
PATCHCLASS="trusty"

echo ""
echo "Hostname:      ${HOSTNAME}"
echo "Raum:          ${RAUM}"
echo "Patchcache:    ${PATCHCACHE}"
echo "Patchclass:    ${PATCHCLASS}"
echo ""
if [ ! -d /cache/${PATCHCACHE}/${PATCHCLASS} ]; then
  echo "Patchklasse ist nicht vorhanden."
  echo "Auf dem Server mit mkdir -p /var/linbo/linuxmuster-client/${PATCHCLASS}/common/ das Grundverzeichnis anlegen und dort die gepatchten Dateien ablegen."
fi

# -----------------------------------------
# Patchdateien auf das lokale Image rsyncen
# -----------------------------------------
echo " - getting patchfiles"

# RAUM     -> Raumname
# HOSTNAME -> Rechnername
# Verzeichnis anlegen, damit es sicher existiert
mkdir -p /cache/${PATCHCACHE}
rsync --progress -r "${SERVERIP}::linbo/linuxmuster-client/${PATCHCLASS}" "/cache/${PATCHCACHE}"

echo " - patching local files"
# zuerst alles in common
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common ]; then
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/common/* /mnt/
fi

# dann raumspezifisch
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM} ]; then
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/* /mnt/
fi

# dann rechnerspezifisch
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME} ]; then
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/* /mnt/
fi

# -----------------------------------
# Berechtigungen anpassen, wenn nötig
# -----------------------------------
echo " - setting permissions of patched local files"

# printers.conf
#[ -f /mnt/etc/cups/printers.conf ] && chmod 600 /mnt/etc/cups/printers.conf

# .ssh verzeichnis
#chmod 700 /mnt/root/.ssh/
#chmod 600 /mnt/root/.ssh/authorized_keys

# hostname in /etc/hosts patchen
sed -i "s/HOSTNAME/$HOSTNAME/g" /mnt/etc/hosts
sed -i "s/#SERVERIP/$SERVERIP/g" /mnt/etc/hosts

# fstab anpassen, damit Swap-Partition stimmt
echo "---- hier beginnen wir mit dem debuggen:"
SWAPZEILENNR=$(grep -i "^fstype" $STARTCONF | cut -d"#" -f1 | grep -n -i "swap" | cut -d":" -f1)
echo Swapzeilennummer: $SWAPZEILENNR
SWAP=$(grep -i "^dev" -m $SWAPZEILENNR $STARTCONF | tail -n1 | cut -d"=" -f2 | tr -d [:blank:]|head -c9)
echo Swap: $SWAP
sed -i "s|#dummyswap|$SWAP|g" /mnt/etc/fstab

echo "##### trusty-linuxmuster POSTSYNC END #####"

Note

Hinweis für linuxmuster.net Version 6.2

Sollte bei Verwendung des Postsync-Scripts auf dem Client ein Drucker nicht ansteuerbar sein, obwohl dieser am Server eingerichtet wurde, so sollten noch am CUPS-Dienst des Servers alle sog. CUPS-browsed Einträge und für den CUPS-Dienst des Clients alle Browse-Poll Einträge entfernt werden. Dies liegt daran, dass auf dem Server eine ältere CUPS-Version installiert ist als auf den Clients, deren CUPS-Version ab Ubuntu 14.04 aktueller ist.

Die Einträge sind wie folgt zu entfernen:

Server-Cups: Datei /etc/cups/cupsd.conf - alle Einträge mit cups-browsed auskommentieren Client-Cups: Datei /etc/cups/cupsd.conf - alle Einträge mit BrowsePoll auskommentieren

Alternativ: Druckerinstallation manuell

Die Druckerinstallation auf dem Linux-Client lässt sich wie auf dem Server mit Hilfe des CUPS-Webinterfaces bewerkstelligen. Loggen Sie sich auf dem Client mit einem Browser über die URL http://localhost:631/admin als lokaler Benutzer administrator auf der CUPS-Administrationsseite ein.

_images/drucker-linux1.png

Klicken Sie hier unter der Rubrik Drucker auf Drucker hinzufügen.

Wählen Sie im nächsten Schritt als Netzwerkdrucker Internet-Druckprotokoll (https).

Wählen Sie im nächsten Schritt für unter Drucker hinzufügen die korrekte Adresse. Wird der Netzwerkdrucker über den linuxmuster.net Server angesteuert, so ist dessen Adressen anzugeben:

**https://10.16.1.1/printers<druckername>**

Wählen Sie danach die korrekte Druckermarke für den einzurichtenden Drucker aus.

Wählen Sie abschliessend das geeignete Druckermodell aus, oder wählen Sie eine eigene sog. PPD-Datei aus, die auf dem Client installiert werden soll.

Die weiteren Einrichuntsschritte entsprechen denen, wie sie auf dem Server bereits ausgeführt wurden.

Attention

Hier finden Sie die einzelnen Schritte:

Wie richte ich Drucker am Server ein?

Windows Clients

Melden Sie sich lokal am Windows-Client als administrator an und rufen Sie den Druckerinstallations-Assistnten auf, oder starten Sie den Druckerinstallations-Assistenten als Benutzer administrator. Den Druckerinstallations-Assistenten rufen Sie wie folgt auf: ** Systemsteuerung –> Hardware und Sound –> Geräte und Drucker –> Drucker**

Wählen Sie im Assistnten im Dialog Drucker hinzufügen die Option Einen Netzwerk-, Drahtlos- oder Bluetoothdrucker hinzufügen.

_images/win7druck1.png

Im folgenden Dialogfenster beenden Sie die Druckersuche und gehen über die Schalftfläche Der gesuchte Drucker ist nicht aufgeführt zum nächsten Schritt.

_images/win7druck2.png

Wählen Sie nun die Option Freigegebenen Drucker über den Namen auswählen und schreiben die Drucker-URL gemäß der Vorgabe aus dem Abschnitt Druckereinrichtung in das Eingabefeld (Beispiel http://server:631/printers/Netzwerkdrucker).

_images/win7druck3.png

Nach Abschluss der Treiberinstallation steht der Drucker in unserem Beispiel als Netzwerkdrucker auf http://server:631 zur Verfügung.

Beispiel: PDF-Drucker

Für die Nutzung des PDF-Druckers muss ein Postskript-Drucker eingerichtet werden. Starten Sie über den Druckerinstallations-Assistenten die Installation eines Netzwerkdruckers und geben als Netzwerkpfad die URL des PDF-Printers an (siehe Wie füge ich Drucker hinzu?). Wählen Sie im weiteren Verlauf des Installationsdialogs das Druckermodell MS Publisher Color Printer, das unter Hersteller Generic aufgeführt ist:

_images/win7druck4.png

Nach Abschluss der Druckerinstallation steht der PDF-Drucker als PDF-Printer an http://server:631 zur Verfügung.

Drucker nutzen - Arbeitstitel

Windows 10 Clients

This guideline helps you to install Windows 10 on a master workstation and clone it to any other clients with identical hardware.

Workstations (“Clients”) are installed in linuxmuster.net via LINBO software (“GNU / Linux Network Boot”).

Nearly all steps that require changes at server side are accomplished via webinterface. Alternatively these steps can also be executed at the server console as described in the manual :ref:’install-linux-clients-label’.

Register computer in the network

New clients are registered via the LINBO interface of the client and then recorded on the server in the system.

Registration with LINBO

However the LINBO user interface (Manual) on the Client provides a way to register a new machine to the system.

Restart the computer using PXE boot.

_images/linbo-empty-startpage.jpg

Click on the “Imaging” tab and log in with the LINBO password.

Note

In the password field, nothing is displayed. You must type it in “blind”.

_images/linbo-passwordentry.png

Now you are LINBO administrator. There is a timeout window that shows the time after which you will be logged out automatically. By clicking the checkbox, the timeout can be disabled.

_images/linbo-timeoutdialog.png

The button Register opens a dialog box where you can enter data for the client.

_images/linbo-registrationdialog.png

Note

Room
Enter the name of the room (for example, r100 or g1r100). Please note that the name of the room or the building must begin with a lowercase letter. Special characters are not allowed.
Hostname
e.g. In the form r100-pc01 (up to 15 characters), (if necessary, take the building into account g21r100-pc01). Please note that only characters and numbers are allowed as characters. Only the hyphen - may be used as a separator. You may not use spaces, underlines or other special characters (such as german Umlaute, ß or punctuation marks) under any circumstances.
IP Address
The IP address should fit to the room and must be outside the default DHCP range. Depending on your network data, you can enter e.g. 10.16.100.1 for this PC, usually not between 10.16.1.100 and 10.16.1.200 (default DHCP range).
Host Group
In the computer group, e.g. xenial, several (almost all) similar computers are combined, which get an (nearly) identical configuration.

If everything is filled in correctly, the client data is uploaded via the button Register on the server.

Note

If other clients are registered, you do not have to fill in the fields. Linbo increments automatically in the right place. E.g. its increments the hostname r100-pc01 =` r100-pc02` and the IP address 10.16.100.1 =` 10.16.100.2`. It’s clear that if you want to use the feature, you must register the computers in the correct order!

Import Registered Clients

As soon as all hosts are added, you have to start the import of the computers in the school console (school console manual) or at the console!

Since the access to the school console is only allowed by computers that are included in the system, at least the first computer must be imported manually.

Log on to the server as root and run the command line command

server ~# import_workstations

out.

If you want to register and record other clients later, browse the school console from an already imported computer: https://server:242 and log in as administrator.

On the host tab of the school console, new computers can be entered directly and all new clients appear as not yet taken over into the system. A click on the ‘Import hosts now’ button does this and the newly registered clients are imported.

_images/hosts-uebernehmen-schulkonsole.png

Configuration start.conf

School Console

Switch to the LINBO tab. Click on the left side on Edit Group Configuration and then select the group (hardware class) you want to edit.

10000000000003FC0000030089B2BD2A_png

Change the configuration according to your needs and click afterwards on the button Save changes. The settings are under the heading Systems are important.

Attention

For Windows, make sure you have a sufficiently large partition (at least 50 G recommended) because Windows takes up a lot of hard disk space. “A lot helps a lot is right here!”.

1000000000000382000003C15DFFA156_png

Create Windows 10 Image

Partition your Computer

Important

The partitioning for the operating system installation has to be done by Linbo before Windows is installed, otherwise Linbo can’t create the hard disk images.

Restart the PC on which you want to create the image and boot again from the network (PXE). You’ll get the following screen:

100000000000032A00000261ABEB2582_png

Navigate to the Imaging tab, enter the password and uncheck timeout.

100000000000032A000002612A58B1AE_png

Click the button Partition and confirm the message with Yes

100000000000032A000002611AE27D91_png

After this, you can restart the computer.

100000000000032A00000261D7ACA8F5_png

Install Windows

Insert the Windows installation disc and boot from the CD. Wait for the installation wizard to load and select your language. Confirm with Next

100000000000040A00000319F588B76C_png

Click on Install Now

100000000000040A00000319DD5ADC8E_png

Accept the license conditions and set the corresponding hook and confirm with Next.

100000000000040A00000319E918A8C7_png

Click on Custom: Install Windows only.

100000000000040A00000319A60B7FD3_png

Select the partition on which Windows should be installed. You can identify the correct partition in terms of size in GB. In our example 50GB. Click on Netx.

100000000000040A00000319B79CACB3_png

Wait until the installation has completed.

100000000000040A000003193E3F3EC2_png

Select the option Adjust settings.

100000000000040A000003163D31984A_png

Configure the privacy settings to your needs.

100000000000040A000003162FF66162_png

100000000000040A0000031696C05077_png

Now enter a user who is locally used in Windows as an administrative account. This account is not used on the network. Set a new password for the local user and click on Next.

10000000000004090000031BD6C06D3C_png

You have installed Windows on the computer and you should be redirected to the desktop.

Important

Before you shutdown the computer some adjustments have to be made. You will need the regpatch provided by linuxmuster.net.

100000000000040900000309C0521273_png

provide regpatch

To provide the regpatch for the Windows client, you have to copy it first on the server console to the home directory of pgmadmin.

$ cp /var/linbo/examples/win10.global.reg /home/administrators/pgmadmin/

1000000000000288000001884164BC97_png

Configuring Windows

Some essential settings have to be made to be able to use Windows 10.

Open the Windows Explorer and put the UNC path \\server\pgmadmin in the navigation bar to access the pgmadmin’s home directory on the server.

100000000000040900000309AD122632_png

Enter the credentials for the user pgmadmin and confirm with OK

100000000000040900000309D4AC838A_png

Copy the file win10-global to the desktop.

100000000000040900000309A0EFAE74_png

1000000000000409000003095FAC6141_png

Double-click the file and click in both dialogs on Yes.

100000000000040900000309C9151860_png

1000000000000409000003090DE77B1D_png

Important

As of Windows 10 version 1709, domain joining cannot be achieved without difficulty. With Windows 10 Prof you have to join the domain within the first 15 days after installation. Here SMB 1 Client is still installed, but will be uninstalled after 15 days if not in use. It is different with the Education and Enterprise versions, Samba 1.0 must be installed here. A manual is available at https://ask.linuxmuster.net/t/windows-10-1709-laesst-sich-nicht-in-domain-aufnehemen/1402/1 Please read first!

Click with the right mouse button on the Windows icon or press the Windows key+X. Click on System.

100000000000040900000309D7642C20_png

Click on Change Settings (next to the computer name).

1000000000000409000003093D2980DF_png

Click on Change.

100000000000040900000309727EA44E_png

Enter the computer name you assigned in Linbo for the computer. In our example, r123-pc02. Choose Domain and enter the domain name, in our example schule

100000000000040900000309AFC96356_png

Enter one of the administrator users. For example, the user domadmin with the appropriate password and confirm with Ok.

10000000000004090000030964D1E68C_png

Confirm the message with Ok, close all the windows and click on Restart Now.

100000000000040900000309827575BC_png

1000000000000409000003095F824A32_png

100000000000040900000309B4D432CA_png

After rebooting you can choose Other User in the left-bottom corner to log in with a domain user.

100000000000040900000309092F3627_png

You can now make changes to Windows. Configure the system to your needs and then shutdown Windows.

Write Image to the Server

Restart the computer, boot via pxe and switch in Linbo to the tab Imaging. Click on Create Image. Start the process by clicking on Create and Upload.

10000000000003300000026052C7AA3A_png

Hint

In this method, as long as an image with the same name already exists, the old image will be renamed and the current image takes its place as the active image.

As soon as the process is completed, you can now always reset the status of the installation to this point.

The image is available on the server.

If you want to roll it out to other computers, the image. reg has to be made available on the server. Copy the /var/linbo/win10.image.reg to /var/linbo/<BEZEICHNUNG DER RECHNERGRUPPE>.cloop.reg.

Here’s the example:

$ cp /var/linbo/examples/win10.image.reg /var/linbo/win10.cloop.reg

From now on linbo will enter the image.reg file after the sync of an operating system into the registry of the synced computer and set the hostname to the correct value.

Copy default profile

In Linuxmuster.net the user pgadmin will install software, that is planned to be used by other users. In order for all users to get the changes made during the installation, the profile of the “pgmadmin” must be copied to “Default”. To copy the profile, proceed as follows:

  1. Restart the computer after installing programs without synchronization

Attention

The restart is necessary because the profile of the “pgmadmin” can not be copied otherwise

  1. Log in as a local user with admin rights
  2. Copy the file https://www.forensit.com/Downloads/Support/DefProf.zip and unzip it to C:\Windows\system32\Defprof.exe. If Defprof.exe is already in C:\Windows\system32\, go to step 4.
  3. Run the command C:>defprof pgmadmin
  4. Log off as local user and login again as pgmadmin
  5. Shut down the computer
  6. Restart the computer and create a new image with linbo

Weiterführende Dokumentation

  • Todo: are there pages in the Anwenderwiki
  • Todo: are there howtos under docs.linuxmuster.net
  • Todo: is there development documentation or techsheets under docs.linuxmuster.net

Leoclient 2 - Windows im Linuxclient

Leoclient2 bietet die Möglichkeit auf einem Linuxclient verschiedene virtuelle Maschinen, beispielsweise mit Windows-Betriebssystem, einzurichten und zu starten.

Inhalt:

Funktionsprinzip

Durch das Programmpaket leoclient2 ist es möglich auf einem Linuxclient virtuelle Maschinen (VM), beispielsweise mit Windows-Betriebssystem, parallel zu nutzen.

Dabei können auf einfache Weise verschiedene Zustände der virtuellen Maschine erzeugt und den Benutzern angeboten werden.

Zur Auswahl der virtuellen Maschinen als Benutzer wurde eine grafische Oberfläche programmiert, auf der man zuerst die zu nutzende VM auswählt und dann den gewünschten Zustand startet.

Durch die Virtualisierung reduziert sich der administrative Aufwand auf ein Minimum, wogegen die Möglichkeit der Bereitstellung verschiedener Installationszustände extreme Flexibilität und ungeahnte Möglichkeiten bietet.

Installation von leoclient2

Software-Pakete installieren

Die leoclient-Pakete liegen auf dem linuxmuster.net-Paketserver, der im Linuxclient schon zur Einrichtung der Anmeldung am Server eingetragen wurde.

Todo

link um Quellen einzutragen statt folgendes …

# wget http://pkg.linuxmuster.net/linuxmuster.net.key -O - | sudo apt-key add -

In /etc/apt/sources.list eintragen:

deb http://pkg.linuxmuster.net/ xenial/

Installation der Pakete auf dem Linuxclient mit folgenden Befehlen:

# sudo apt-get update
# sudo apt-get install leoclient2-leovirtstarter-client leoclient2-vm-printer

Virtualbox installieren/updaten

Es wird empfohlen eine aktuelle Version von Virtualbox zu installieren (5.1.22 im Mai 2017).

Für die Schule kann die PUEL-Version (aktuelles VirtualBox mit ExtensionPack) installiert werden, die beispielsweise USB2 unterstützt (statt USB1.1).

Die Anleitung zur Installation findet sich unter https://www.virtualbox.org/wiki/Linux_Downloads im Bereich ‘’Debian-based Linux distributions’‘.

In Kürze das Vorgehen für Ubuntu 16.04/xenial:

  1. apt-get install dkms
  2. Virtualbox Schlüssel laden, Quellen eintagen, apt-get update
  3. apt-get install virtualbox-5.1
  4. Extension-Pack im Browser downloaden, installieren im Virtualbox-gui

Benutzer-Rechte anpassen

Hinweis: Diese Rechte-Anpassungen sind im Standard-Linuxclient schon eingepflegt.

Domänenbenutzer

Um für die Domänenbenutzer alle Optionen von VirtualBox freizugeben, müssen diese Mitglied der Gruppe vboxusers sein. Hierzu ergänzt man in der Datei /etc/security/group.conf in der Zeile *;*;*;Al0000-2400;dialout... den Eintrag vboxusers. Diese Zeile könnte dann wie folgt aussehen:

*;*;*;Al0000-2400;dialout,cdrom,floppy,audio,dip,video,plugdev,scanner,vboxusers

Lokale Benutzer

Auch lokale Benutzer am Linuxclient (z.B. linuxadmin) müssen der Gruppe vboxusers hinzugefügt werden. Für lokale Benutzer erfolgt das mit

# sudo adduser linuxadmin vboxusers

Diese Änderung wird erst bei einer erneuten Anmeldung des Nutzers wirksam.

Rechte an den lokalen virtuellen Maschinen

Mit der im Paket leoclient2-leovirtstarter-client befindlichen Datei /etc/sudoers.d/80-leoclient2 wird der Eigentümer der lokalen virtuellen Maschine vor ihrem Start auf den angemeldeten Benutzer gesetzt. Somit kann die Maschine gestartet, Logs angelegt und der aktiven Snapshot verändern werden.

Drucker-Spooler beim login aktivieren

Um aus der virtuellen Maschine heraus drucken zu können, müssen ein Drucker-Splitter und ein Drucker-Spooler bei Anmeldung am Linuxclient gestartet werden. Der Drucker-Splitter fängt ankommende Druckdateien ab, bevor sie überschrieben werden. Der Drucker-Spooler druckt sie aus.

Auf dem Standard-Linux-Client gelingt dies mit Hilfe der linuxmuster-client-extras Skripte wie folgt:

# sudo linuxmuster-client-extras-setup --type login --on /usr/bin/run-vm-printer2-splitter
# sudo linuxmuster-client-extras-setup --type login --on /usr/bin/run-vm-printer2-spooler

Überprüft werden kann das mit

# sudo linuxmuster-client-extras-setup --type login -i

Ohne den Standard-Linux-Client kann man mit folgenden Befehlen einen ähnlichen Effekt erzielen:

# sudo install -oroot -groot --mode=0644 /usr/share/leovirtstarter2/desktop/leoclient2-splitter.desktop  /etc/xdg/autostart
# sudo install -oroot -groot --mode=0644 /usr/share/leovirtstarter2/desktop/leoclient2-spooler.desktop  /etc/xdg/autostart

Konfiguration

Die Konfigurationsdatei liegt unter /etc/leoclient2/leoclient-vm-printer2.conf.

Zur Fehlerbehebung werden Log-Dateien in /tmp/run-vm-printer2-spooler.log-USERNAME und /tmp/run-vm-printer2-splitter.log-USERNAME abgelegt. Dort sieht man nach welcher Datei der Drucker-Splitter sucht

Virtuelle Maschine erzeugen

Das Script leoclient2-init bereitet eine virtuelle Machine (VM) vor, die später mit dem Programm leovirtstarter2 gestartet werden kann.

Die VM kann nur in einem Verzeichnis erstellt werden das der aufrufende User anlegen darf. Üblicherweise muss das Script also mit root-Rechten gestartet werden:

# sudo leoclient2-init
[sudo] Passwort für linuxadmin:

Geben Sie den Namen der neuen virtuellen Maschine ein
(Keine Leerzeichen - bestätigen mit der Enter-Taste):
winxp
...
Soll die virtuelle Maschine jetzt erzeugt und VirtualBox gestartet werden?
(j/n - Bestätigen mit der Enter-Taste):
j

Virtual machine 'winxp' is created and registered.
UUID: d96f7ee1-3c82-4bef-aa04-c9d39140cede
Settings file: '/virtual/winxp/winxp.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 4da77206-3edf-41d6-84ec-1509cfb92441

Es werden folgende Parameter abgefragt und auf Nachfrage VirtualBox gestartet.

  • der MASCHINENNAME für die VM (keine Leerzeichen verwenden)
  • der PFAD für den Speicherort der VM (Standardpfad /var/virtual/)
  • die Größe der dynamisch wachsenden virtuellen Festplatte für die VM in MB

Man sollte unter VirtualBox die Konfiguration der VM noch an die eigenen Bedürfnisse anpassen (Die Arbeitsspeichergröße für die VM wird beim Starten an die Gegebenheiten der vorhandenen Maschine angepasst).

Betriebsystemeinstellungen

Unter Allgemein, Reiter Basis muss der Betriebsystemtyp und Version angepasst werden.

Systemanforderungen/Ressourcen

Unter System, wird konfiguriert, welche Hardware-Ressourcen die VM zur Verfügung gestellt bekommt. Je nach Gast sind hier Mindestwerte zu beachten:

Win10 (Beispielhaft):

  • Hauptspeicher 2048 MB (System -> Hauptplatine)
  • 2 CPU’s (System -> Prozessor)
  • 64 MB Grafikspeicher (System -> Bildschirm)

DVD-Laufwerk

Ein CD-/DVD-Laufwerk kann man ebenso einbinden wie iso-Dateien (→ CD-/DVD-Laufwerk hinzufügen → kein Medium (Laufwerk) → über das CD-Symbol rechts das Laufwerk auswählen bzw. → CD-/DVD-Laufwerk hinzufügen → Medium auswählen (iso-Datei) ).

USB verwenden

Sollte man, wie voreingestellt, USB2 verwenden wollen, muss man das zur Version von VirtualBox passende Extension Pack installieren.

Netzwerk offline

Eine Netzwerkkarte ist in der Standardkonfiguration nicht aktiviert, dadurch bietet die VM keine Angriffsfläche und man kann auf zeitraubende Updates verzichten.

Wenn sie aktiviert wird, gilt das nur vorübergehend.

Trotzdem ist es möglich auf die Netzlaufwerke auf dem Server zuzugreifen und Netzwerkdrucker zu verwenden.

Betriebssystem installieren

Sind die Einstellungen wunschgemäß, startet man die VM und installiert das Betriebssystem über eine verbundene Installations-CD-/DVD oder eine entsprechende iso-Datei.

Ist die Installation abgeschlossen, fährt man die VM herunter. Bevor VirtualBox beendet wird, sollte man eventuell verbundene CD-/DVD-Laufwerke trennen.

Nach Beenden von Virtualbox wird die VM für den Start mit dem Programm leovirtstarter2 fertiggestellt.

...
Für diese Maschine wird ein Sicherungspunkt erzeugt.
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Snapshot taken. UUID: 3df3f4f2-38e8-4747-9934-533648e60d3f
...
Die Konfiguationsdateien und der Snapshot wurden gesichert.
Die Rechte der Dateien wurden angepasst.
Die virtuelle Maschine kann nun mit dem Snapshotstarter benutzt werden.

Wenn Sie die Basis für die virtuelle Maschine und den Snapshot neu
erzeugen wollen, starten Sie das Script 'leoclient2-base-snapshot-renew'.

Wenn Sie die vollständige virtuelle Maschine in ein anderes Verzeichnis
umziehen wollen, starten Sie das Script 'leoclient2-vm-move'.

Weitere Schritte

Nachdem das Betriebsystem installiert ist, ist es sinnvoll in der Basis der VM noch folgende Anpassungen vorzunehmen:

  • Installation der Gasterweiterungen in der VM
  • Verbinden der Netzlaufwerke in der VM
  • Einrichten eines PDF-Druckers in der VM
  • (Schrumpfen ???)

Diese Anpassungen unterscheiden sich je nach verwendeten Betriebsystem. Anleitungen finden sie bei “Weitere Informationen zu leoclient2” und dem jeweiligen Gastbetriebsystem unter Tipps und Tricks.

Danach muss die Basis aktualisiert werden (Siehe folgendes Kapitel: Basis und Snapshots verwalten).

Virtuelle Maschinen starten

Das Script leovirtstarter2 findet automatisch jede verfügbare VM (Eintrag in /etc/leoclient2/machines) und bietet diese zum Starten an. Es kann im Ubuntu Dash (Virtualbox Snapshotstarter) oder über die Konsole gestartet werden:

$ leovirtstarter2
Wählen Sie eine virtuelle Maschine

Wählen Sie eine virtuelle Maschine

Nachdem eine VM gewählt wurde, werden mehrere Optionen angeboten

Optionen zum Starten der virtuellen Maschine

Optionen zum Starten der virtuellen Maschine

<VM> wie vorgefunden startet den aktuellen, unveränderten Zustand
der VM
<VM> Standard verwendet den Standard-Snapshot und startet die VM,
d.h. die virtuelle Maschine wird auf den Zustand des Snapshots zurückgesetzt.
optional weitere Snapshots wenn konfiguriert, tauchen weitere lokal
oder auf einem Serverlaufwerk gespeicherte Snapshots auf

Virtuelle Grafik Diese Optionen sind bisher ohne Funktion

Virtueller Arbeitsspeicher (RAM) Arbeitsspeicherzuweisung an die
VM - vorausgewählt ist ein automatisch an den vorhandenen realen Hauptspeicher angepasster Wert. Mit der Auswahl kann man den Hauptspeicher der VM etwas erhöhen oder vermindern.

Nach Auswahl wird die VM mit dem Button Starten! gestartet.

Basis und Snapshots verwalten

Jede virtuelle Maschine besitzt neben der Basis /PFAD/MASCHINENNAME/MASCHINENNAME.vdi einen Standard-Snapshot.

Zuerst sollte man eine solide VM-Basis erstellt haben. Da alle darauf basierenden weiteren Snapshots unbrauchbar werden, wenn die Basis aktualisiert werden muss.

Aufbauend auf diese Basis können dann weitere Snapshots erzeugt werden.

VM-Basis aktualisieren

Mit Hilfe des Skripts leoclient2-base-snapshot-renew wird der aktuelle Zustand der virtuellen Maschine zur neuen Basis.

Hint

Durch eine Erneuerung der Basis werden alle (anderen) darauf aufbauenden Snapshots unbrauchbar.

Nach dem Aufruf des Skripts leoclient2-base-snapshot-renew mit root-Rechten

$ sudo leoclient2-base-snapshot-renew

sind einige selbsterklärende Fragen zu beantworten.

  • Soll der Vorgang abgebrochen werden? (J/N)
  • Name der virtuellen Maschine? (VM, die erneuert werden soll)
  • Speicherort der virtuellen Maschine? (VM, die erneuert werden soll)

Das Skript startet dann zunächst VirtualBox, um die Sicherungspunkte zu löschen. Eine eventuelle Warnung, die aufgrund fehlender Verbinungen erscheint, kann ignoriert werden. Die Ursache ist z.B. bei dem vorkonfigurierten Ubuntu von linuxmuster.net die fehlende Verbindung zu den Homes als linuxadmin.

VirtualBox-Optionen für Snapshots

VirtualBox-Optionen für Snapshots

  • Klicken Sie rechts oben auf die Schaltfläche “Sicherungspunkte (1)”.
  • Klicken Sie auf den Snapshot, löschen Sie diesen mit einem Rechtsklick oder mit dem entsprechenden Icon und bestätigen Sie mit “Löschen” den nächsten Dialog.

Haben Sie im aktuellen Zustand bereits Änderungen vorgenommen, so kann das Löschen des Snapshots eine Weile dauern. Im Anschluss kann die VM gestartet werden und (weitere) gewünschte Änderungen durchgeführt werden.

  • Schalten Sie die VM aus und beenden Sie VirtualBox

Das Skript erzeugt eine neue Basisfestplatte unter /PFAD/MASCHINENNAME/MASCHINENNAME.vdi und komprimiert sie (Das dauert einige Minuten). Darüber hinaus wird noch ein neuer Standard-Snapshot erzeugt und gezippt. Der Name des neuen Snapshots, hier: {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi, erscheint in der Konsolenausgabe.

...
##### Processing snapshot: standard #####
* Zipping standard:
  * Image:   /virtual/winxp/snapshot-store/standard/{c81442ac-4e03-487c-a05a-e82b8918c834}.vdi
  * Dir:     /virtual/winxp/snapshot-store/standard
  * File:    {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi
...
  • Vergleichen Sie den neuen Snapshot-Dateinamen und löschen Sie den alten Standard-Snapshot entsprechend dem Muster sudo rm /PFAD/MASCHINENNAME/{..alterSnapshot..}.vdi*

    $ ls -1 /virtual/winxp/snapshot-store/standard/
    {4a895e9c-a6e9-416d-b612-b643035c0103}.vdi
    {4a895e9c-a6e9-416d-b612-b643035c0103}.vdi.zip
    {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi
    {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi.zip
    filesize.vdi
    filesize.vdi.zipped
    $ sudo rm /virtual/winxp/snapshot-store/standard/{4a895e9c-a6e9-416d-b612-b643035c0103}.vdi*
    
  • Sollten Sie weitere Snapshots zur virtuellen Maschine haben, haben diese ihre Basis verloren. Löschen Sie diese Snapshots (als root) oder erzeugen Sie sie erneut aus dem bestehenden neuen Standard-Snapshot.

    $ ls -1 /virtual/winxp/snapshot-store/Software2016
    {4a895e9c-a6e9-416d-b612-b643035c0103}.vdi
    {4a895e9c-a6e9-416d-b612-b643035c0103}.vdi.zip
    filesize.vdi
    filesize.vdi.zipped
    $ sudo leoclient2-snapshot-create -m winxp -s Software2016
      adding: {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi (deflated 100%)
      OK: Snapshot {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi wurde als Software2016 gesetzt.
    

Neue Snapshots erzeugen

Das Skript leoclient2-snapshot-create legt mit dem aktuellen Zustand der VM einen neuen auswählbaren Snapshot an oder den Standard-Snapshot neu.

Hint

Die Basis, d.h. die zugrundeliegende Basisfestplatte wird dabei nicht verändert. Eine veränderte Hardwarekonfiguration speichert das Skript auch nicht.

Vorgehensweise:

  • Laden Sie das Skript herunter: leoclient2-snapshot-create

  • Legen Sie es unter /usr/bin/leoclient2-snapshot-create ab und machen Sie es ausführbar.

    $ sudo mv leoclient2-snapshot-create /usr/bin/
    $ sudo chmod 755 /usr/bin/leoclient2-snapshot-create
    
  • Starten Sie als Benutzer die VM (z.B. hier winxp)

    $ leovirtstarter2
    
  • Installieren Sie Software nehmen Sie die Änderungen vor, fahren Sie die VM herunter.

  • Rufen Sie das Skript (als root) ohne Argument -s auf, um den Standard-Snapshot neu zu setzen,

    $ sudo leoclient2-snapshot-create -m winxp
    
  • oder mit einem Argument -s, um einen neuen Snapshot zu erzeugen.

    $ sudo leoclient2-snapshot-create -m winxp -s Software2016
    

    Jetzt erscheint im Auswahlmenü von leovirtstarter2 ein neuer Snapshot mit dem Namen Software2016.

Umzug von Leoclient1 nach Leoclient2

Für den Umzug benötigen Sie die alte virtuelle Festplatte old.vdi und den alten Standard-Snapshot old-snapshot.vdi der leoclient1-VM.

  • Ermitteln Sie die Größe und UUID der alten Festplatte

    # vboxmanage showmediuminfo /media/old/old.vdi | grep -E 'UUID|MBytes'
    UUID:           22df228d-ecb2-44ba-a281-7c73a02d26bc
    Parent UUID:    base
    Capacity:       16384 MBytes
    Size on disk:   1921 MBytes
    
  • Erzeugen Sie eine neue virtuelle Maschine nach Anleitung (mindestens) mit der ermittelten Größe. Im Beispiel wird die neue VM “win-migrate” genannt. Auf die Installation des Betriebssystems kann verzichtet werden. Ändern Sie Typ und Version des Betriebssystem und schließen Sie VirtualBox.

  • Ermitteln Sie die UUID der neuen Festplatte:

    # VBOX_USER_HOME=/var/virtual/win-migrate vboxmanage showmediuminfo /var/virtual/win-migrate/win-migrate.vdi  | grep ^UUID
    UUID:           1fbc6a0c-d9c9-48bf-ad1c-e94c4d7da406
    
  • Kopieren Sie die alte virtuelle Festplatte auf die neue Festplatten-Datei

    # cp /media/old/old.vdi /var/virtual/win-migrate/win-migrate.vdi
    
  • Korrigieren Sie die UUID an den entsprechenden Stellen mit dem Schema sed -i "s@neue UUID@alte UUID@" Datei

    # sed -i "s@1fbc6a0c-d9c9-48bf-ad1c-e94c4d7da406@22df228d-ecb2-44ba-a281-7c73a02d26bc@" /var/virtual/win-migrate/win-migrate.vbox
    # sed -i "s@1fbc6a0c-d9c9-48bf-ad1c-e94c4d7da406@22df228d-ecb2-44ba-a281-7c73a02d26bc@" /var/virtual/win-migrate/defaults/win-migrate.vbox
    
  • Kopieren Sie den alten Standard-Snapshot in das Unterverzeichnis Snapshots unter Verwendung des bestehenden Dateinamens der Snapshot-Datei der neuen virtuellen Maschine (bestehende Datei ersetzen).

    # cp /media/old/old-snapshot.vdi /var/virtual/win-migrate/Snapshots/\{08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7\}.vdi
    
  • Aus folgender Fehlermeldung kann man die UUIDs des alten (ef8629ce-c7c1-424b-8089-0e1d526b0c2c) und des neuen (08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7) Snapshots herauslesen

    # VBOX_USER_HOME=/var/virtual/win-migrate vboxmanage showmediuminfo /var/virtual/win-migrate/Snapshots/*.vdi | grep Error
    
    Access Error: UUID {ef8629ce-c7c1-424b-8089-0e1d526b0c2c} of the
    medium
    '/var/virtual/win-migrate/Snapshots/{08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7}.vdi'
    does not match the value {08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7}
    stored in the media registry
    ('/var/virtual/win-migrate/VirtualBox.xml')
    
  • Korrigieren Sie die UUID des Snapshots in den folgenden Dateien wiederum mit dem Schema sed -i "s@neue UUID@alte UUID@" Datei

    # sed -i "s@08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7@ef8629ce-c7c1-424b-8089-0e1d526b0c2c@" /var/virtual/win-migrate/win-migrate.vbox
    # sed -i "s@08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7@ef8629ce-c7c1-424b-8089-0e1d526b0c2c@" /var/virtual/win-migrate/defaults/win-migrate.vbox
    
  • Setzen Sie den Standard-Snapshot neu (Skript siehe Neue Snapshots erzeugen)

    # leoclient2-snapshot-create -m win-migrate
    adding: {08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7}.vdi (deflated 57%)
    OK: Snapshot {08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7}.vdi wurde als standard gesetzt.
    
  • Starten Sie leovirtstarter2 mit normalen Benutzerrechten über die Konsole, eventuelle Fehlermeldungen können so gesehen werden.

Alte Dateien von leoclient1 entfernen

Die Pakete des alten Leoclient müssen von Hand entfernt werden:

# apt-get purge leoclient-leovirtstarter-client leoclient-leovirtstarter-common
# apt-get purge leoclient-leovirtstarter-server leoclient-tools leoclient-virtualbox leoclient-vm-printer

Evtl. alte Daten von leoclient (Version 1) entfernen:

# rm -rf /etc/leoclient

Weitere Informationen zu leoclient2

Speicherort der virtuellen Maschinen

Virtuelle Maschinen auf einer zusätzlichen Partition

Standardmäßig werden die Dateien einer lokalen VM unter /var/virtual/ abgelegt. Dieses Verzeichnis liegt im normalen Dateisystem des Linuxclients. Es wird empfohlen, diesen Speicherort auf eine zusätzliche Partition auszulagern und nach /var/virtual per fstab mounten.

Gründe für diese Empfehlung:

  • Eine Partition dynamisch unter /media dafür zu verwenden ist ungeeignet, da sich deren Namen und Zugriffsberechtigung je nach User ändern kann.
  • Mit der Auslagerung erfolgt die Synchronisation der Installation des Linuxclients deutlich schneller.
  • Die virtuellen Maschinen können über das Synchronisieren der zugehörigen Partition unabhängig von der Linuxinstallation zurückgesetzt werden.

Vorgehensweise:

Es existiert eine Partition /dev/sda3 (wie z.B. bei der start.conf zum default-cloop), die mit ext4 formatiert ist.

  • Zunächst das Verzeichnis /var/virtual/ leeren bzw. den Inhalt wegsichern.

  • Die Datei /etc/fstab als root editieren und letzte Zeile ergänzen:

    #  /etc/fstab: static file system information.
    #
    /dev/sda3   /var/virtual    ext4   defaults  0  0
    
  • Danach als root die Partition mounten und das ganze dann noch mit df überprüfen:

    # mount -a
    # df -h
    
  • Nun ggf. die weggesicherten Dateien wieder nach /var/virtual/ zurückspielen und von beiden Partitionen mit Hilfe von LINBO ein Image erstellen.

Attention

Nach dem Anlegen einer neuen VM müssen beide Partitionen geimaged werden da beim Anlegen einer neuen VM diese unter /etc/leoclient2/machines registiert wird. Nach dem Verändern einer VM muss nur die zusätzliche VM-Partition geimaged werden.

Virtuelle Maschinen auf dem Server
Remote virtuelle Maschine erzeugen

Eine lokale VM wird zur remoten VM, indem

  • die in /etc/leoclient2/servers.conf konfigurierbare Variable SERVERDIR auf ein Verzeichnis gesetzt wird, in das im Verlauf des Bootprozesses oder der Anmeldung ein Netzwerk-Share gemountet wird

  • das Datenverzeichnis der VM auf den Server kopiert wird, z.B. das Verzeichnis /var/virtual/winxp in das vom Server gemountete Netzlaufwerk /media/leoclient2-vm kopiert wird.

    $ sudo cp -R /var/virtual/winxp /media/leoclient2-vm
    

Prinzipiell kann die VM danach lokal gelöscht werden.

Dann wird die VM vor dem Starten vom Server nach lokal synchronisiert/kopiert. Da dabei beträchtliche Datenmengen übertragen werden, sollte man das nur bei kleinen, wenig genutzen VM’s machen (z.B. einem Linux-MySQL-Server o.ä.).

VM Windows XP – Tipps und Tricks

  • Zur Installation in VirtualBox ein CD-Rom-Laufwerk hinzufügen und dann darin das Installations-ISO einlegen, die NTFS-Schellformatierung genügt.
  • Die Gasterweiterungen installieren, mit Hilfe der Menüleiste des VBox-Fensters bei “Geräte”. Dadurch wird auch die Maus nicht mehr gefangen und das Fenster der VM ist beliebig skalierbar.

Verbindung zu Home_auf_Server einrichten:

  • Windows Explorer → Menü Extras → Netzlaufwerk verbinden
  • einen Laufwerksbuchstabe auswählen (z.B. H:) und Ordner angeben: \\vboxsrv\home
  • ggf. Verknüpfung auf Desktop ziehen und umbenennen

Verbindung zu Tausch-Ordner und USB-Sticks einrichten:

  • Windows Explorer → Menü Extras → Netzlaufwerk verbinden
  • einen Laufwerksbuchstabe und Ordner angeben: \\vboxsrv\media
  • ggf. Verknüpfungen auf Desktop ziehen und umbenennen

PDF-Drucker in der VM einrichten

  • Siehe FreePDF-Webseite: http://freepdfxp.de/download_de.html

  • ghostscript Installieren

  • Free-PDF Installieren (Version 4.08 bei mir ging 4.14 NICHT(Eigener Drucker anlegen bei 32bit Windows 7))

  • FreePDF Config starten → admin Config starten

  • Profile neu : Profil ausdrucken anlegen

  • Button: Für das aktuelle Profil einen eigenen Drucker anlegen

  • Profil ausdrucken bearbeiten: FreePDF Dialog

    • Als festen Dateinamen speichern
    • H:ausdruck.pdf (anpassen, entsprechend /etc/leoclient2/leoclient-vm-printer2.conf)
    • Speichern
  • Den Drucker FreePDF als Standard Drucker anlegen

  • Äquivalent funktioniert das Programm PDF24

VM Windows 7 – Tipps und Tricks

Bei der Installation bricht die 64bit Version ab, wenn nur 1 GB RAM da ist.

Verbindung zu Home_auf_Server einrichten:

  • Windows Explorer → Rechte Maustaste auf Netzwerk → Netzlaufwerk
    verbinden
  • Laufwerksbuchstabe (Üblicherweise H:) und Pfad nennen: \\vboxsrv\home
  • Verknüpfung auf Desktop ziehen und umbenennen

Verbindung zu Tausch-Ordnern und USB-Sticks einrichten:

  • Windows Explorer → Rechte Maustaste auf Netzwerk → Netzlaufwerk
    verbinden
  • Laufwerksbuchstabe (Üblicherweise M:) und Pfad nennen: \\vboxsrv\media
  • Verknüpfung auf Desktop ziehen und umbenennen

VM Windows 10 - Tipps und Tricks

Bei der Installation kommen komische Fehlermeldungen, wenn nicht mindestens 2 CPU und 2096MB RAM vorhanden sind.

Verbindung zu Home_auf_Server (im Homeverzeichnis) einrichten:

  • Windows Explorer → Rechte Maustaste auf Dieser PC → Netzlaufwerk
    verbinden
  • Laufwerksbuchstabe (Üblicherweise H:) und Pfad nennen: \\vboxsrv\home sowie Haken bei “Verbindung bei Anmeldung wiederherstellen”.
  • Verknüpfung auf Desktop ziehen und umbenennen in z.B. Home_auf_Server

Verbindung zu Tausch-Ordnern und USB-Sticks einrichten:

  • Windows Explorer → Rechte Maustaste auf Dieser PC → Netzlaufwerk
    verbinden
  • Laufwerksbuchstabe (Üblicherweise M:) und Pfad nennen: \\vboxsrv\media sowie Haken bei “Verbindung bei Anmeldung wiederherstellen”.
  • Verknüpfung auf Desktop ziehen und umbenennen in z.B. Medien

PDF-Drucker in der VM einrichten

  • Siehe FreePDF-Webseite: http://freepdfxp.de/download_de.html

  • ghostscript Installieren (9.20)

  • Free-PDF Installieren (Version 4.08 getestet)

  • <Start> -> FreePDF Config starten

  • Profile neu

  • Name des Profils: “ausdrucken”, Button: “Alle Benutzer” –> Speichern

  • Profil “ausdrucken” wählen, “Für das aktuelle Profil einen eigenen Drucker anlegen” (Schild um Änderung zuzulassen)

  • Profil “ausdrucken” wählen, Button: Ändern -> Free PDF Dialog (linker Bereich)

    • Aktion beim Drucken: Als festen Dateinamen speichern
    • H:ausdruck.pdf (anpassen, entsprechend /etc/leoclient2/leoclient-vm-printer2.conf)
    • Speichern
  • Den Drucker FreePDF als Standard Drucker anlegen

  • Äquivalent funktioniert das Programm PDF24

VM schrumpfen – Tipps und Tricks

Die virtuellen dynamischen Festplattendateien werden im Laufe des Betriebes immer größer, nie kleiner, auch wenn man Dateien löscht. Zum Verkleinern muss man vierschrittig vorgehen:

  • Alles überflüssige in der VM löschen
  • Unbenutzte Festplattenbereiche in der VM nullen
  • Mit dem Tool VBoxManage die .vdi-Festplattendatei kompakter machen
  • Die kompakte Festplattendatei als neuen base-Snapshot setzen
Windows XP kompakter machen

Vorgehensweise (am Beispiel einer virtuellen Maschine mit Namen „winxp“):

  • Die leoclient-VM booten und sdelete und CCleaner in der VM installieren:

    • download → sdelete (Microsoft-Tool), kopieren nach C:\Windows
    • download → CCleaner von heise.de
  • Auslagerungsdatei abschalten, reboot der VM und dann die versteckte Datei C:\pagefile.sys löschen

  • CCleaner ausführen und alles Wesentliche löschen lassen

  • Ggf. Defragmentieren von c: (Auswirkung unklar)

  • In der Windows Eingabeaufforderung ausführen: sdelete.exe -z c: (dauert etwas)

  • Auslagerungsdatei wieder anschalten, Herunterfahren der VM

  • Als linuxadmin im Terminal ausführen und den Anweisungen folgen:

    # sudo leoclient2-base-snapshot-renew
    

    Der aktuelle Snapshot Snapshots/{...}.vdi wird dadurch zur Basisfestplatte winxp.vdi „gemerged“ und ist diese danach wieder sehr kein.

  • Als linuxadmin im Terminal ausführen um die Basisfestplatte zu schrinken:

    # sudo VBoxManage modifymedium --compact /var/virtual/winxp/winxp.vdi
    
  • Nun Basis nochmals neu erstellen, um die kompaktere Festplatte zu zippen und nach snapshot-store/ zu kopieren:

    # sudo leoclient2-base-snapshot-renew
    
Linux-VM kompakter machen

Zuerst alles Überflüssige in der laufenden VM löschen, u.a. auch der apt-Cache. Die anschließend beste Vorgehensweise ist das Einbinden der .vdi-Festplatte in ein anderes System, z.B. in ein live-Linux-System, um das „Nullen“ durchzuführen:

  • das Tool „zerofree“ nullt die unbenutzten Festplatteninhalte
  • auch Swap-Partition nullen per dd-Befehl
  • Schließlich die 3 Punkte wie oben bei WinXP durchführen.
    • leoclient2-base-snapshot-renew
    • vboxmanage modifymedium
    • leoclient2-base-snapshot-renew

Das Tool VBoxManage kann nur .vdi-Datein schrinken. Dateien vom Typ .vmdk müssen zuerst in .vdi-Datein umgewandelt werden und danach ge-shrinked werden:

# VBoxManage clonehd disk1.vmdk disk1.vdi --format vdi
# VBoxManage modifyhd --compact disk1.vdi

Virtuelle Maschine direkt starten

Das zusätzliche Skript leoclient2-directstart startet direkt ohne Dialog eine VM.

Vorgehensweise:

  • Laden Sie das Skript herunter leoclient2-directstart

  • Legen Sie das Skript unter /usr/bin ab und machen es ausführbar.

    $ sudo mv leoclient2-directstart /usr/bin/
    $ sudo chmod 755 /usr/bin/leoclient2-directstart
    
  • Das Skript kann mit folgenden Parameter gestartet werden:

    # /usr/bin/leoclient2-directstart -m <VM> [-s <Snapshot>] -r <RAM>
    
    m: Name der lokalen VM, zwingend notwendig
    s: Name des lokalen Snapshots, ohne wird "wie vorgefunden" verwendet
    r: RAM in MB, zwingend notwendig
    
  • Starten Sie das Skript

    $ leoclient2-directstart -m winxp -r 1024 -s standard
    

Hint

Einschränkungen des Skriptes:

  • Eine Datei network.conf wird von dem Script nicht ausgewertet.
  • Bei den Berechtigungen wird nur der Snapshot und die primäre Gruppe des Users überprüft.
  • Bei Angabe ohne Snapshot, kann “wie vorgefunden” nicht einen gespeicherten Zustand starten.

Zum bequemen Starten kann man einen Desktop-Starter anlegen, z.B. für die VM „winxp“ mit 1024 MB RAM und „standard“-Snapshot:

/usr/share/applications/leoclient2-directstart.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=VirtualBox Direktstart
Comment=Starting Snapshots of VirtualBox
Comment[de]=Starten von VirtualBox Snapshots
Exec=/usr/bin/leoclient2-directstart -m winxp -r 1024 -s standard
Icon=leovirtstarter2
Categories=Graphics;Engineering;
Categories=Emulator;System;Application;
Terminal=false

Netzwerkeinstellungen einer VM

Die Netzwerkkonfiguration der VM erfolgt durch eine Datei network.conf, die zusätzlich im Verzeichnis der VM angelegt werden muss. Fehlt diese Datei oder treten Fehler bei der Konfiguration auf, werden beim Snapshot-Start des leovirtstarters2 immer alle Netzwerkkarten deaktiviert.

Möchte man eine Netzwerkkarte aktivieren, so muss im Maschinenverzeichnis der VM eine Datei <MASCHINENPFAD>/network.conf angelegt werden, die 5 Einträge in einer Zeile, durch Strichpunkt getrennt, enthält. Diese Konfiguration gilt dann für alle lokalen Snapshots dieser VM.

  • hostname (Name des Linux-Clients auf dem VirtualBox installiert ist)
  • vm-nic (1-4)
  • mode (none|null|nat|bridged|intnet|hostonly|generic|natnetwork)
  • macaddress
  • devicename (eth0,eth1,…) oder (auto-unused-nic|auto-used-nic)

Z.B. /var/virtual/winxp/network.conf

# Beispiel einer NAT-Netzwerkkarte
r100-pclehrer;1;nat;080011223344;auto-used-nic

Folgendes typische Netzwereinstellungen können bisher (Version 0.5.4-1, Juli 2015) umgesetzt werden:

  • nat - NAT auf die NIC des pädagogischen Netzes (VM kann ins Internet)
  • bridged + auto-used-nic - Bridge auf die Karte ins pädagogische Netz
  • bridged + auto-unused-nic - Bridge auf eine zweite Karte (nicht ins pädagogische Netz verbunden -> unused)

Mit Hilfe des hostname kann man z.B. auf verschiedenen Clients verschiedene MAC-Adressen in der VM für den Bridged-Modus verwenden.

Es gibt insgesamt 4 Möglichkeiten eine network.conf -Datei abzulegen: zweimal lokal und zweimal im SERVERDIR. Für die Priorität der Möglichkeiten gilt folgende Reihenfolge:

  • Ist auf dem Server speziell für einen Snapshot der VM eine eigene
    Datei <SERVERDIR>/<MACHINENAME>/snapshot-store/<SNAPSHOT>/network.conf vorhanden, so wird diese benutzt.
  • Danach wird die Datei auf dem Server für die VM <SERVERDIR>/<MACHINENAME>/network.conf ausgewertet (falls vorhanden).
  • Anschließend wird die lokale Datei für den Snapshot der VM <lokaler Maschinenpfad>/network.conf ausgewertet (falls vorhanden).
  • Abschließend wird die lokale Datei für die VM <lokaler Maschinenpfad>/snapshot-store/<SNAPSHOT>/network.conf
    ausgewertet (falls vorhanden).
  • Ist keine Datei network.conf vorhanden, werden alle Netzwerkkarten für die VM deaktiviert.

Fehlersuche - Fehlerbehebung

Log-Datei ````` Am Client findet man unter /tmp/leovirtstarter2.log die aktuelle log-Datei des leovirtstarters2 zur Fehlersuche.

Endlosschleife bei leoclient2-base-snapshot-renew ````````````````````````````````````````````````` Problem: Das Script leoclient2-base-snapshot-renew läuft in eine Endlosschleife, wenn im Verzeichnis <lokaler Maschinenpfad>/Snapshots/ eine verweiste Snapshot-Datei übrig bleibt.

Lösung: Die verweiste Snapshot-Datei manuell löschen, dann leoclient2-base-snapshot-renew nochmals ausführen.

Snapshot passt nicht zur Basisfestplatte

Nach einem leoclient2-base-snapshot-renew werden bisherige Snapshots unbrauchbar und sollten auch nicht mehr verwendet werden. Der Snapshotname wird dabei auch geändert. In der Datei <Maschinennamen>.vbox wird der aktuell gültige Snapshotnamen {…}.vdi aufgeführt.

Problem: Unter <Maschinenpfad>/Snapshots liegt ein alter Snapshot, der Name passt nicht. VirtualBox startet deshalb nicht.

Lösung: Den Snapshot in <Maschinenpfad>/Snapshots manuell löschen und dann einen Snapshot mit dem aktuellen Namen aus <Maschinenpfad>/snapshot-store/standard/ in das Verzeichnis <Maschinenpfad>/Snapshots kopieren.

network.conf für lokalen Snapshot bereitstellen

Problem: Aktuell wertet der leovirtstarter2 eine network.conf im Verzeichnis des lokalen Snapshots nicht aus. (leoclient2-Version: 0.5.4-1)

Lösung: Wenn man jedoch eine network.conf im remote-Pfad des Snapshots ablegt, wird diese ausgewertet. Weitere Dateien müssen im remote-Pfad nicht vorhanden sein. Der remote-Pfad muss nicht zwingend remote liegen! Z.B. mit den voreingestellten Standard-Pfaden des Snapshots „physik“:

  • lokaler Snapshot-Pfad: /var/virtual/winxp1/snapshot-store/physik/...
  • ergibt network.conf-Pfad: /media/leoclient2-vm/winxp1/snapshot-store/physik/network.conf
leovirtstarter2 zeigt “wie vorgefunden” nicht an

Problem: Im Auswahlmenü wird „wie vorgefunden“ nicht angezeigt oder kann nicht gestartet werden.

Ursache 1: Die VM wurde nicht ausgeschaltet sondern befindet sich in einem gespeicherten Zustand. Im Verzeichnis .../Snapshots befindet sich eine *.sav-Datei.

Lösung 1: Den „Standard“-Snapshot starten oder die Maschine direkt mit VirtualBox starten und dann herunterfahren.

Ursache 2: Im Verzeichnis Maschinenpfad>/Snapshots/ befinden sich überflüssige Dateien.

Lösung 2: Alle Dateien löschen bis auf den aktuellen Snapshot: {...}.vdi. Der Name/die UUID des aktuellen Snapshots kann man (falls unklar) aus der <Maschinenname>.vbox-Datei ermitteln.

Hintergrundinformationen

Virtuelle Maschine erzeugen

Beim Anlegen einer virtuellen Maschine mit leoclient2-init wird der Pfad zur Maschine in /etc/leoclient2/machines/MASCHINENNAME.conf gespeichert.

Nach Beenden von Virtualbox werden folgende Aktionen vom Script ausgeführt:

  • Ein Snapshot wird erzeugt (in /PFAD/MASCHINENNAME/Snapshot/) und dieser als Standard-Snapshot nach PFAD/MASCHINENNAME/snapshot-store/standard/ gesichert.
  • Außerdem werden die Konfigurationsdateien (compreg.dat, VirtualBox.xml, xpti.dat und MASCHINENNAME.vbox) gesichert nach /PFAD/MASCHINENNAME/defaults/.
  • Abschließend werden alle Dateirechte für den Einsatz gesetzt (z.B. /PFAD/MASCHINENNAME/MASCHINENNAME.vdi nur lesbar, da diese Datei nicht verändert werden darf)

Jede VM ist vollständig in ihrem Maschinenverzeichnis gespeichert.

Serverbasierte VM kopieren, lokaler cache

Die auf dem Server liegenden gezippten Basisimages und Snapshots werden (falls lokal nicht vorhanden oder verändert) beim Start in den lokalen cache kopiert und dann lokal an die Stelle entpackt, wo sie genutzt werden. Der Cache hat eine maximale Größe, die in SERVERDIR/caches.conf definiert wird. Es empfielt sich dafür ein lokales Datenlaufwerk zu verwenden. Falls das nicht vorhanden ist, ein Verzeichnis auf der Partition mit den virtuellen Maschinen.

Virtuelle Maschine starten

VirtualBox startet mit der Umgebungsvariablen VBOX_USER_HOME ($ export VBOX_USER_HOME=/PFAD/MASCHINENNAME) und mit der Einstellung für den Standardort für die VM für Virtualbox ($ VBoxManage setproperty machinefolder /PFAD/MASCHINENNAME). Mit diesen Anpassungen und anschließendem Starten von Virtualbox ($ VirtualBox) kann eine VM auch von Hand gestartet werden.

Damit leovirtstarter2 eine lokale Maschine findet, muss in /etc/leoclient2/machines/MASCHINENNAME.conf ihr Pfad eingetragen sein. (leoclient2-init erzeugt diese Datei automatisch). Der Standard-Pfad für die lokalen VM ist dabei /var/virtual/ .

Außer den lokal vorhandenen Maschinen wird auch in allen in SERVERDIR konfigurierten Pfaden nach Maschinen gesucht. (Der Pfad MUSS NICHT remote liegen, allerdings geht leovirtstarter2 davon aus und holt diese Maschinen in gezippter Form (Netzwerk-Bandbreitenschonend) zu den lokalen Maschinen und startet Sie dort). Der Standard-Pfad für die remote VM ist dabei /media/leoclient2-vm .

Auflisten kann man alle sichtbaren VM’s mit:

$ leovirtstarter2 -i
$ leovirtstarter2 --info

Wird mit dem leovirtstarter2 ein Snapshot einer VM zum Starten ausgewählt, wird folgendes abgearbeitet:

  • Kopieren der Standard-Konfigurationsdateien aus /PFAD/MASCHINENNAME/defaults/ nach /PFAD/MASCHINENNAME/
  • Anpassen folgender Angaben:
    • Shared Folder verbinden ins Heimatverzeichnis des angemeldeten Benutzers
    • Netzwerkeinstellungen (verschiedene Möglichkeiten stehen zur Verfügung)
  • Starten der Maschine

Gibt es die Maschine auch Remote, können zusätzlich folgende Dinge erfolgen:

  • Snapshots wird gegebenenfalls vom Server in den lokalen Cache kopiert.
  • Reparatur des Basisimages, falls notwendig
  • Update der lokalen VM durch die Remote-VM, falls verschieden.
  • Der Snapshot wird aus dem Cache bzw. aus /PFAD/MASCHINENNAME/snapshot-store/default/ nach /PFAD/MASCHINENNAME/Snapshots/{…}.vdi entzippt
Berechtigungen zum Starten einer VM bzw. eines Snapshots

An welchen Rechnern (Hosts) welcher User eine VM starten darf wird in /PFAD/MASCHINENNAME/image.conf konfiguriert.

Es werden USER, GROUP, HOST, ROOM gelistet, die Zugriff erhalten sollen (Positivliste). Wenn nichts konfiguriert wird, haben alle User von allen Hosts Zugriff. Es gibt 2 Arten des Zugriffs:

USER-LEVEL Zugriff:

Zeile mit user=user1,user2 für den Zugriff eines Users Zeile mit group=group1,group2 für den Zugriff eines in der primären/sekundären Gruppe group1,group2 befindlichen Users (z.B. teachers)

HOST-LEVEL Zugriff:

Zeile mit host=host1,host2 für den Zugriff eines Hosts Zeile mit room=raum1,raum2 für den Zugriff eines in der primären Gruppe raum1,raum2 befindlichen Hosts

Um eine Maschine starten zu können, müssen BEIDE Level erfüllt sein (logische UND-Verknüpfung): Der User muss auf die VM zugreifen dürfen UND der Host muss die VM starten dürfen. Die Dateirechte der VM- bzw. Snapshot-Verzeichnisse müssen so eingestellt sein (z.B. Zugriff für alle), das die Konfigurierten USER, GROUP, HOST, ROOM Zugriff auf die VM/den Snapshot besitzen.

Beispieldatei image.conf

# Berechtigugen eine VM zu starten.
group=teachers
host=
room=lehrerzimmer

Hinweis: Die Berechtigung für einen einzelnen Snapshot wird nur dann korrekt ausgewertet, wenn beim HOST-LEVEL beide Optionen host und room auftauchen. Fehlt z.B. die „room“-Option ist jeder Raum und damit auch jeder Host zugelassen!

Stand Version 0.5.4-1 Juli 2015: Die Gruppen- und User-Beschränkung auf VM-Ebene wird z.Z. nicht korrekt ausgelesen → ‘group’ und ‘user’ damit ohne Funktion

Datenstruktur einer VM

Virtualbox-Dateien

In der obersten Verzeichnisebene im Verzeichnis der VM verwaltet VirtualBox die aktuell verwendete Maschine:

  • Die Basisdatei ist MASCHINENNAME.vdi, sie enthält den Basis-Zustand der Festplatte und ist meist mehrere GB groß
  • Konfigurationsdateien
  • Logdateien
  • usw. …
  • Im Unterverzeichnis Snapshots verwaltet VirtualBox den aktuell verwendeten Snapshot {*}.vdi.

leoclient2-Dateien

  • MASCHINENNAME.conf beinhaltet den Pfad in dem die VM erstellt wurde. Dorthin wird sie im Fall einer remoten Maschine auch wieder entpackt (funktioniert nur in diesem Pfad)
  • network.conf ist optional. Konfiguriert die Netzwerkkarten der Virtuellen Maschine (falls keine network.conf speziell für den Snapshot exisiert)
  • image.conf ist optional.
  • Das Unterverzeichnis snapshot-store enthält in Unterverzeichnissen weitere Snapshots. (Bei einer lokalen VM ist meist nur das Verzeichnis standard vorhanden):
  • {*}.vdi ist die Snapshot-Datei.
  • {*}.vdi.zip ist die gezippte Snapshot-Datei (nur etwa 1/3 so groß wie {*}.vdi) .
  • filesize.vdi ist eine Textdatei und enthält die Größe von {*}.vdi .
  • filesize.vdi.zipped ist eine Textdatei und enthält die Größe von {*}.vdi.zip .
  • network.conf ist optional. Konfiguriert die Netzwerkkarten für diesen Snapshot.
  • Das Unterverzeichnis defaults enthält ein Backup der Konfigurationsdateien. Vor dem Start der Maschine kann mit diesen Dateien die Maschine zurückgesetzt werden (Kopieren auf eine Verzeichnisebene höher).
Übersicht der Scripte/Befehle zum leoclient2
leoclient2-init:
legt eine neue lokale VM an
leovirtstarter2

startet das grafische Auswahlfenster und anschließend die VM mit Optionen

--info     listet alle VMs auf der Konsole auf
--vbox     startet das grafische Auswahlfenster und VirtualBox ohne die VM zu starten
-h                 Hilfe anzeigen
--local-snapshots  nur lokale Snapshots listen
--ignore-virtualbox        startet den leovirtstarter auch wenn gerade VirtualBox ausgeführt wird
--serverdir <abs path>     verwendet anderen Pfad statt SERVERDIR zu den remote VMs
leoclient2-base-snapshot-renew
Erstellt eine neue Basisfestplatte mit dem aktuellen Snapshot der zur bisherigen Basisfestplatte ge-„merged“ wird. Der „Aktuelle Zustand“ wird somit gesichert/festgeschrieben.
leoclient2-vm-move
Importiert eine VM (z.B. vom externen Speichermedium) oder verschiebt ein VM
VBoxManage
mit vielen Optionen Konsolen-Tool zum Bearbeiten von VMs
Entwicklungsdokumentation des leoclient2

siehe http://www.linuxmuster.net/wiki/entwicklung:linuxclient:leoclient2

LINBO nutzen

LINBO steht für GNU/Linux Network Boot. Es wurde im Auftrag des Landesmedienzentrums Baden-Württemberg von der Firma KNOPPER.NET in Zusammenarbeit mit den damaligen paedML-Linux- und heutigen linuxmuster.net-Entwicklern realisiert. Der Sourcecode ist unter GNU General Public License Version 2 veröffentlicht.

LINBO bietet

  • vollautomatisches Ausrollen von Client-Installationen im Netzwerk
  • Verwaltung mehrerer Betriebssystem-Installationen auf einem Client (Multiboot)
  • minutenschnelle automatische Reparatur des Betriebssystems (SheilA-Prinzip)
  • konfigurierbarer Autostart
  • grafische Client-Oberfläche zur einfachen Bedienung durch Anwender und Netzwerkbetreuer
  • vollständige Integration in die linuxmuster.net

Der LINBO Startbildschirm

Wird der Arbeitsplatzrechner (Client-PC) über das Netzwerk gebootet, startet LINBO und zeigt folgenden Bildschirm, wenn der PC noch nicht aufgenommen / registriert wurde.

Linbo Startbildschirm eines nicht aufgenommenen Client

Linbo Startbildschirm eines nicht aufgenommenen Clients

Sobald der Client registriert wurde, zeigt der Startbildschirm weitere Optionen an.

Linbo Startbildschirm eines aufgenommenen Clients

Linbo Startbildschirm eines aufgenommenen Clients

Informationen

Im oberen Teil in LINBO werden Informationen zum Client angezeigt.

Host
Der festgelegte Hostname oder “pxeclient”, wenn der Client nicht registriert ist.
Gruppe
Die festgelegte Hardwareklasse
IP, MAC
Die festgelegten Netzwerkadressen oder “OFFLINE”, wenn der Client ohne Netzwerkverbindung zum Server gestartet wurde.
HD, CPU, RAM
Zeigt die entsprechend verbaute Hardware des Clients an: Festplattengröße, Prozessor und Hauptspeicherinformationen
Cache
Zeigt die freie/gesamte Partitionsgröße der Cache-Partition an.

Neben der (vermutlich) aktuellen Uhrzeit auf dem Client werden im unteren Teil Status- und Rückmeldungen der einzelnen Aktionen in einem scrollbaren Texftfeld angezeigt, die bei einer Fehlersuche Informationen liefern können.

Reboot

_images/system-reboot-32x32.png

erzwingt einen Neustart und

_images/system-shutdown-32x32.png

lässt den Client herunterfahren.

Start-Reiter

Pro festgelegter Partition (mit Betriebssystem oder ohne) erscheinen im Start-Reiter ein großer Knopf und vier kleinere Knöpfe mit folgenden Bedeutungen

_images/sync+start-22x22.png

Sync+Start Knopf

synchronisiert das System mit dem letzten aktuellen Abbild. Bei Windows-Systemen wird eine bereitgestellte Registry-Patch-Datei angewendet. Bei Linux-Systemen werden Hostname und Rootpartition gepatcht. Falls ein neueres Abbild auf dem Server liegt, wird dies zunächst heruntergeladen.
_images/start-22x22.png

Start Knopf

startet das System im aktuellen Zustand, unsynchronisiert, keine Patches werden angewandt.
_images/new+start-22x22.png

Neu+Start Knopf

formatiert die relevante Partition neu, synchronisiert das System von Grund auf mit dem aktuellen Image und startet das System wie bei “Sync+Start”.
_images/information-22x22.png

Information

zeigt Informationen über das aktuell hinterlegte Abbild an.
_images/ubuntu.png

Standardknopf Ubuntu

_images/Windows.png

Standardknopf Windows

führt die Startmethode aus, die als solche definiert wurde.

Note

Die einzelnen Schaltflächen für die Startmechanismen können auch ausgegraut sein, wenn der Administrator den jeweiligen Mechanismus deaktiviert hat.

Imaging-Reiter

Hier können die Abbilder (Images) verwaltet werden. Der Bereich ist mit dem Passwort von “LINBO” abgesichert.

_images/password-dialog.png

Attention

Bei der Eingabe des LINBO-Passwortes werden keine Zeichen angezeigt, weder das Passwort selbst, noch Sterne.

LINBO Imageverwaltung am Client

Über den Tab “Imaging” erhält der Administrator neue Funktionen

_images/linbo-imagingscreen.png

Für jedes definierte Betriebssystem gibt es Schaltflächen für die Funktionen

_images/image-22x22.png

Image erstellen

Es öffnet sich ein neues Dialogfenster, über das man ein neues Abbild erstellen (und hochladen) kann.
_images/upload-22x22.png

Image hochladen

Es öffnet sich ein neues Dialogfenster, über das man das aktuelle Abbild auf den Server hochladen kann.

Daneben können gibt es Schaltflächen für folgende administrative Funktionen

_images/console-22x22.png

Console

Man kann eine (rudimentäre) Console öffnen, um Shell-Befehle abzusetzen und Fehler zu diagnostizieren.
_images/cache-22x22.png

Cache aktualisieren

Üblicherweise wird eine Partition auf dem Client als Cache festgelegt. Mit dieser Schaltfläche kann der Cache aktualisiert werden, d.h. alle für diesen Client nötigen Abbilder und postsync-Dateien werden gegebenenfalls heruntergeladen.
_images/partition-22x22.png

Partitionieren

Partitioniert die gesamte Festplatte.
_images/register-22x22.png

Registrieren

Öffnet den Registrierungdialog zur erstmaligen Aufnahme dieses Rechners.

Darüberhinaus läuft in einem kleinen Fenster ein Timeout herunter, den man abstellen kann. Dort kann man auch über die Schaltfläche LOGOUT zurück zum Startbildschirm.

Dialog: Image erstellen

_images/create-image-dialog.png

Zur Auswahl steht der momentane Name des Abbilds. Das aktuelle Abbild wird dann beim Erstellen überschrieben. Beim Hochladen des aktuellen Abbilds mit demselben Namen wird auf dem Server ein Backup des vorherigen Abbilds erstellt.

Wird ein neuer Dateiname gewählt, kann man Informationen zu dem neuen Image verfassen.

Warning

Vergibt man einen neuen Dateinamen, sollte man sicher stellen, dass die Cache-Partition über ausreichend Platz verfügt, da das alte Image ebenfalls im Cache gespeichert bleibt. Ist nicht genügend Platz vorhanden, dann schlägt das Erstellen des Abbildes fehl.

Wird “Differentielles Image” gewählt, dann gilt der neue Dateiname für das zu erstellende differentielle Image (mit der Dateiendung ‘.rsync’).

Es gibt die beiden Optionen zum Abschluss der Aktion “Erstellen” oder “Erstellen+Hochladen” den Computer neu zu starten oder herunterzufahren.

Dialog: Image hochladen

_images/upload-image-dialog.png

Wie beim Image erstellen Dialog, kann hier explizit nur ein ausgewähltes Image hochgeladen werden und der Rechner zum Abschluss neu gestartet oder heruntergefahren werden.

Dialog: Console

_images/console-dialog.png

Der einfache Konsolendialog erlaubt die Eingabe einzelner Befehle in die untere Zeile. Die Ausgabe des ausgeführten Befehls erscheint im oberen Fenster.

Dialog: Cache aktualisieren

_images/update-cache-dialog.png

Der Cache wird aktualisiert. Es werden die drei Möglichkeiten der Synchronisation zur Auswahl gegeben: Rsync, Multicast oder Bittorrent.

Dialog: Partitionieren

Es wird noch einmal gefragt, ob man wirklich alle Daten auf der Festplatte löschen will. Danach kann man mit “Cache aktualisieren” aber auch wieder die Abbilder vom Server kopieren.

Dialog: Registrieren

_images/register-dialog.png

Mit diesem Dialog kann ein erstmalig genutzer Rechner registriert werden. Dafür müssen alle Eingabefelder dem Vergabeschema entsprechend ausgefüllt werden.

Boot-Bildschirme in LINBO

Beim Booten in LINBO sind folgende Bildschirme sichtbar:

  • Bootvorgang via Netzwerk
Initialmeldungen beim Bootvorgang via Netzwerk (PXE)

Initialmeldungen beim Bootvorgang via Netzwerk (PXE)

  • Egal ob über die lokale Festplatte gebootet wurde oder nach dem Bootvorgang via Netzwerkkarte (PXE) wird mit der Gruppenkonfiguration der Kernel geladen.
Bootbildschirm: Laden des Kernels

Bootbildschirm: Laden des Kernels

  • Der gebootete LINBO-Kernel erscheint als ASCII-Art.
LINBO-Kernelboot ASCII-Art

LINBO-Kernelboot ASCII-Art

  • Die Grub-Konfiguration wird aktualisiert.
LINBO-Grub Installation

LINBO-Grub Installation

Darauf folgt der reguläre LINBO Startbildschirm.

Boot-Abbild für USB-Sticks und CD/DVD

Zum Brennen auf CD/DVD oder zum Kopieren auf einen USB-Stick kann man unter der Adresse

https://server/linbo.iso das aktuelle LINBO herunterladen und auf einen USB-Stick oder eine CD/DVD kopieren.

Das Booten eines Rechers mit einem Linbo-Stick/Linbo-CD/CVD kann nötig werden, wenn - in seltenen Fällen - Linbo nicht per PXE installiert wird.

Bootet man einen Rechner vom Stick, oder von einer CD/DVD, dann sieht man folgendes Bild:

_images/linbo_screen1.png

Mit Enter wird der Client gebootet

_images/linbo_screen2.png

Mit der Auswahl Ersteinrichtung + Neustart wird Linbo eingerichtet und der Rechner mit Linbo gestartet. Nach einem Neustart stehen alle Linbo-Funktionen zur Verfügung (Bild unten).

Mit der Auswahl Debugmodus wird im Textmodus nur bis zur Konsole gebootet.

_images/linbo_screen4.png

Linux-Client - Anpassungen mit Postsync-Scripten

Linux-Clients können in linuxmuster.net mithilfe sog. Postsync-Scripte an besondere Nutzungssituationen sehr variabel angepasst werden.

Nach erfolgreicher Synchronisation mit dem Client-Image, das auf dem Server liegt (sog. Cloop), werden weitere Scripte auf dem Client ausgeführt. Es können so z.B. bestimmte Dateien vom Server auf den Client gespielt werden, oder z.B. auf dem Lehrer-PC spezifische Anpassungen vorgenommen werden, die die anderen Schüler-PCs nicht erhalten.

Inhalt:

Funktionsweise und Grundlagen der Postsync-Scripte

Allgemeines

Nachdem der Linux-Client mit Linbo seinen lokalen Cache mit dem Cloop auf dem Server synchronisiert hat, wird ein vorhandenes Postsync-Script angewendet, das für ein sog. Cloop (also ein Client-Image) auf dem Server vorhanden ist. Wird ein sog. universelles Postsync-Script erstellt, so können sog. Patches – also spezifische Anpassungen – für die Patchklasse, den Raum und ggf. einzelne Rechner angewendet werden.

Nach der Synchronisation werden die Clients durch das Script vollständig auf deren Einsatzumgebung angepasst wird. Hierdurch können z.B. spezielle Anpassungen für Lehrer – PCs in einzelnen Räumen, oder für alle zu nutzenden Drucker bereitgestellt werden.

Wo liegt das Postsync-Script ?

Das Postsync-Script liegt im Verzeichnis:

/var/linbo/<LinuxImagename>.cloop.postsync

Es weist folgende Rechte auf:

-rw-rw---- 1 root root

Attention

Dieses Script wird also auf das jeweilige Cloop angewendet.

Patchklassen für Postsync-Scripte

Wo müssen die Anpassungen (Patches) abgelegt werden ?

Unter

/var/linbo/linuxmuster-client/

Dort finden sich weitere Unterverzeichnisse. Diese stellen die sog. Patchklasse dar. Wird also z.B. der Linuxmuster-Client 14.04 (trusty = Name der Patchklasse) verwendet, so sind alle weiteren Patches für 14.04er-Clients in diesem Verzeichnis abzulegen.

Die Anpassungen finden sich also unter:

/var/linbo/linuxmuster-client/trusty/

Bei Linuxmuster-Clients 16.04 (Xenial) wäre dies z.B. das Verzeichnis:

/var/linbo/linuxmuster-client/xenial/

Diese Patches werden nach folgendem Schema angewendet:

im Unterverzeichnis .../common liegende Patches erhalten alle Rechner
im Unterverzeichnis  .../r100 liegende Patches erhalten nur die Rechner in Raum r100
im Unterverzeichnis .../r100-pc01 liegende Patches erhält nur der PC01 in Raum r100 die Dateien.

Unterhalb dieser Verzeichnisse sind alle Anpassungen so abzulegen, wie diese dann auf den betreffenden Clients angewendet werden sollen - bsp.:

.../common/etc/cups/cups.conf

Auf diese Weise würde die Datei cups.conf im Verzeichnis /etc/cups auf allen Clients der Patchklasse angepasst werden.

In der Patchklasse xenial würde eine Änderung der Datei rc.local auf allen Rechnern in folgendem Verzeichnis abgelegt:

/var/linbo/linuxmuster-client/xenial/common/etc/rc.local

Um auf dem Server obige Verzeichnisstruktur zu erhalten, ist auf dem linuxmuster.net Server das Paket linuxmuster-client-servertools zu installieren.

Hierzu ist folgender Befehel anzuwenden:

sudo apt-get install linuxmuster-client-servertools

Dieses Paket liefert ein sog. universelles Postsync-Script mit, das weiter angepasst und auf die Cloops angewendet werden kann.

Dieses Script ist zur Anwendung auf ein Cloop entsprechend zu kopieren nach:

/var/linbo/<LinuxImagename>.cloop.postsync

Die Vorlage des universellen Postsync-Scriptes liegt in folgendem Verzeichnis:

/usr/lib/linuxmuster-client-servertools/generic.postsync

Dieses Script ist so aufgebaut, dass auch noch weitere Scripte ausgeführt werden (z.B. solche, die nur in Raum r100 ausgeführt werden sollen). Scripte, die abgearbeitet werden sollen, müssen in dem jeweiligen Unterverzeichnis postsync.d liegen.

Sollen Scripte für die Patchklasse xenial und dann nur auf PCs im Raum r100 angewendet werden, so müssen die Scripte in folgendem Verzeichnis liegen:

/var/linbo/linuxmuster-client/xenial/r100/postsync.d/

Die Skripte müssen Sh-Scripte sein, da Linbo keine BASH als Shell kennt.

In diesen Scripten ist der Shebang

#!/bin/sh

voranzustellen.

Beipiele für solche Scripte finden sich im Verzeichnis

/usr/lib/linuxmuster-client-servertools/generic.postsync/generic.postsync.d/

Es finden sich folgende Skripte als Beispielvorlagen:

-rw-r--r-- 1 root root 269 Nov 21  2016 00-lcst-fix-initrd
-rw-r--r-- 1 root root 540 Nov 21  2016 01-lcst-setlocalpasswords
-rw-r--r-- 1 root root 232 Nov 21  2016 02-lcst-patch-sshd-config
-rw-r--r-- 1 root root 673 Nov 21  2016 03-lcst-fix-fstab
-rw-r--r-- 1 root root 564 Nov 21  2016 04-lcst-generate-hosts

Diese können für die gewünschte Patchklasse in das jeweilige Verzeichnis kopiert und angepasst werden. Diese Scripte werden entsprechend ihrer lexikalischen Reihenfolge ausgeführt, also hier beginnend mit der niedrigsten Ziffer.

Nachstehende Abbildungen verdeutlichen diesen Aufbau:

_images/patchclasses-postsync.png

Das allgemeine Postsync-Script arbeitet nach folgendem Schema:

_images/scheme-for-general-postsync-usage.png

Beispiel

Nachstehender Verzeichnisbaum verdeutlicht, dass für Linuxmuster-Clients für alle PCs der Patchklasse xenial alles unterhalb von ./common angewendet wird. Zudem wird für den raum1 alles unterhalb von ./raum1 angewendet und schließlich wird für den Lehrer-PC in raum1 alles unterhalb von ./raum1-lehrer-pc angewendet.

19:06/0 server /var/linbo/linuxmuster-client/xenial # ls -ld $(find .)
drwxr-xr-x 7 root root 4096 Nov 20 10:25 .
drwxr-xr-x 3 root root 4096 Apr 22  2016 ./common
drwxr-xr-x 3 root root 4096 Mär 17 12:54 ./common/etc
drwxrwxr-x 2 root root 4096 Mai  9  2016 ./common/etc/cups
-rw-r--r-- 1 root root   21 Mai  9  2016 ./common/etc/cups/client.conf
-rw-r--r-- 1 root root  797 Mär 31 09:16 ./common/etc/fstab
-rw-r--r-- 1 root root  443 Mai  9  2016 ./common/etc/hosts
drwxr-xr-x 4 root root 4096 Mär 26  2015 ./raum1
drwxr-xr-x 7 root root 4096 Nov 20 10:10 ./raum1/etc
drwxr-xr-x 2 root root 4096 Apr 14 10:38 ./raum1/etc/cups
-rw------- 1 root root 3588 Apr 14 10:40 ./raum1/etc/cups/printers.conf
drwxr-xr-x 2 root root 4096 Mär 26  2015 ./raum1/etc/default
-rw-r--r-- 1 root root  369 Nov  5  2011 ./raum1/etc/default/epoptes
-rw-r--r-- 1 root root  668 Nov 20 10:01 ./raum1/etc/default/epoptes-client
drwxr-xr-x 2 root root 4096 Mär 26  2015 ./raum1/etc/epoptes
-rw-r--r-- 1 root root  875 Mär 26  2015 ./raum1/etc/epoptes/server.crt
-rw------- 1 root root  916 Mär 26  2015 ./raum1/etc/epoptes/server.key
-rw-r--r-- 1 root root  984 Nov 20 10:18 ./raum1/etc/hosts
drwxr-xr-x 2 root root 4096 Mär 26  2015 ./raum1/etc/init.d
-rwxr-xr-x 1 root root 1645 Apr  8  2012 ./raum1/etc/init.d/epoptes
-rwxr-xr-x 1 root root 1124 Apr  8  2012 ./raum1/etc/init.d/epoptes-client
drwxr-xr-x 3 root root 4096 Mär 26  2015 ./raum1/etc/xdg
drwxr-xr-x 2 root root 4096 Mär 26  2015 ./raum1/etc/xdg/autostart
-rw-r--r-- 1 root root  428 Nov 20 10:45 ./raum1/etc/xdg/autostart/epoptes-client.desktop
drwxr-xr-x 5 root root 4096 Jan 22 18:23 ./raum1-lehrer-pc
drwxr-xr-x 7 root root 4096 Nov 20 10:10 ./raum1-lehrer-pc/etc
drwxr-xr-x 2 root root 4096 Okt 23  2014 ./raum1-lehrer-pc/etc/cups
-rw------- 1 root root 3588 Apr 14 10:40 ./raum1-lehrer-pc/etc/cups/printers.conf
drwxr-xr-x 2 root root 4096 Mär 26  2015 ./raum1-lehrer-pc/etc/default
-rw-r--r-- 1 root root  370 Nov 20 10:14 ./raum1-lehrer-pc/etc/default/epoptes
-rw-r--r-- 1 root root    0 Nov 20 10:21 ./raum1-lehrer-pc/etc/default/epoptes-client
drwxr-xr-x 2 root root 4096 Mär 26  2015 ./raum1-lehrer-pc/etc/epoptes
-rw-r--r-- 1 root root  875 Mär 26  2015 ./raum1-lehrer-pc/etc/epoptes/server.crt
-rw-r--r-- 1 root root  916 Mär 26  2015 ./raum1-lehrer-pc/etc/epoptes/server.key
-rw-r--r-- 1 root root  983 Nov 20 10:17 ./raum1-lehrer-pc/etc/hosts
drwxr-xr-x 2 root root 4096 Mär 26  2015 ./raum1-lehrer-pc/etc/init.d
-rwxr-xr-x 1 root root 1645 Apr  8  2012 ./raum1-lehrer-pc/etc/init.d/epoptes
-rwxr-xr-x 1 root root    0 Nov 20 10:22 ./raum1-lehrer-pc/etc/init.d/epoptes-client

Universelles Postsync-Script

Das universelle Postsync-Script weist derzeit folgenden Inhalt auf:

echo "##### POSTSYNC BEGIN #####"
LOG=/mnt/var/log/postsync.log
echo "##### POSTSYNC BEGIN #####" >  $LOG
NOW=$(date +%Y%m%d-%H%M)
echo $NOW | tee -a $LOG

# IP-Adresse des Servers
SERVERIP=$(nslookup dummy 2> /dev/null | head -n 1 | awk -F: '{print $2}' | sed "s/\s*//g")

# Die Hostgruppe des aktuellen Rechners
HOSTGROUP=$(hostgroup)

# Raum feststellen. Dieses Skript geht davon aus
# dass die Rechner Namen der Form
# raumname-hostname haben, also z.B. cr01-pc18
RAUM=${HOSTNAME%%-*}
# wenn der string leer ist, raum auf unknown setzen
if [ "x${RAUM}" == "x" ]; then
    RAUM="unknown"
fi

# UVZ für die Patches auf dem Server. Mit dieser Variablen
# kann man verschiedene Patches, z.B. für unterschiedliche
# Linux-Versionen bereitstellen.
# Wenn man hier $HOSTGROUP einträgt, erhält jede Rechnerklasse
# ein eigenes Patchklassenverzeichnis auf dem Server.
# Damit kann man verschiedene Patchklassen mit derselben cloop-Datei
# bedienen, wenn man das benötigt.
PATCHCLASS="trusty"

# Das Verzeichnis, in dem die Serverpatches
# im lokalen Clientcache synchronisiert werden.
PATCHCACHE=/linuxmuster-client/serverpatches

echo "" | tee -a $LOG
echo "Hostname:      ${HOSTNAME}" | tee -a $LOG
echo "Raum:          ${RAUM}" | tee -a $LOG
echo "Patchcache:    ${PATCHCACHE}" | tee -a $LOG
echo "Hostgruppe:    ${HOSTGROUP}"   | tee -a $LOG
echo "Patchclass:    ${PATCHCLASS}" | tee -a $LOG
echo "" | tee -a $LOG

# -----------------------------------------
# Patchdateien auf das lokale Image rsyncen
# -----------------------------------------
echo " - getting patchfiles" | tee -a $LOG

# RAUM     -> Raumname
# HOSTNAME -> Rechnername
# Verzeichnis anlegen, damit es sicher existiert
mkdir -p /cache/${PATCHCACHE}
rsync --delete --progress -r "${SERVERIP}::linbo/linuxmuster-client/${PATCHCLASS}" "/cache/${PATCHCACHE}" | tee -a $LOG

echo " - patching local files"  | tee -a $LOG

# common: Bekommen alle clients der Patchklasse
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common ]; then
    echo "   - patching common to /mnt" | tee -a $LOG
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/common/* /mnt/ | tee -a $LOG
fi

# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common/tarpacks ]; then
  echo "   - unpacking tarpacks from common/tarpacks to /mnt" | tee -a $LOG
  for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/common/tarpacks/*; do
     echo "     - unpacking: $pack" | tee -a $LOG
     tar xvzf $pack -C /mnt | tee -a $LOG
  done
fi

# Raum: Nur die Clients des Raums
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM} ]; then
    echo "   - patching ${RAUM} to /mnt" | tee -a $LOG
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/* /mnt/ | tee -a $LOG
fi

# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/tarpacks ]; then
  echo "   - unpacking tarpacks from ${RAUM}/tarpacks to /mnt" | tee -a $LOG
  for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/tarpacks/*; do
     echo "     - unpacking: $pack" | tee -a $LOG
     tar xvzf $pack -C /mnt | tee -a $LOG
  done
fi

# Host: Nur der Rechner
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME} ]; then
    echo "   - patching ${HOSTNAME} to /mnt"  | tee -a $LOG
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/* /mnt/ | tee -a $LOG
fi

# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/tarpacks ]; then
  echo "   - unpacking tarpacks from ${HOSTNAME}/tarpacks to /mnt" | tee -a $LOG
 for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/tarpacks/*; do
     echo "     - unpacking: $pack" | tee -a $LOG
    tar xvzf $pack -C /mnt | tee -a $LOG
 done
fi

# Hook, um eigene Skripte auszuführen
if [ -d /mnt/postsync.d ]; then
     for SCRIPT in /mnt/postsync.d/*
    do
        chmod 755 $SCRIPT
        echo "Executing: $SCRIPT" | tee -a $LOG
        #$SCRIPT > /dev/null 2>&1
        $SCRIPT | tee -a $LOG
        echo " ...done." | tee -a $LOG
    done
    rm -rf /mnt/postsync.d
 # wenn es /mnt/tarpacks gibt - löschen
 rm -rf /mnt/tarpacks

# hostname in /etc/hosts patchen
    sed -i "s/HOSTNAME/$HOSTNAME/g" /mnt/etc/hosts
     sed -i "s/#SERVERIP/$SERVERIP/g" /mnt/etc/hosts

# Zeitstempel letzter sync hinterlegen
echo $NOW > /mnt/lastsync

echo "##### POSTSYNC END #####" | tee -a $LOG

Aktualisierungen für dieses Script finden sich unter:

https://github.com/linuxmuster/linuxmuster-client-servertools/blob/master/usr/lib/linuxmuster-client-servertools/generic.postsync

Troubleshooting

Welche Möglichkeiten der Fehlersuche gibt es ?

Vom linuxmuster.net Server aus kann man sich auf dem Client mithilfe von linbo_ssh anmelden und dort z.B. den Synchronisationsvorgang aktivieren. Es lassen sich so dann die Postsync-Ausgaben / Fehlermeldungen auf dem Client einsehen.

Das Postsync-Script schreibt eine LOG-Datei, die auf dem Client unter

/mnt/var/log/postsync.log abgelegt wird.

Auf dem linuxmuster.net Server gibt man hierzu folgendes an, um den Client zu starten, zu synchronisieren und dann in den Linbo-Bildschirm zu gelangen, um die Log-Datei einzusehen:

linbo-remote -i <IP-Adresse des Clients> -b 5 -w 130 -c sync:1
linbo-ssh <client-name / oder IP-Adresse>
less /var/log/postsync.log

Herunterfahren der Clients mit:

linbo-remote -i <Client-name / IP-Adresse> -c halt

Benutzer verwalten mit der Schulkonsole

Dieses Dokument gibt Schritt-für-Schritt-Anleitungen für die wichtigsten Tätigkeiten, die der Netzwerkbetreuer im Hinblick auf die Benutzer mit der Schulkonsole durchführt.

In der Schulkonsole werden grundlegende Einstellungen vorgenommen, die Benutzerlisten gepflegt und geprüft sowie Benutzer angelegt, versetzt und gelöscht, außerdem die Passwörter und der Plattenplatz (Quotas) für alle Benutzer und Gruppen verwaltet. Nur Passwörter von Schülern/innen sowie Projekte können auch von Personen mit normalen Lehrer-Rechten verwaltet werden.

Benutzergruppen in der linuxmuster.net

Wenn man auf Dienste und Dateien des Servers zugreifen möchte, muss man sich mit einem Benutzernamen (Loginname) und einem Kennwort (Passwort) am Server anmelden (authentifizieren). Dabei sollen nicht alle Benutzer am System auf die gleichen Dateien und Drucker zugreifen oder an Dateien die selben Rechte haben können.

Es ist üblich, Benutzer, die gleiche Rechte haben sollen, zu Benutzergruppen zusammenzufassen. In der linuxmuster.net gibt es, angepasst auf Schulbedürfnisse, die folgenden Hauptbenutzergruppen:

<Klassengruppe> (z.B. 10a, 5a, usw):
Schüler-Benutzer mit (halb)privatem Datenbereich. Es dürfen keinerlei Systemdateien modifiziert werden.
teachers:
Lehrer-Benutzer mit privatem Datenbereich. Es dürfen keine Systemdateien modifiziert werden. Zusätzlich hat der Lehrer Zugriff auf alle Klassentauschverzeichnisse und lesenden Zugriff auf die Schüler-Homeverzeichnisse. Alle Lehrer können über die Schulkonsole pädagogisch notwendige Aufgaben auf dem Server ausführen (z. B. Dateien austeilen, Internetzugang abschalten)
domadmins:
Dürfen alle für den reinen Schulbetrieb wichtigen Aufgaben am Server durchführen, vor allem der Benutzer administrator wird dafür verwendet.
root:
Darf ohne Einschränkung alle Aufgaben am Server durchführen. (u.a. alle Dateien, auch Passwortdateien, einsehen/verändern/löschen)

Konfiguration vor dem ersten Anlegen von Benutzern

Nach Installation des Servers sollten Sie vorab einige Konfigurationseinstellungen für Ihre Schule festlegen.

Melden Sie sich an der Schulkonsole durch Eingabe von https://server:242 in einen Browser als administrator an. Die meisten der Festlegungen können in der Schulkonsole im Menü unter Einstellungen -> Benutzerverwaltung gemacht werden.

Lesen Sie die Bedienungsanleitung unter Benutzerverwaltung, um folgende Einstellungen vorzunehmen:

  • Legen Sie fest, ob die Passwortgüte überprüft wird und welche minimale Länge gefordert werden soll.
  • Stellen Sie die momentan zulässigen Geburtsjahreszahlen für Schüler ein.
  • Entscheiden Sie, ob Sie Speicherplatzkontingente (Quota) festlegen wollen und legen Sie die Menge fest. Beachten Sie, dass ein Benutzer höhere Quota von einer Gruppe erbt, der er angehört.
  • Entscheiden Sie die Zusammensetzung der internen E-Mail-Adressen, falls Sie diese Funktion an der Schule verwenden wollen. Stellen Sie ebenso die Schwelle für Warnungen bei Plattenplatzmangel für E-Mails ein.
  • Stellen Sie ein, ob und wieviel Zeichen die Zufallspasswörter für Schüler und Lehrer bekommen.
  • Legen Sie fest, ob Lehrer oder Schüler ein Terminal auf einem Linux-Client öffnen können darf.
  • Legen Sie einige Daten fest, die beim Ausdruck von Passwortinformationen für Benutzer verwendet werden.

Anlegen, Versetzen und Löschen von Benutzern

Um Benutzer neu aufzunehmen, zu versetzen oder zu löschen müssen die folgenden Schritte nacheinander ausgeführt werden:

  • Schüler und Lehrerliste aus dem Schulverwaltungsprogramm exportieren.
  • Die Benutzerlisten auf dem Server aktualisieren. Dazu gehört im Einzelnen:
    • die Schülerliste in das System übertragen,
    • die Änderungen bei den Lehrern einzeln eingeben,
    • evtl. eine Extraliste für Gast- und Kooperationsschüler, die nicht in das Schulverwaltungsprogramm aufgenommen werden, pflegen,
    • evtl. eine Extraliste für Kurse mit schulfremden Teilnehmern pflegen.
  • Alle Benutzerlisten auf Fehleingaben, oder Ähnlichkeiten mit vorhandenen Benutzern prüfen.
  • Danach evtl. die Benutzerlisten entsprechend korrigieren.
  • Benutzerdaten übernehmen, d.h. Benutzer jetzt tatsächlich anlegen, versetzen oder löschen
  • Passwortlisten bzw. Anmeldekärtchen ausdrucken

Änderung von Benutzerdaten

Sind Sie an der Schulkonsole als administrator angemeldet, erhalten Sie unter der Rubrik Benutzer die folgenden Menüpunkte, in der schwebenden Hilfe erhalten Sie eine Übersicht mit einer kurzen Beschreibung der Vorgehensweise zum Anlegen, Versetzen und Löschen von Benutzern:

_images/schulkonsole-benutzer-menue.png

Diese Vorgänge zum Aufnehmen, Versetzen und Löschen von Benutzern können beliebig oft im Verlauf eines Schuljahres durchgeführt werden.

_images/schulkonsole-benutzer-hilfe.png
Export von Schüler- und Lehrerliste aus dem Schulverwaltungsprogramm

Die meisten Schulverwaltungsprogramme bieten die Möglichkeit, eine Schüler- und eine Lehrerliste für die linuxmuster.net zu exportieren. Dabei werden die Daten mit dem benötigten Datensatzformat untereinander in eine Textdatei geschrieben. Für die Schülerliste gilt folgendes Format:

Klasse;Nachname;Vorname;Geburtsdatum;Nr;

Dabei ist das letzte Feld optional. Es enthält die im Schulverwaltungsprogramm eindeutig vergebene Schülernummer. Ist sie vorhanden, sollte man sie unbedingt mit übernehmen, das sie die Identifikation des richtigen Datensatzes bei Versetzungen, Namensänderungen usw. erheblich erleichtert. Falls die Nummer nicht vorhanden ist, besteht jede Zeile nur aus den 4 Feldern

Klasse;Nachname;Vorname;Geburtsdatum;

Auch wenn Ihr Schulverwaltungsprogramm keine direkte Ausgabe für die Musterlösung vorsieht, können die Daten meist unter Angabe der benötigten Felder und mit dem Semikolon als Trennzeichen exportiert werden.

Wichtig ist noch, die Kodierung zu wissen, da man diese in der Schulkonsole unter Schulkonsole vor dem ersten Import einstellen muss. [1]

Pflege der Schülerdatei
_images/schulkonsole-schueler-pflegen.png

Die Datei aus dem Schulverwaltungsprogramm können Sie mittels Durchsuchen auswählen und dann mittels Hochladen auf den Server kopieren. Sie wird automatisch umbenannt und liegt dann als Datei schueler.txt im Verzeichnis /etc/sophomorix/user. Dort befinden sich alle Benutzer- und Konfigurationsdateien von Sophomorix.

Im Abschnitt Editieren können Sie zwar die Datei schueler.txt editieren und anschließend Änderungen übernehmen anklicken, davon sollten Sie jedoch nur in Ausnahmefällen Gebrauch machen, da mit dem Einspielen einer neuen Datei aus dem Schulverwaltungsprogramm Ihre Änderungen wieder überschrieben werden.

Wenn Daten korrigiert werden müssen, geben Sie Rückmeldung an das Sekretariat z.B. mit Hilfe des Report für das Sekretariat, damit die Daten dort korrigiert werden. Spielen Sie die geänderte Datei dann neu ein.

Wollen Sie zusätzliche Schüler eingeben, die nicht in das Schulverwaltungsprogramm aufgenommen werden, so verwenden Sie dazu die Datei extraschueler.txt, die Sie über Extralisten pflegen editieren können.

Pflege der Lehrerdatei

Für die Lehrer besteht die Möglichkeit einen Wunsch-Login-Namen anzugeben. Der Datensatz aus dem Schulverwaltungsprogramm wird also um ein Feld ergänzt. Der Klassenname ist für alle Lehrer lehrer, somit ist das Format der Datei lehrer.txt:

lehrer;Nachname;Vorname;Geburtsdatum;Wunschlogin;

Außerdem werden von Sophomorix noch die für einzelne Lehrer gesondert eingegebenen Quotas hinten angehängt.

Aus diesem Grund macht es keinen Sinn, eine vorhandene Lehrerdatei mit derjenigen aus dem Schulverwaltungsprogramm zu überspielen, da Sie dann für alle Lehrer Wunschlogin und Sonderquota wieder neu eingeben müssten.

Sie erhalten deshalb in der Schulkonsole nur dann die Gelegenheit eine Datei auf den Server zu spielen, wenn noch keine Datei lehrer.txt vorhanden ist: Ist bereits eine Datei lehrer.txt im System vorhanden, entfällt der Abschnitt Datei importieren und Sie haben nur die Möglichkeit, die vorhandenen Lehrer zu editieren, wobei Sie den Loginnamen, der unter Kürzel steht, nicht ändern können:

Nach gemachten Änderungen müssen Sie Änderungen übernehmen anklicken, damit die geänderten Daten in die Datei lehrer.txt übernommen werden. [2]

Unterhalb des Abschnitts Lehrer hinzufügen finden Sie noch zwei weitere Abschnitte, um Lehrer zu editieren oder zu entfernen:

Auch hier gilt wieder: Änderungen übernehmen schreibt die Änderungen in die lehrer.txt, vollzieht sie aber noch nicht im System.

Pflege der Extraschüler und Extrakurse

Zur Verwaltung von Schülern, die nicht im Schulverwaltungsprogramm aufgenommen sind, gibt es für den administrator in der Schulkonsole unter der Rubrik Benutzer den Unterpunkt Extralisten pflegen:

Im Bereich Extraschüler editieren können Schüler von Kooperationsschulen oder Austausch- bzw. Gastschüler eingegeben werden. Die Syntax ist oben im Editierfenster erläutert und dieselbe wie bei der Schülerdatei, ergänzt um ein Feld für einen Wunschanmeldenamen:

Klasse;Nachname;Vorname;Geburtsdatum;Wunschlogin;

Der Name für die Klasse ist frei wählbar, z.B: koop (für Kooperation) oder at (für Austausch). Es können aber, gerade auch bei Kooperationsschülern, die bestehenden Klassennamen verwendet werden. Dies ist wichtig, falls der Zugriff auf das Klassentauschverzeichnis der Klasse ermöglicht werden soll. Bei neuen Gruppennamen, wird auch ein neues Klassentauschverzeichnis angelegt.

_images/schulkonsole-extraschueler.png

Hier wurden einige Schüler ohne Wunschloginnamen aufgenommen, teils in die Jahrgangsstufe 12 (12), teils in eine Extragruppe at*(Austauschschüler), die damit ein eigenes Tauschverzeichnis haben. Durch Anklicken von *Änderungen speichern werden die geänderten Daten in die Datei /etc/sophomorix/user/extraschueler.txt übernommen.

Unterhalb von Extraschüler editieren befindet sich Extrakurse editieren.

Für VHS-Kurse oder Lehrerfortbildungen mit schulfremden Lehrern können hier zeitlich befristete Gastkonten für einen gesamten Kurs mit einheitlichem Passwort generiert werden. Die Syntax ergibt sich aus der Beschreibung oben im Editierfenster.

Mit Änderungen übernehmen werden die geänderten Daten in die Datei /etc/sophomorix/user/extrakurse.txt geschrieben.

Übernahme geänderter Daten in das System

Durch die Änderungen der Dateien werden die Benutzer noch nicht in das System übernommen, da dieser Vorgang unter Umständen recht zeitaufwändig ist. Nachdem man alle gewünschten Änderungen vorgenommen hat, geschieht das ‘’in einem Rutsch’‘.

Benutzerlisten prüfen

Über den Schaltknopf Benutzerlisten überprüfen im Unterpunkt Benutzerlisten prüfen werden alle Dateien [3] von sophomorix-check daraufhin überprüft,

  • ob die Geburtsdaten im Rahmen der Vorgaben liegen,
  • ob die Benutzer schon im System vorhanden sind,
  • ob abgegangene Schüler gelöscht werden sollen, oder
  • ob Benutzer ähnlichen Namens zum Entfernen vorgesehen sind.

Nach erfolgtem Check wird ein Protokoll ausgegeben, aus dem man weitergehende Informationen entnehmen kann. Außerdem kann man im Erfolgsfall mit dem dann neu ausgewiesenen Link Benutzerdaten übernehmen gleich weitergehen:

Beim Überprüfen der Benutzerlisten werden intern alle Datensätze aus den vier Dateien sortiert in Benutzer,

  • die neu angelegt werden sollen,
  • die unverändert bleiben sollen,
  • die in eine andere Klasse versetzt werden sollen,
  • die entfernt werden sollen und solche,
  • die daraufhin überprüft werden sollen, ob sie mit kleinen Abweichungen anderen entsprechen, die aus dem System gelöscht werden sollen.
_images/schulkonsole-benutzer-pruefen.png
Benutzerdaten übernehmen

Hat man den Punkt Benutzerlisten prüfen erfolgreich durchlaufen, können die Daten jetzt in das System übernommen werden, d.h. die neuen Benutzer angelegt (sophomorix-add), die zu versetzenden versetzt (sophomorix-move) und die zu löschenden gelöscht (sophomorix-kill) werden. Unter dem Unterpunkt Benutzerdaten übernehmen bekommt man die Benutzer angezeigt, die zum Anlegen, Versetzen und Löschen vorgesehen sind:

Im Normalfall wird man alle drei Aktionen direkt nacheinander ablaufen lassen durch einen Klick auf die Schaltfläche Benutzer anlegen/versetzen/löschen. Man kann jedoch auch die Operationen einzeln ausführen lassen.

_images/schulkonsole-benutzer-uebernehmen.png

In obigem Beispiel würden zwei Benutzer neu angelegt. Während der Bearbeitung werden die laufenden Systemmeldungen ausgegeben.

_images/schulkonsole-benutzer-uebernehmen-log.png

Benutzer anlegen

Beim Anlegen wird jedem neuen Benutzer ein Benutzername (Loginname) und eine Gruppe, zu der er gehört und deren Rechte er hat, zugewiesen.

Der Benutzername wird bei Schülern aus Vor- und Nachnamen standardmäßig in der Form ”sechs Buchstaben des Nachnamens plus zwei Buchstaben des Vornamens” gebildet (bei kürzerem Nachnamen entsprechend weniger Buchstaben). Beim Anlegen der Benutzer werden Sonderzeichen umgeschrieben, d.h. ä, ö, ü und ß wird zu ae, oe, ue und ss. Bei Lehrern wird der Wunschloginname schon in der Datei lehrer.txt festgelegt. Das Geburtsdatum dient zur Unterscheidung bei gleichnamigen Benutzern. Ist der Benutzername bereits vorhanden, wird an den zweiten sonst gleichen Benutzernamen eine 1 angehängt.

In der linuxmuster.net wird jedem Schüler als Gruppe seine Klasse zugewiesen. Der Klassenbezeichner ist beliebig aber auf 8 Zeichen begrenzt. Dieser Bezeichner wird als primäre Gruppe verwendet. Alle Lehrer gehören der Gruppe teachers an.

Jeder neue Benutzer bekommt ein Passwort zugewiesen und erhält die angegebenen Standardquota.

Dies alles wird von sophomorix-add erledigt.

Benutzer versetzen

Zum neuen Schuljahr sind bei den Schülerdaten aus dem Schulverwaltungsprogramm die neuen Klassen angegeben. sophomorix-move versetzt diese Schüler automatisch in die neuen Klassen.

Beim Versetzen bzw. Löschen ist folgende Besonderheit zu beachten:

Ist der Datensatz eines Benutzers nicht mehr in der zugehörigen Textdatei (z.B. bei Schülern in der schueler.txt) vorhanden, wird er nicht sofort gelöscht, sondern er wird auf den Dachboden (Gruppe attic) geschoben und bekommt den Status

T (tolerated).

Ab sofort wird der Benutzer nur noch geduldet, d.h. er kann sich noch anmelden, hat aber keinen Zugriff mehr auf sein Klassentauschverzeichnis.

Ist der Duldungszeitraum abgelaufen, bekommt er nach dem nächsten Überprüfen der Benutzerdaten den Status

D (disabled).

Jetzt beginnt der Reaktivierungszeitraum, der Benutzer kann sich jetzt nicht mehr anmelden. Seine Daten werden aber noch nicht gelöscht und befinden sich weiterhin auf dem Dachboden (attic). Ist der Reaktivierungszeitraum beendet, wird der Benutzer mit dem nächsten Benutzerdaten überprüfen durch Vergabe des Status

R (removable)

zum Löschen freigegeben und beim nächsten Aufruf von Löschen sophomorix-kill tatsächlich gelöscht.

Benutzer löschen

Durch Auswahl von Benutzer löschen werden zum Löschen markierte Benutzer mitsamt ihren Daten aus dem System entfernt und können nicht wieder zurückgeholt werden.

Berichte

Im Unterpunkt Berichte finden Sie unter Administrator-Report ein Protokoll des letzten Durchlaufs zu anlegen/versetzen und löschen evtl. versehen mit dem Hinweis Teach-in aufzurufen, was über Benutzerlisten prüfen gemacht werden kann.

Unter Protokoll für das Sekretariat finden Sie Angaben zu Datensätzen, die nicht den Vorgaben von Sophomorix entsprechen.

Diese Fehler sollten im Schulverwaltungsprogramm korrigiert werden, dann die Datei neu exportiert und wieder ins System übernommen werden. (Nicht von Hand editieren unter Schülerliste pflegen!)

Sollte sich hier herausstellen, dass die Umlaute und Sonderzeichen, wie z.B. é, nicht richtig übernommen wurden, liegt das wahrscheinlich an unterschiedlich eingestellten Zeichensätzen der beteiligten PCs. Dann kann z.B. mittels Aufruf der Datei schueler.txt als csv-Datei in LibreOffice der Zeichensatz geändert werden (z.B. auf utf8). Danach sollte dann die Übertragung problemlos möglich sein.

Benutzer reaktivieren

Sind Schüler oder Lehrer, die bereits einen Benutzernamen haben, nicht mehr in den Benutzerlisten aufgeführt, so werden sie auf den Dachboden verschoben. War das Entfernen aus den Benutzerlisten ein Versehen, können Benutzer vom Dachboden wieder vollwertig in das System zurückgeholt (reaktiviert) werden, indem man folgende Schritte nacheinander ausführt.

  • Die Benutzer werden wieder in die Benutzerlisten eingetragen,
  • Benutzer -> Benutzerlisten prüfen,
  • Benutzer -> Benutzerdaten übernehmen -> Benutzer versetzen.

Danach können sich die Benutzer wieder anmelden und haben wieder alle ihre Daten im Home- und den Tausch-Verzeichnissen zur Verfügung.

[1]Die Kodierung kann auch nachträglich geändert werden. Dabei ist die Reihenfolge wichtig: Zuerst die neue Kodierung einstellen, dann die Benutzer in das System übernehmen, damit sie in der richtigen Kodierung übernommen werden. Eine Kontrolle der Umlaute ist ein gutes Indiz für die richtig eingestellte Kodierung.
[2]Damit ist jetzt die Datei lehrer.txt geändert, aber die Daten sind noch nicht geprüft oder gar in das System übernommen.
[3]schueler.txt, lehrer.txt, extraschueler.txt und extrakurse.txt

Weiterführendes zur Benutzerverwaltung mit Sophomorix

In der linuxmuster.net wird die Benutzerverwaltung mit Hilfe des Programms Sophomorix durchgeführt. Alle Schüler und Lehrer einer Schule, die als Benutzer im System vorhanden sein sollen, sind in vier Benutzerlisten (schueler.txt, lehrer.txt, extraschueler.txt und extrakurse.txt) aufgeführt.

Zur Verwaltung der Benutzer wird folgendermaßen verfahren:

  • Alle Datensätze aus den Benutzerlisten werden geprüft und vorsortiert.
  • Bestehende Benutzer, die nicht mehr in den Listen aufgeführt sind, werden zum Verschieben auf dem Dachboden (attic) vorgesehen.
  • Ähnelt ein Datensatz (z.B. nach Namenskorrekturen im Sekretariat) einem, der zum Verschieben auf dem Dachboden vorgesehen wurde, wird er - evtl. nach Rückfrage - mit dem bestehenden Benutzernamen verbunden und somit der Benutzer nicht auf den Dachboden verschoben. In diesem Fall behält der Benutzer seinen alten Login-Namen.
  • Neue Datensätze werden als Benutzer neu angelegt (Status U) und bekommen Benutzername und Passwort zugewiesen.
  • Bestehende Benutzer werden evtl. in neue Klassen versetzt.
  • Bestehende Benutzer, die nicht mehr in den Benutzerlisten vorhanden sind, werden auf den Dachboden verschoben (Status T). Sie können sich dann während eines Duldungszeitraumes zwar noch anmelden, haben aber keinen Zugriff mehr auf die Tauschverzeichnisse.
  • Benutzer, deren Duldungszeitraum auf dem Dachboden abgelaufen ist, können sich nicht mehr anmelden, aber ihre Daten verbleiben während eines Reaktivierungszeitraumes noch auf dem Dachboden (Status D).
  • Benutzer, deren Reaktivierungszeitraum abgelaufen ist, werden zum Löschen vorgesehen (Status R).
  • Benutzer auf dem Dachboden, die wieder in den Benutzerlisten aufgeführt sind, werden aus dem Dachboden wieder zurückgeholt (reaktiviert) und bekommen den Status E.
  • Benutzer, die zum Löschen markiert sind, werden mit ihren Daten endgültig gelöscht.

Ändern des eigenen Passwortes

Benutzernamen und Passwörter werden in der linuxmuster.net zentral verwaltet, d.h. Sie können sich an den Computern, an der Schulkonsole und in Horde mit dem selben Passwort anmelden. Um Ihr Passwort zu ändern melden Sie sich mit Ihrem Benutzernamen (bestehend aus Kleinbuchstaben und event. Zahlen) und dem aktuellen Passwort an der Schulkonsole an.

_images/011.png

Geben Sie unter „Passwortänderung“ nochmals Ihr aktuelles Passwort ein, sowie zweimal das neue Passwort. Beachten Sie die Anforderungen an das neue Passwort:

  • Nicht alle Sonderzeichen können verwendet werden. Folgende Zeichen funktionieren nicht:

    ä ö ü ß { } [ ] + #
    

    Folgende Sonderzeichen dürfen ebenso nicht verwendet werden:

    $ & !
    

Darüberhinaus können bei Ihrer Schule folgende Einschränkungen gelten:

  • Die Mindestlänge des Passwortes sind 6 Zeichen. (Mindestlänge kann der Netzwerkberater vorgeben).

  • Das Passwort muss mindestens zwei unterschiedliche Zeichenklassen enthalten. Zeichenklassen sind Großbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen. (Abschaltbar vom Netzwerkberater).

    Beispielsweise sollte das Passwort dann aus Groß- und Kleinbuchstaben oder Zahlen und Kleinbuchstaben bestehen, etc.

Das erfolgreiche Ändern des Passwortes wird mit einer grünen Leiste unterhalb der Menüleiste bestätigt.

_images/031.png

Falls die Änderung nicht erfolgreich war erhalten Sie eine Fehlermeldung mit einem Hinweis auf den Fehler.

_images/04.png

In dieser Beispielfehlermeldung bestand das Passwort nur aus Kleinbuchstaben.

Lehrer-Passwörter zurücksetzen und ausdrucken

Melden Sie sich wie im Handbuch Schulkonsole nutzen beschrieben an der Schulkonsole als administrator an.

_images/schulkonsole-user1.png

Der Administrator hat in der Schulkonsole im Menü unter Benutzer -> Lehrerpasswörter die gleichen Möglichkeiten für die Passwörter der Lehrer, wie die Lehrer für die Passwörter der Schüler.

Important

Der Administrator kann vom Lehrer geänderte Passwörter nicht einsehen. Sie werden grundsätzlich verschlüsselt gespeichert.

Passwortliste herunterladen und ausdrucken

Laden Sie die komplette Passwortliste als PDF zum Ausdrucken herunter oder als CSV-Datei zur Weiterverarbeitung.

_images/teacher-passwords-pdf.png

Die PDF-Datei bietet kleine Rechtecke zum Ausschneiden und Austeilen an die Lehrer an. In der CSV-Datei werden die selben Informationen in Tabellenform angeboten.

Passwörter zurücksetzen

Wählen Sie in der Liste durch Setzen eines Häkchens den oder die Lehrer aus, deren Passwort Sie zurücksetzen wollen.

_images/teacher-passwords-row.png

Unterhalb der Liste können Sie unter “Schnellauswahl” mit dem Knopf “An” auch alle Lehrer auswählen, wenn Sie allen das Passwort zurücksetzen wollen.

Wählen Sie nun ganz unten auf dieser Seite

Passwort auf Erstpasswort setzen
um das Passwort auf dessen Erstpasswort zurückzusetzen,
Passwort auf Erstpasswort setzen (Zufallswert)
um dem Lehrer ein neues zufälliges Erstpasswort zuzuteilen und sein Passwort darauf zu setzen,
Passwort auf Erstpasswort setzen (Eingabewert):
um dem Lehrer ein von Ihnen gewähltes Passwornt als Erstpasswort zuzuweisen. Diese Eingabe ist nicht dafür geeignet, dass der Lehrer sein dauerhaftes Passwort setzt, weil das Erstpasswort nicht verschlüsselt abgespeichert wird und somit nicht geheim ist.

Erstpasswort anzeigen

Um ein einzelnes Passwort anzeigen zu lassen, drücken Sie in der Reihe des entsprechenden Lehrers auf den Knopf “Erstpasswort anzeigen”.

Weiterführende Informationen

Weitere Informationen zum Thema finden Sie

Schüler-Passwörter zurücksetzen und ausdrucken

Vergisst ein Schüler sein Passwort, kann jede Lehrkraft das Passwort des Schülers über die Schulkonsole auf das Erstpasswort [1] zurücksetzen. Dieses teilen Sie dem Schüler mit.

[1]Die Bezeichnung Erstpasswort bezieht sich dabei immer auf das zeitlich neueste über die Schulkonsole vergebene Passwort, also entweder das vergebene Passwort beim Anlegen des Schülers durch den Administrator oder das aktuellste Passwort, das eine Lehrperson über die Schulkonsole vergeben hat.

Dazu melden Sie sich an der Schulkonsole wie im Handbuch Schulkonsole nutzen beschrieben an. Wählen Sie unter „Klassen” den Menüpunkt „Passwörter“.

_images/012.png

Wählen Sie nun Ihre Klasse aus indem Sie auf die Klassenbezeichnung klicken.

Note

Falls Ihre Klasse nicht in der oberen Liste (im Beispiel: 10b) auftaucht, müssen Sie sich zunächst in die Klasse eintragen. Wählen Sie dazu im Dropdown-Menü die Klasse aus und klicken anschließend auf “Eintragen”.

_images/021.png

Setzen Sie hinter dem vergesslichen Schüler den Haken und scrollen Sie auf das Ende der Seite. Unterhalb der Liste können Sie unter “Schnellauswahl” mit dem Knopf “An” auch alle Schüler auswählen, wenn Sie allen das Passwort zurücksetzen wollen.

Klicken Sie nun ganz unten auf dieser Seite auf

Passwort auf Erstpasswort setzen
um das Passwort auf dessen Erstpasswort zurückzusetzen,
Passwort und Erstpasswort setzen (Zufallswert)
um dem Schüler ein neues zufälliges Erstpasswort zuzuteilen und sein Passwort darauf zu setzen,
Passwort und Erstpasswort setzen (Eingabewert):
um dem Schüler ein von Ihnen gewähltes Passwort als Erstpasswort zuzuweisen. Diese Eingabe ist nicht dafür geeignet, dass der Schüler sein dauerhaftes Passwort setzt, weil das Erstpasswort nicht verschlüsselt abgespeichert wird und somit nicht geheim ist.
_images/032.png

Die Seite wird neu geladen. Klicken Sie neben dem Schülernamen auf „Erstpasswort anzeigen“.

_images/041.png

Teilen Sie das angezeigte Erstpasswort dem Schüler mit der Aufforderung mit, es in der Schulkonsole zu ändern.

_images/05.png

Important

Weder Lehrer noch Administrator können vom Schüler geänderte Passwörter einsehen. Sie werden grundsätzlich verschlüsselt gespeichert.

Die kompletten Anmeldekärtchen der Klasse können als PDF-Datei ausgedruckt oder als CSV-Datei heruntergeladen und mit einem Tabellenkalkulationsprogramm weiterverarbeitet werden.

Weiterführende Informationen

Weitere Informationen zum Thema finden Sie

Festplattenplatz für Benutzer einschränken (Quota)

Alle Benutzer im System dürfen Daten auf dem Server abspeichern. Es kann also vorkommen, dass Schüler und Lehrer so viele Daten abspeichern, dass der Festplattenplatz des Servers erschöpft ist, was bis zur Einstellung des Betriebes führen kann. Außerdem kann das „Vollmüllen“ des Servers auch vom Internet aus z.B. durch E-Mail-Bombing erfolgen.

Einziger Ausweg: Sie beschränken (“quotieren”) den Festplattenplatz eines jeden Benutzers und achten darauf, dass die Summe der vergebenen „Quota” nicht die Kapazität der Festplatten des Servers übersteigt.

Melden Sie sich wie im Handbuch Schulkonsole nutzen beschrieben an der Schulkonsole als administrator an.

Standardeinstellungen ändern

Im Abschnitt Benutzerverwaltung des Handbuchs zur Schulkonsole finden Sie eine Übersicht über alle Einstellungsmöglichkeiten.

Im Bereich Quotierung können Sie diese aktivieren (Standard) oder deaktivieren. Ebenso können Sie für Schüler und Lehrer jeweils drei Quotas angeben.

_images/schulkonsole-einstellungen-global.png

Ändern Sie die Einstellungen für /home, dann beschränkt das den Platz, den neue Lehrer oder versetzte Schüler auf Home_auf_Server bzw. unter H:\ und Tausch_auf_Server bzw. unter T:\ belegen können.

Ändern Sie die Einstellungen für /var, dann beschränkt das den Platz, den neue Lehrer oder versetzte Schüler auf Vorlagen_auf_Server bzw. unter V:\ oder mit Dateien während des Klassenarbeitsmodus belegen können.

Ändern Sie die Einstellungen in der dritten Spalte, dann beschränkt das den Platz für Mails, die auf dem Server liegen.

Attention

Wirksam sind die geänderten Werte erst nach einem Durchlauf zum Anlegen/Versetzen/Löschen von Benutzern. Auf das Quota bestehender Lehrer haben die Einstellungen keinen Einfluss.

Ändern von einzelnen Lehrerquota

Der Administrator hat in der Schulkonsole im Menü unter Quota die Möglichkeit, den Festplattenplatz für Lehrer und Schüler zu beschränken.

_images/schulkonsole-quota1.png

Benötigt ein Kollege mehr Platz, können Sie dessen Quota leicht über die Schulkonsole unter Quota -> Lehrer ändern:

_images/schulkonsole-quota-lehrer.png

Sind die Felder leer, gelten die Standardwerte. Mit einem Klick auf die Schaltfläche Änderungen übernehmen werden die geänderten Werte gleich gesetzt.

Important

Beachten Sie auch, dass das gesetzte Quota immer für eine ganze Festplattenpartition auf dem Linux-Server gilt. Üblicherweise befinden sich alle Netzlaufwerke auf der selben Serverpartition /home. Befindet sich z.B. das Kollegiumstauschverzeichnis auf der selben Serverpartition wie das Heimatverzeichnis H: bzw. Home_auf_Server, werden die Daten auf dem Tauschverzeichnis zum verbrauchten Plattenplatz hinzugerechnet.

Ein Lehrer kann also auf allen Netzlaufwerken zusammen nicht mehr als das voreingestellte Quota belegen.

Ändern von Klassen- und Projektquota

Unter Quota -> Klassen können Sie die Quota für alle Schüler einer Klasse ändern.

Unter Quota -> Projekte können Sie zusätzliche Quota für alle Schüler eines Projektes vergeben.

Mit Änderungen übernehmen werden die geänderten Quotas in diesen beiden Fällen nicht in einer Datei abgelegt, sondern gleich in die Sophomorix-Datenbank geschrieben und sind damit sofort gültig.

Sonderquota: Quota für Administratoren und einzelne Schüler

Mittels Quota -> Sonderquota in der Schulkonsole können Sie nun Quota für

  • einzelne Schüler,
  • Administratoren und
  • den max. für Homepages zur Verfügung stehenden Platz (Webspace)

festlegen.

Für den Webspace und die Administratoren können einfach die Werte überschrieben werden und dann mittels Änderungen übernehmen gesetzt werden.

Für einzelne Schüler müssen Sonderquota erst neu angelegt werden, indem der Login-Name und die gewünschten Quota eingegeben werden. Nach einem Klick auf Änderungen übernehmen ist dann der Schüler in einer Schülerliste unterhalb des Abschnitts für die Administratoren aufgeführt.

Für bereits dort vorhandene Schüler können Sie einfach die Quotawerte überschreiben und dann mittels Änderungen übernehmen setzten.

Important

Die obige wichtige Anmerkung gilt auch für Schüler: Befindet sich z.B. das Klassentauschverzeichnis eines Schülers auf der selben Serverpartition wie das Heimatverzeichnis H: bzw. Home_auf_Server, werden die Daten auf dem Tauschverzeichnis zum verbrauchten Plattenplatz hinzugerechnet.

Ein Schüler kann also auf allen Netzlaufwerken zusammen nicht mehr als das voreingestellte Quota belegen.

Vorbereitung am Schuljahresanfang

Klassenliste aktualisieren

Zu Schuljahresbeginn müssen Sie als Lehrer einmalig die Klassenliste aktualisieren. Sie fügen neue Klassen, die Sie unterrichten, hinzu und tragen Klassen aus, die Sie abgegeben haben.

Um die Klassenliste zu aktualisieren, melden Sie sich zunächst als Lehrer an der Schulkonsole an.

_images/logon-schulkonsole.png

Klassenliste auswählen

Nach erfolgreicher Anmeldung in der Schulkonsole für Lehrer, wählen Sie aus dem Menü Klassen und danach den Unterpunkt Klassenliste aus.

_images/menue-class.png

Sie sehen dann die bereits zugeordneten Klassen.

_images/classoverview.png

Unter den bereits zugeordneten Klassen finden Sie ein Drop-down Menü, in dem Sie diejenigen Klassen finden, die Sie sich noch zuordnen können.

_images/getclasses.png

Wählen Sie aus dieser Liste nun diejenige Klasse aus, die Sie hinzufügen möchten und klicken auf den Button eintragen. Benötigen Sie mehrere neue Klasse, so fügen Sie diese nacheinander hinzu.

Neue Anmeldung

Abschliessend müssen Sie sich von Ihrem Client abmelden und wieder neu anmelden, damit die Netzlaufwerke korrekt zugeordnet sind.

Dies können Sie kontrollieren, indem Sie nach der erneuten Anmeldung mit dem Dateimanager prüfen, ob für die neue Klasse ein Tauschverzeichnis vorhanden ist.

Individuelle E-Mail-Adressen verwalten

Zielgruppe: Netzwerkberater und Supportfirmen

Einige Programme greifen standardmäßig auf die im LDAP unter dem Attribut mail gespeicherte Mail-Adresse zu. Beispiele dafür sind moodle, owncloud, …

Standardmäßig wird für diesen Zweck die interne Mailadresse des linuxmuster.net Servers verwendet (<Benutzer>@<Domain>).

Diese Dokumentation beschreibt, wie man von diesem Standard abweichen und die hinterlegte Adresse mit der Schulkonsole bearbeiten kann. Die Installation sollte der Netzwerkbetreuer oder Administrator ausführen. Jeder Nutzer kann dann selbst seine eigene Adresse verwalten. Sollte für einen Benutzer keine Adresse eingetragen sein, wird automatisch oben genannte Standardadresse verwendet.

Installation

Rechte für Gruppen festlegen

Der Bereich für die Eingabe der eigenen Mail-Adresse muss zunächst in der Schulkonsole aktiviert werden. Dazu erstellt man im Verzeichnis

/etc/linuxmuster/schulkonsole/permissions.d

die Datei all-pages-mymail mit dem Inhalt

ALL=start_mymail

und im gleichen Verzeichnis die Datei all-programs-mymail mit dem Inhalt

ALL=set_user_mymail

Die erste Datei all-pages-myemail erlaubt es allen Benutzern, den Bereich auf der Startseite der Schulkonsole zur Änderung der Mailadresse zu sehen. Die zweite Datei all-programs-mymail erlaubt es dem Benutzer, die Funktion zur Änderung der Mailadresse zu verwenden.

Sollen nur die Lehrer in der Lage sein, eine eigene Mailadresse zu verwenden, so lauten die Dateinamen teachers-pages-mymail mit dem Eintrag

teachers=start_mymail

und teachers-programs-mymail mit dem Eintrag

teachers=set_user_mymail

Analog kann die Funktion auch lediglich für Administratoren freigeschaltet werden.

Es ist auch möglich, die Seite freizugeben (über die pages-Datei), nicht aber die Funktion zur Änderung. In diesem Fall kann der Benutzer den Eintrag zwar sehen, ist aber nicht in der Lage, ihn zu verändern.

Rechte übernehmen

Nachdem die Dateien fertig editiert wurden, müssen die neuen Einstellungen ins System übernommen werden. Das geschieht durch zwei Skripte im Verzeichnis /usr/share/schulkonsole/scripts. Diese Skripte müssen ausgeführt werden, also

server ~ # /usr/share/schulkonsole/scripts/update-permissions.sh
server ~ # /usr/share/schulkonsole/scripts/make-menus.sh

Nach Ausführung dieser Skripte erscheint auf der Startseite der Schulkonsole für die berechtigten Benutzer ein neuer Bereich zur Änderung der Adresse.

Nutzung einer eigenen Mailadresse im LDAP

Voraussetzung ist die korrekte Installation.

Starten Sie die Schulkonsole und melden Sie sich an. Auf der Seite “Mein Konto” sehen Sie jetzt einen neuen Bereich mit der Überschrift Private Mailadresse.

Mailadresse eintragen

Voreingestellt ist die interne Mailadresse nach dem Muster <Benutzer>@<Domain>. Tragen Sie die gewünschte Mailadresse ein und bestätigen Sie diese durch Klicken auf Mailadresse ändern.

Mailadresse entfernen

Entfernen Sie den Eintrag im Feld Mailadresse und klicken Sie auf Mailadresse ändern. Dadurch wird der Standardeintrag nach dem Muster <Benutzer>@<Domain> wieder hergestellt.

Internetrecherche

Um im Unterricht den Schülern eine Internet-Recherche zu ermöglichen, müssen Sie sich zunächst an der Schulkonsole als Lehrer anmelden, danach den Raum auswählen, in dem Sie unterrichten, im Raum den Unterricht beginnen und ggf. den Internet-Zugriff für die gewünschten PCs freischalten.

Raum auswählen

Nachdem Sie sich an der Schulkonsole als Lehrer angemeldet haben, gehen Sie zu dem Menüpunkt Aktueller Raum und dort zum Unterpunkt Unterricht.

Wählen Sie hier den richtigen Raum über das Drop-down Menü aus, sofern dieser noch nicht korrekt eingestellt ist.

_images/current-room.png

Wählen Sie hierzu den Raumnamen aus der Liste aus und klicken dann den Button wechseln.

Danach sehen Sie die Einträge zu den PCs des Raumes, in dem Sie unterrichten.

_images/room-selected.png

Unterricht beginnen

Haben Sie den Raum erfolgreich ausgewählt, müssen Sie nun Ihren Unterricht in dem Raum beginnen.

Klicken Sie hierzu auf den Button Unterricht beginnen, der sich ganz oben auf der Seite der Raumübersicht befindet.

Haben Sie den Unterricht erfolgreich begonnen, so sehen Sie wie in nachstehender Abbildung, wann der Unterricht automatisch im System beendet wird und wer in dem Raum unterrichtet.

_images/active-room.png

Hier können Sie ggf. auch die benötigte Unterrichtszeit auf Ihren Unterricht anpassen, indem Sie die gewünschte Uhrzeit auswählen und auf den Button beenden lassen klicken.

Internet an- und ausschalten

Um den Schülern nun an den PCs den Zugriff auf das Internet zu ermöglichen, wählen Sie in o.g. Ansicht alle PCs des Raumes aus, die Zugriff haben sollen. Abschließend aktivieren Sie diese Einstelung mit einem Klick auf den Button Änderungen übernehmen, der sich am Ende der PC-Übersicht befindet.

Um den Zugriff für alle PCs zu aktivieren oder zu deaktivieren, können Sie einfach das Aktivierungskästchen unterhalb der jeweiligen Funktionsspalte anklicken.

Unterricht beenden

Nach Ablauf der eingestellten Zeit wird der Unterricht im Raum von der Lehrperson automatisch beendet. Eine vorzeitige Beendigung des Unterrichts ist ebenfalls jederzeit möglich, indem Sie auf der Raumübersicht oben den Button sofort beenden klicken.

_images/close-directly.png

Austeilen von Dateien und weitere Funktionen

Mithilfe der Schulkonsole können Sie in Ihrem Unterricht folgende Funktionen nutzen:

  • Austeilen
  • Einsammeln
  • Klassenarbeit

Wollen Sie die Funktionen unmittelbar in dem Raum nutzen, in dem Sie unterrichten, wählen Sie diese Funktionen im Menü aktueller Raum.

Möchten Sie vorbereitend diese Funktionen für eine Ihrer Klassen verwenden, wählen Sie die gewünschte Funktion aus dem Menü Klassen aus.

Austeilen

Nachdem Sie sich an der Schulkonsole als Lehrer angemeldet haben, gehen Sie zu dem Menüpunkt Klassen und dort zum Unterpunkt Auteilen.

Sie sehen dann die Übersicht der auszuteilenden Dateien für eine Klasse.

_images/send-file.png

Wählen Sie nun oben rechts die gewünschte Klasse im Drop-don Menü aus. Danach klicken Sie auf den Button Durchsuchen`, um eine auszuteilende Datei hochzuladen. Es erscheint Ihr Dateimanager. Hier wählen Sie aus dem geeigenten Verzeichnis die gewünschte Datei aus. Danach erscheint der Dateiname in der Liste der auszuteilenden Dateien. Um diese noch für das Austeilen zur Verfügung zu stellen, klicken Sie auf den Button Daten absenden.

Alle zu verteilende Dateien erscheinen in der darüber angezeigten Dateiliste. Wollen Sie weitere Dateien hinzufügen, so ist o.g. Vorgang entsprechend zu wiederholen.

_images/copy-files-class.png

Um die so bereitgestellten Dateien nun zu verteilen, wählen Sie die Schüler der Klasse aus, denen Sie die Dateien zur Verfügung stellen wollen. Hierzu klicken Sie pro Schüler in der Spalte Auswahl auf die Auswahlbox. Sollen alle Schüler der Klasse die Dateien erhalten, so können Sie hierzu die Auswahlbox unterhalb der Spalte nutzen. Danach klicken Sie auf den Button austeilen. Auszuteilende Dateien liegen dann in Ihrem Heimatverzeichnis unter _auszuteilen -> auszuteilen-Klasse.

_images/choose-user.png

Die auszuteilenden Dateien liegen nun in den Heimatverzeichnissen der Schüler/innen in dem Ordner __austeilen -> austeilen-Klasse.

Einsammeln

Haben Schüler Dateien erstellt, die Sie als Lehrkraft einsammeln möchten, so müssen Sie Schüler die Dateien in ihrem Heimatverzeichnis im Ordner __einsammeln ablgen. Es kann auch in diesem Ordner ein Verzeichnis angelegt werden, in das mehrere Dateien abgelegt werden. Beim Einsammlen würden dann pro Schüler das Verzeichnis mit allen enthaltenden Dateien eingesammelt werden.

Haben die Schüler ihre Dateien entsprechend kopiert, rufen Sie in der Schulkonsole das Menü Klassen und dort das Untermenü Einsammeln auf.

_images/get-files-class.png

Sie sehen hinter jedem Schüler, ob und welche Dateien bereitgestellt wurden. Wählen Sie aus, ob die einzusammelnden Dateien erhalten bleiben oder gelöscht werden sollen. Wählen Sie die Schüler/innen, von denen Sie einsammeln wollen, oder die ganze Klasse aus.

Sie finden die eingesammelten Arbeiten in Ihrem Heimatverzeichnis unter „_eingesammelt -> eingesammelt-Klasse“.

Klassenarbeit

Im Klassenarbeitsmodus haben Sie als Lehrer die Möglichkeit, Dateien an Schüler zu verteilen und die Lösungen via Netzwerk wieder einzusammeln. Zugleich unterbindet dieser Modus den Internet-Zugriff sowie den Zugriff auf das Heimatverzeichnis der Schüler sowie auf Tauschverzeichnisse.

Um in den Klassenarbeitsmodus zu gelangen, rufen Sie in der Schulkonsole als Lehrer den Menüpunkt aktueller Raum und dort das Untermenü Klassenarbeitmodus auf.

Sollten Sie im Raum noch keinen Unterricht begonnen haben, so gelangen Sie zum Menü des aktuellen Raums, um den Unterricht zuerst zu beginnen.

_images/room-start.png

Haben Sie den Unterricht für den Raum begonnen und die korrekte Zeit für die Klassenarbeit eingetragen, so müssen Sie das Menü für den Klassenarbeitsmodus erneut aufrufen.

Sie gelangen dann zur Festlegung des sog. Workstationspasswort. Dieses legen Sie hier fest und teilen es, nach der Aktivierung des Modus den Schülern mit. Diese müssen sich nach Start der Clients mit dem Namen des des als Benutzername und dem hier festgelegten Kennwort an.

_images/room-test-activation.png

Klicken Sie zum Abschluss auf den Button Klassenarbeit starten.

Danach gelangen zur Übersicht im Klassenarbeitsmodus. Haben Sie den Schülern migeteilt, dass Sie sich mit dem Namen des PC (z.B. musterraum01) und dem festgelegten Kennwort (z.B. linuxmuster) am PC anmelden, warten Sie, bis alle Schüler dies durchgeführt haben.

_images/room-test-handout.png

Danach klicken Sie den Button Aktualisieren. Es müssten dann alle PCs in der Übersicht erscheinen, an den sich Nutzer angemeldet hat.

Wollen Sie Aufgaben der Klassenarbeit oder eine Vorlage zur weiteren Bearbeitung zur Verfügung stellen, so klicken Sie auf den Button Durchsuchen. Wählen Sie in Ihrem Dateisystem dann die gewünschten Dateien aus und klicken Sie den Button Daten absenden, um die Datei hochzuladen. Um mehrere Dateien bereitzustellen, wiederholen Sie diesen Vorgang.

Die bereitzustellenden Dateien werden in einer Dateiliste angezeigt. Um diese Dateien nun allen angemeldeten Schülern für die Klassenarbeit bereitzustellen, klicken Sie den Button bereitstellen.

Die Schüler finden diese Vorlagen in ihrem Heimatverzeichnis im Unterordner tasks -> Raumnummer -> Lehrerlogin.

Danach werden Sie aufgefordert, das Passwort für die Workstations neu zu setzen.

_images/room-test-activation.png

Klicken Sie nun den Button Passwort ändern, um die Klassenarbeit zu beginnen. Sie gelangen zur Übersicht im Klassenarbeitsmodus.

_images/room-test-collect.png

Unter der Spalte Hostname werden alle PCs, die aktiv angemldet sind, angezeigt. Zudem sehen Sie unter Dateien, ob und welche Dateien jeweils im Ordner einsammeln abgelegt sind.

Sollten Schüler vor Beendigung des Klassenarbeitsmodus die Klassenarbeit abgeben wollen, so müssen Sie sicherstellen, dass diese ihre Arbeit unter __einsammeln abgespeichert haben. Ist dies der Fall, so können diese den PC herunterfahren. Zur Überprüfung können Sie die Ansicht mit dem Button Aktualisieren immer wieder auf den aktuellen Stand bringen.

Um die Klassenarbeit zu beenden und gleichzeitig alle Schülerarbeiten einzusammeln, klicken Sie auf den Button Einsammeln und beenden.

_images/room-test-end.png

Bestätigen Sie das Beenden der Klassenarbeit. Die eingesammelten Ergebnisse finden Sie danach in Ihrem Heimatverzeichnis unter „_eingesammelt -> eingesammelt-klassenarbeit“.

Falls Sie doch noch nicht beenden wollen, können Sie über den Link „Einsammeln“ wieder zur vorigen Seite zurückkehren.

Schulinternen E-Mail-Versand nutzen

Diese Schritt-für-Schritt-Anleitung erklärt, wie Sie im Schulnetzwerk E-Mails mit Hilfe eines Webmailers versenden und empfangen können. In dem Webmailer ist auch die Möglichkeit enthalten, Weiterleitungen auf externe E-Mail-Adressen einzurichten und auf die “Home_auf_Server” und “Tausch”-Verzeichnisse zuzugreifen.

Auf dem Schulserver läuft ein Webmail-Programm mit dem Namen Horde. Rufen Sie im Browser die Adresse

https://server/horde3

auf. Üblicherweise ist diese Adresse nur von innerhalb des Schulnetzwerkes erreichbar.

_images/horde-login-https.png

Melden Sie sich mit Ihrem Benutzernamen und Passwort des Schulkontos an. Auf der Startseite können Sie das Speicherplatzkontingent einsehen.

_images/horde-defaultscreen.png

Unter Webmail -> Posteingang erreichen Sie ihr Mail-Konto. Unter Neue Nachricht wird ein neues Fenster geöffnet.

_images/horde-new-message.png

Ihre eigene E-Mail-Adresse wird unter “Identität” angezeigt und ist - je nach Schulkonfiguration - auf “benutzername@linuxmuster-net.lokal” eingestellt. Das bedeutet, dass Sie mit dieser E-Mail-Adresse nur interne E-Mails von anderen Schülern oder Lehrern bekommen können, denn “linuxmuster-net.lokal” ist keine weltweit eindeutige Adresse.

Für interne Adressen kann die E-Mail-Domäne weggelassen werden. Man kann aber auch weltweit gültige E-Mail-Adressen als Empfänger einstellen.

Warning

Standardmäßig wird der Versand an weltweite Adressen erlaubt. Vorsicht: Die Empfänger dieser E-Mail können nicht darauf antworten, wenn “linuxmuster-net.lokal” als Domäne in Ihrer Schule voreingestellt ist.

Adressbuch verwenden

Um Schüler und Lehrer im Adressbuch zu finden, wählen Sie im Menü Organisieren -> Adressbuch -> Suche aus und suchen Sie nach Namensbestandteilen.

_images/horde-address-lookup.png

Weiterleitung an externe E-Mail-Adressen konfigurieren

Horde erlaubt die Einrichtung vieler unterschiedlicher sogenannter Filter für das Mailsystem. Der wohl wichtigste davon ist der vordefinierte Filter Weiterleitung, den man im Menü über Einstellungen -> Filter und dann im oberen Menü Weiterleitung erreicht. Man trägt dort ein oder mehrere gewünschte Adressen zur Weiterleitung ein und entscheidet, ob zusätzlich eine Kopie im Postfach an der Schule verbleiben soll.

_images/horde-forwarding.png

Zugriff auf Tauschordner und Heimatverzeichnis

Um auf die eigenen Dateien auf dem Server (“Home_auf_Server”) und auf die Tauschverzeichnisse zuzugreifen, wählen Sie im Menü Mein Konto -> Dateimanager -> Home bzw. Tauschen.

_images/horde-filemanager.png

Warning

Sollten Umlaute im Dateinamen vorkommen, kann man die Dateien nicht herunterladen. Ändern Sie den Dateinamen am Schulcomputer im dortigen Dateimanager.

Dateien, die heruntergeladen werden, sollten standardmäßig abgespeichert werden, da ein direktes Ausführen meist nicht funktioniert.

Melden Sie sich nach getaner Arbeit über Abmelden ab.

OpenVPN nutzen

Externer Zugang zum Schulnetz

Funktionsweise

Sie können auch von extern auf das Schulnetzwerk zugreifen. Hierzu müssen Sie Ihren Computer (temporär) in das Schulnetzwerk integrieren. Dies funktioniert über ein sogenanntes „Virtual Private Network“, kurz VPN genannt. Dies erstellt über Ihre Internetverbindung einen abhörsicheren Tunnel in die Schule und integriert Ihren PC in das Schulnetzwerk. Sie bekommen (temporär) eine schulinterne IP-Adresse. Voraussetzung ist, dass Ihr Schulserver mithilfe einer Internet-Adresse (URL) erreichbar ist. Ob dies so ist, kann Ihnen Ihr Administrator des Schulnetzes sagen.

Alle Aktivitäten, die Sie mit geöffnetem VPN-Tunnel im Internet durchführen, laufen über den Schulserver bzw. die Schul-Internetleitung. Es gilt somit die Nutzervereinbarung der Schule. Da die Schule i.d.R. nur über eine einfache DSL-Leitung verfügt, sollten Sie z.B. das Herunterladen oder das Bereitsstellen von größeren Dateien in den Tauschordner (v.a. während der Unterrichtszeit) vermeiden.

Warning

Je nach Einstellung kann es sein, dass sie auf Ihr Netzwerk zu Hause (Netzwerkdrucker, Network Attached Storage, Netzwerkfreigaben) während eines geöffneten Tunnels nicht zugreifen können. Die Internet-Geschwindigkeit ist durch die geringe Upload-Geschwindigkeit der Schul-Internetverbindung langsam.

Note

VPN ist nicht für einen Internet-Zugriff gedacht.

Der VPN-Tunnel wird verschlüsselt, damit der Datenverkehr nicht abgehört werden kann. Hierfür benötigen Sie ihren persönlichen Schlüssel, der zusätzlich mit einem Passwort gesichert ist.

Hierzu hat der Netzwerkbetreuer auf dem IPFire-Server bereits den OpenVPN-Server aktiviert.

Ob dies so ist, können Sie selbst in der Schulkonsole kontrollieren.

VPN-Zugang einrichten

VPN-Zertifikat erstellen

Melden Sie sich an der Schulkonsole an und gehen Sie mit der Bildlaufleiste zum Ende der Übersichtseite Ihres Kontos zum Bereich OpenVPN-Zertifikat.

Sehen Sie nachstehende Eingabemöglichkeit,

_images/create-vpn-certificate.png

so erstellen Sie für sich ein OpenVPN-Zertifikat, indem Sie ein Kennwort für das Zertifikat festlegen. Bestätigen Sie dieses Kennwort in der darunter liegenden Zeile und klicken Sie dann den Button Zertifikat erstellen und herunterladen.

Danach erhalten Sie die Bestätigung, dass das Zertifikat für Sie erstellt wurde:

_images/creation-vpn-certificate-validated-1.png _images/creation-vpn-certificate-validated-2.png

Die Dateien des Zertifikates finden Sich nun in Ihrem Home-Laufwerk im Verzeichnis OpenVPN.

_images/openvpn-directory-certificate-files.png

Laden Sie diese Dateien herunter. Sie benötigen diese zur Nutzung Ihres VPN-Clients. Haben Sie Zertifikate für sich erstellt und heruntergeladen, müssen Sie Ihren Administrator bitten, diese noch zu aktivieren.

VPN-Client einrichten

Haben Sie sich die Schlüssel- und Konfigurationsdateien heruntergeladen, benötigen Sie noch eine Client- Software für den Zugriff via OpenVPN.

Windows-Client

Sie benötigen den aktuellen OpenVPN-Client 2.4 (OpenSource - Download OPenVPN Windows)

Konfiguration

Bei der Installation des OpenVPN Clients werden unter Windows neue Netzwerkadapter (TUN- und TAP-Devices installiert. Der OpenVPN-Client wird dabei in das Verzeichnis C:\Programme\OpenVPN\ installiert.

Kopieren Sie nun die heruntergeladenen Dateien in das Unterverzeichnis c:\Programme\OpenVPN\config\. Öffnen Sie nun als Administrator die Datei <dateiname>-RED.ovpn und passen Sie ggf. Einträge an.

Für Windows haben sich bislang folgende Einträge bewährt:

#OpenVPN Server conf
tls-client
client
dev tun
proto udp
tun-mtu 1400
remote <IP des Servers oder Adresse> 1194
pkcs12 <benutzer>.p12
cipher BF-CBC
comp-lzo
verb 3
ns-cert-type server
route-method exe
route-delay 2

Testen Sie nun die Verbindung, indem Sie mit der rechten Maustaste auf das Symbol des OpenVPN-Clients klicken und diesen dann als Administrator starten. Rechts unten in der Symbolleiste finden Sie dann das Symbol des gestarteten OpenVPN-Clients. Klicken Sie mit der rechten Maustaste hierauf und wählen Sie den Menüpunkt Connect aus. Sie werden nach dem Kennwort gefragt. Haben Sie das Kennwort des OpenVPN-Zertifikats erfolgreich eingegeben, wird eine Verbindung aufgebaut. War dieser Vorgang erfolgreiche, sehen Sie unten rechts in der Symbolleiste einen grünen Tunnel.

Linux-Clients

Sie benötigen ebenfalls den aktuellen OpenVPN-Client. Installieren Sie diesen mit Ihrer Paketverwaltung. Unter Ubuntu geben Sie bitte folgende Befehle zur Installation an:

sudo apt-get update
sudo apt-get install openvpn

Konfiguration

Es kann mithilfe der grafischen Oberfläche Gnome der sog. Netzwerkmanager zur Konfiguration genutzt werden. Damit dieser ebenfalls für VPN-Verbindungen genutzt werden kann, muss noch das Plugin hierfür installiert werden.

Hierzu sind folgende Befehle auf der Konsole anzugeben:

sudo apt-get update
sudo apt-get install network-manager-openvpn network-manager-openvpn-gnome

Nach der Installation ist der Netzwerkmanager wie folgt neu zu starten:

sudo service network-manager restart

Legen Sie einen neuen Ordner OpenVPN in Ihrem Benutzerverzeichnis (Persönlicher Ordner) an. Kopieren Sie die zuvor heruntergeladenen Dateien in dieses Verzeichnis.

_images/openvpn-config-files-ubuntu.png

Klicken Sie jetzt auf das Doppelpfeil-Symbol in der Kopfleiste, um den Netzwerkmanagers aufzurufen. Wählen Sie den Menüpunkt VPN Verbindungen bearbeiten aus.

_images/openvpn-ubuntu-network-manager-setup.png

Wählen Sie im neuen Fenster Netzwerkverbindungen Den Button Hinzufügen. Wählen Sie dann als Verbindungstyp OpenVPN aus und klicken den Button Erzeugen.

In dem neuen Fenster geben Sie bitte einen Namen für die VPB-Verbindung an. Die weiteren Felder füllen Sie wie in den beiden nachstehenden Abbildungen angegeben. Die angegebenen Dateinamen sind die Dateien, die Sie soeben in das Verzeichnis OpenVPN kopiert haben.

_images/openvpn-config-ubuntu-network-manager.png

In o.g. Fenster klicken Sie auf den Button Erweitert….

_images/openvpn-config-tls-legitimation.png

Speichern Sie nun die OpenVPN-Verbindung ab.

Testen Sie den Verbindungsuafbau, in dem Sie oben rechts mit der rechten Maustaste auf das Doppelpfeil-Symbol des Netzwerkmanagers klicken und danach den Menüeintrag VPN-Verbindungen -> <Meine-OpenVPN-Verbindung> auswählen, die Sie gerade angelegt haben.

Der erfolgreiche Verbindungsaufbau wird dann im Netzwerkmanager bestätigt.

MAC-Clients

Unter MAC OS X benötigen Sie als Client für OpenVPN das Programm Tunnelblick (Download OpenVPN MAC).

Installieren Sie dieses Programm. Während der Installation werden Sie nach einem Benutzer und einem Kennwort gefragt. Hier müssen Sie einen lokalen Benutzernamen mit Administratorrechten des MAC OS X Systems angeben - nicht den OpenVPN-Benutzer.

Konfiguration

War die Installation erfolgreich klicken Sie am Ende der Installation auf den Button Ausführen. Sie gelangen in das nächste Fenster Willkommen zu Tunnelblick. Klicken Sie hier den Button Ich habe Konfigurationsdateien. Danach wählen Sie die heruntergeladenen Zertifikatsdateien (OVPN-Datei und Zertifikatsdateien) aus. Zum Abschluss der Konfiguration geben Sie an, dass die Konfiguration nur für diesen Benutzer installiert werden soll. Zum Abschluss fragt Tunneblick wieder nach dem lokalen Benutzer mit Administrationsrechten.

Nach Installation und Konfiguration wurd Tunnelblick nun nach jeder Anmeldung am MAC OS X System gestartet und Sie finden oben rechts in der Symbolleiste das graue Tunnel-Icon.

Zum Testen der Verbindung klicken Sie mit der Maus auf dieses Icon und wählen im Kontextmenü den Eintrag <Benutzer> verbinden aus. Während des Verbindungsaufbaus erhalten Sie eine Rückfrage nach Ihrem OpenVPN Benutzer und Ihrem Kennwort. Nach erfolgreicher Verbindung erscheint das Tunnel-Symbol schwarz hinterlegt.

Nutzungshinweise

Zugriff auf die Schulkonsole

Haben Sie von den Tunnel aufgebaut, haben Sie Zugriff zum Schulnetzwerk. Sie könne somit nun uach auf die Schulkonsole zugreifen. Geben Sie dann in Ihrem Browser die gleichen Adressen wie in der Schule ein:

Für die Schulkonsole (evtl. kommt eine Sicherheitszertifikatsabfrage, einfach annehmen):

Zugriff auf das Home-Verzeichnis (Server)

Windows

  1. Gehen Sie im Explorer auf Extras → Netzwerklaufwerk verbinden
  2. Geben Sie unter Adresse „\<Name-oder-IP-des-Servers>“ gefolgt von Ihrem Kürzel ein, also z.B. \serverme
  3. Wählen Sie einen freien Laufwerksbuchstaben
  4. Geben Sie ihren Schul-Benutzernamen (eben dieses Kürzel) samt Kennwort ein.

Danach wurde Ihr Home-Verzeichnis auf dem Server dem zuvor gewählten Laufwerksbuchstaben zugeordnet.

Linux

Ihr Home-Verzeichnis bekommen Sie im Datei-Browser (Nautilus) über Gehe zu → Ort, dann geben Sie .. code::bash

smb://<Servername-oder-IP>/<benutzername>

ein (ersetzen Sie <benutzername> immer mit Ihrem Login-Kürzel).

MAC

Das Vorgehen erfolgt wie unter Linux beschrieben.

Attention

Der externe Zugang zum Server ist nur für gelegentliche Zugriffe gedacht. Daher ist der Zugriff so konfiguriert, dass Sie nicht über die VPN-Verbindung auf dem Schuldrucker ausdrucken können. Dies und auch weitere Funktionen können Sie aber mithilfe einiger Anpassungen selbst aktivieren. Hilfestellungen finden Sie hierzu in unserem Anwenderwiki.

Drucken der Erstpasswortlisten

Jede Lehrkraft kann z.B. zum Schuljahresanfang die Erstpasswortlisten ihrer Schülerinnen und Schüler ausdrucken.

Note

Sobald ein Schüler sein Erstpasswort geändert hat, funktioniert das Erstpasswort nicht mehr.

Dazu melden Sie sich an der Schulkonsole an und wählen unter „Klassen” den Menüpunkt „Passwörter“.

_images/01.png

Wälen Sie nun Ihre Klasse aus indem Sie auf die Klassenbezeichnung klicken.

Note

Falls Ihre Klasse nicht in der oberen Liste auftaucht, müssen Sie sich zunäst in die Klasse eintragen. Wählen Sie dazu im Dropdown-Menü die Klasse aus und klicken anschließend auf eintragen.

_images/02.png

Laden Sie sich die Liste durch klicken auf „Passwortliste als PDF“ herunter.

_images/03.png

Abschließend drucken Sie die Datei aus.

Anzeigen des eigenen Plattenplatzes

Jeder Benutzer kann sich auf der Startseite der Schulkonsole über seinen verbrauchten Speicherplatz und seine Quota (im zustehenden Anteil) informieren.

Melden Sie sich in der Schulkonsole an.

_images/schulkonsole-benutzer-quota.png

In diesem Beispiel ist die Quota nur zur Hälfte ausgeschöpft. Um genauere Angaben zu bekommen, genügt es, mit dem Mauszeiger auf die entsprechende Leiste zu gehen. Die Zahlen bedeuten: 180308 kiloByte von ca. 400 MegaByte sind belegt, das entspricht 45%. Nur 6 von 40000 möglichen Dateien machen die 180 MB aus und gehören dem Benutzer.

Es gibt ein “soft limit” (hier 400MB), das unter einem Windows-Arbeitsplatz als maximaler Speicherplatz angezeigt wird. Überschreitet das Datenvolumen diese Grenze, wird ein Warnhinweis ausgegeben, die Dateien werden aber noch bis zum Erreichen des “hard limit” (hier 500MB) abgespeichert. Bei Erreichen des “hard limit” geht dann für diesen Benutzer wirklich nichts mehr, bis er wieder so viel Platz geschaffen hat, dass er unter das “soft-limit” rutscht. Ebenso wird auch die Anzahl der Dateien begrenzt.

Beachten Sie auch, dass das gesetzte Quota immer für eine ganze Festplattenpartition auf dem Linux-Server gilt, d.h. in den meisten Fällen zählen auch Dateien auf den Tauschverzeichnissen zum verbrauchten Speicherplatz.

Neben der Speicherplatzbeschränkung kann im Schulnetz auch eine Beschränkung des E-Mail-Speicherplatzes und der gedruckten Seiten eingerichtet sein.

Schüler-quota überprüfen - Arbeitstitel

MoniPi for linuxmuster.net

The “MoniPi” project offers a prepared image for the Raspberry Pi 2 / Raspberry Pi 3, so that you can monitor a small network.

MoniPi is based on Raspbian Jessie Lite with the Open Monitor Distribution (OMD) packages from bananian.org

This documentation explains the preparation and installation of the Raspberry Pi and the setup of the monitoring for a linuxmuster.net server.

Content

Setup Raspberry Pi

Attention

It is absolutely necessary to use a Raspberry Pi 2 or a Raspberry Pi 3 [1] ! Older models have another CPU that to weak to run OMD!

Hint

This guide assumes that the following steps are performed on a computer running Linux as the operating system.

Download the linuxmuster-monipi-image

Download the prepared Raspbian-Image. Unpack it with the following command

$ gunzip monipi_<version>.img.gz

Write Image to an SD card

The SD card must have a minimum size of 4GB.

  • Insert the SD card into a suitable reader.

  • Open a root shell.

  • Enter the command

    $ fdisk -l
    

    and refer to the output of the command for the devicename of the SD card. In the example below the device name /dev/mmcblk0 contains the additional characters ( p1, …) for the partitions of the SD card.

    Disk /dev/mmcblk0: 32.0 GB, 32010928128 bytes
    4 Köpfe, 16 Sektoren/Spur, 976896 Zylinder, zusammen 62521344 Sektoren
    Einheiten = Sektoren von 1 × 512 = 512 Bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Festplattenidentifikation: 0xb3c5e39a
    
    Gerät  boot.     Anfang        Ende     Blöcke   Id  System
    /dev/mmcblk0p1            2048    62521343    31259648   83  Linux
    
  • The image file already contains the necessary partitions and the partition table and must therefore be written directly to the device file and not to a partition already existing on the card.

    The following command does this, the device name of the SD card may have to be adjusted:

    $ dd bs=4M if=monipi.img of=/dev/mmcblk0
    
  • After completing the process, insert the SD card into the Raspberry Pi and start it.

First Setup of Raspberry Pi

Hint

The following steps must be performed at the Raspberry Pi command line.

Default access data: Overview

In the delivery state, the MoniPi system has the following access data:

User name password Remarks
pi muster

Administrative user for the console.

Can login via ssh, root shell with sudo -i

omdadmin omd

Administrative user for the CheckMK Web Interface

Accessible under https://<monopi-IP>/default

Turnkey

To personalize the Raspbian image, run monipi-turnkey as root. This creates new SSH host keys and a new “Snake-Oil” SSL certificate, as well as a new password for the administrative user pi.

  • Log on to Raspberry. The username in the delivery state is pi, the password muster

  • Become root by typing the command sudo -i

  • Run monipi-turnkey and follow the instructions. Enter a good password for the administrative user twice when prompted.

    pi@raspberrypi:~ $ sudo -i
    root@raspberrypi:~# monipi-turnkey
    Generiere neue SSH Host-Keys...
    Creating SSH2 RSA key; this may take some time ...
    2048 4d:f7:1c:98:78:9b:05:0c:95:dd:b4:e4:c1:33:4f:62 /etc/ssh/ssh_host_rsa_key.pub (RSA)
    Creating SSH2 DSA key; this may take some time ...
    1024 a6:05:41:0e:02:7d:99:6f:58:0c:0a:ea:ce:54:e7:b9 /etc/ssh/ssh_host_dsa_key.pub (DSA)
    Creating SSH2 ECDSA key; this may take some time ...
    256 55:e6:b6:79:ca:47:59:4a:54:3c:1b:ee:2b:5e:0f:0a /etc/ssh/ssh_host_ecdsa_key.pub (ECDSA)
    Creating SSH2 ED25519 key; this may take some time ...
    256 28:95:7a:3d:81:38:6a:c6:6a:c7:09:58:8c:d8:e5:e6 /etc/ssh/ssh_host_ed25519_key.pub (ED25519)
    
    Geben Sie ein neues Passwort für den administrativen Benutzer (pi) ein
    Geben Sie ein neues UNIX-Passwort ein:
    Geben Sie das neue UNIX-Passwort erneut ein:
    passwd: Passwort erfolgreich geändert
    root@raspberrypi:~#
    
Raspi-Config

Usually the SD cards available today are larger than 4GB, it is recommended to increase the system partition of the MoniPi according to the SD card.

To do this, start the command raspi-config on the command line as root. Then select the first entry, exit raspi-config with “Finish” and restart the Raspberry Pi, if this is suggested.

raspi-config Vergrößern der Parrtition.
raspi-config Neustart.

After rebooting, the system partition should include the total SD card size minus the space for the boot partition. In the example below with a 32GB card the output of df -h looks as follows:

pi@raspberrypi:~ $ df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
/dev/root        30G    1,7G   27G    6% /
devtmpfs        459M       0  459M    0% /dev
tmpfs           463M       0  463M    0% /dev/shm
tmpfs           463M    6,3M  457M    2% /run
tmpfs           5,0M    4,0K  5,0M    1% /run/lock
tmpfs           463M       0  463M    0% /sys/fs/cgroup
/dev/mmcblk0p1   60M     20M   41M   34% /boot
tmpfs           463M     88K  463M    1% /opt/omd/sites/default/tmp

footnote

[1]When using a Raspberry Pi 3 care must be taken that at least the 1.1 version of the MoniPi image is used for installation.

Setup on the linumuster.net server

On the server, the check_mk client must be installed, which sends the monitoring server the performance data on demand.

Log on to the server console as an administrative user and install check-mk-agent and xinetd:

$ apt-get install check-mk-agent xinetd

The xinetd must then be configured so that the monitoring data can be queried. To do this, edit the file /etc/xinetd.d/check_mk as follows:

service check_mk
{
        type           = UNLISTED
        port           = 6556
        socket_type    = stream
        protocol       = tcp
        wait           = no
        user           = root
        server         = /usr/bin/check_mk_agent

        # If you use fully redundant monitoring and poll the client
        # from more then one monitoring servers in parallel you might
        # want to use the agent cache wrapper:
        #server         = /usr/bin/check_mk_caching_agent

        # configure the IP address(es) of your Nagios server here:
        # EDIT: KANN GEAENDERT WERDEN
        # Wenn der MoniPi eine feste IP-Adresse hat, ist es sinnvoll,
        # das Kommentarzeichen an der nächsten Zeile zu entfernen und dort
        # die IP-Adresse des Monitoring Servers einzutragen
        #only_from      = 127.0.0.1 10.17.1.3

        # Don't be too verbose. Don't log every check. This might be
        # commented out for debugging. If this option is commented out
        # the default options will be used for this service.
        log_on_success =

        # EDIT: MUSS GEAENDERT WERDEN von "yes" auf "no"
        disable        = no
}

The limitation of access to certain IP addresses is useful for security reasons, but can only be carried out if the monitoring server (MoniPi) has a permanent IP address.

Restart the xinetd after the customizations:

$ service xinetd restart

To check whether the setup was successful, you can use the command []

$ telnet localhost 6556

This should result in a longer output of performance data:

Exemplarische Ausgabe des Befehls "telnet localhost 6556"

Footnotes

[1]You may also need to reinstall the telnet command: apt-get install telnet

Adding server to OMD/check_mk

In the last step, the prepared server must be included in the OMD/check_mk web interface.

Log in to the Check_MK Web Interface of the MoniPi

Login to the Webinterface under https://<ip-des-monipi>/default/ with the following credetials:

  • User name: omdadmin
  • Password: omd

You must ignore the certificate warning (the connection is encrypted with a debian Snake-Oil certificate).

Anmeldung am Webinterface

You should then be redirected to the Web interface of Check_MK.

Check_MK Webinterface

Change the password

Attention

Be sure to first change the password for the administrative user of the Web Interface.

First, click the tool icon in the lower-left corner of the Web Interface.

Persönliche Einstellungen öffnen

Enter a new password twice in the next screen and accept it by clicking on “Save”.

Passwort ändern

Setup the linuxmuster.net server as another host

Select the “Hosts” area in the “Wato-Configuration” box at the bottom left to get to the host list.

Wato: Hosts

Click on “New Host” to create a new host.

Hostliste, "New Host"

Enter a hostname, which should be checked by the system to be monitored in the Check-MK web interface, check the IP address and enter the IP address of the server. Close the process by clicking Save & go to Service.

Konfiguration des neuen Hosts

If the server is reachable on port 6556 at the specified IP address, the monitored services of the server that the automatic inventory could find on the server are displayed.

Apply these services by clicking on `` Automatic Refresh (Tabula Rasa) ``.

Automatische Inventarisierung des neuen Hosts

The Web Interface jumps back to the host list and shows in orange that there are unsaved changes. Click on the orange button.

Hostliste mit ungespeicherten Änderungen

The unsaved changes will be displayed and you will be taken to the system by clicking on Activate Changes.

Liste der Änderungen

The changes are accepted.

Übernehmen der Änderungen

Now the server appears in the host list of the monitored systems, if the you click on HostsAll Hosts in the Views menu. Clicking on the server name will take you to the overview of the monitored services.

Liste der überwchten Hosts
Liste der Überwahten Services von "server"

Notifications in case of failure

On the MoniPi, no active notification path is configured in the delivery schedule. To be able to see errors you have to log on to the web interface, which of course is not good for a monitoring system.

To solve this problem, we would like to refer to various apps that allow you to display the status of your MoniPi.

For Chromium / Chrome and iOS, there are also enhancements and apps available; in principle, any application that can query Nagios / Icinga instances should work.

If you want to receive notifications by mail, you first have to “teach” the MoniPi mail on the console and then define corresponding notifications in the configuration of Check-MK.

Backup und Restore mit Mondo durchführen

Inhaltsverzeichnis:

Übersicht

Note

Das notwendige Paket mondo befindet sich in einem externen Repository. Dieses muss also vor der Installation eingebunden werden. Zur Vorgehensweise siehe Abschnitt Installation.

Backup und Restore des Servers können in linuxmuster.net 6.1 mit dem Opensource-Tool Mondo Rescue realisiert werden. Es ermöglicht:

  • Vollbackup im Live-Betrieb;
  • Automatische Backups per Cronjob;
  • Backup-Strategien mit inkrementellen und differentiellen Backups;
  • Backup auf Wechselplatte/NFS-Share;
  • Restore von Festplatte, NFS oder CD-/DVD-Medien;
  • Komplettwiederherstellung des Servers inklusive LVM- oder Raidsystem;
  • Wiederherstellung einzelner Dateien und Verzeichnisse im Live-Betrieb.

Weiterführende Informationen zu Mondo Rescue finden Sie im MondoRescue HOWTO.

Attention

Führen Sie nach der Erstinstallation des Servers - noch bevor Sie Benutzer und Arbeitsstationen einrichten - testweise ein Vollbackup und danach einen Restore durch, um sicherzugehen, dass MondoRescue mit Ihrer Hardware kompatibel ist. Falls Probleme mit IDE-Festplatten auftreten, sollten Sie SATA-Platten einsetzen oder ein alternatives Backupverfahren wählen.

Installation

Das linuxmuster-backup-Programm befindet sich im Hauptrepo, ist also in der normalen Paketauswahl verfügbar. Für das eigentlich Backup wird mondo verwendet. Dieses befindet sich nicht im Hauptrepo und auch nicht in den üblichen Paketquellen für Ubuntu. Daher muss die Paketquelle für mondo eingerichtet werden, was im folgenden schrittweise beschrieben wird.

  1. Erstellen Sie mit dem Editor ihrer Wahl als Benutzer ‘’root’’ auf dem Server die Datei /etc/apt/sources.list.d/mondorescue.list mit folgendem Inhalt:

Note

Momentan (April/2015) ist die Mondorescue-Version 3.2.0 aktuell. Sie enthält einen schwerwiegenden Fehler, der ein korrektes Backup großer Dateien verhindert. Daher muss abweichend die aktuelle Testversion 3.2.0.xxx verwendet werden, bis die Version 3.2.1 erschienen ist.

Die Paketquelle lautet:

# Quellen für mondorescue
#deb ftp://ftp.mondorescue.org/ubuntu 12.04 contrib
# deb-src ftp://ftp.mondorescue.org/ubuntu 12.04 contrib
# Quellen für mondorescue Testversion
deb ftp://ftp.mondorescue.org/test/ubuntu 12.04 contrib
# deb-src ftp://ftp.mondorescue.org/test/ubuntu 12.04 contrib

Zusätzlich muss noch ein Link gesetzt werden:

ln -s /sbin/parted2fdisk /usr/sbin/parted2fdisk

Note

  • Damit das System der Quelle vertraut, müssen noch der Repository-Schlüssel installiert werden:
wget ftp://ftp.mondorescue.org/ubuntu/12.04/mondorescue.pubkey
apt-key add mondorescue.pubkey
rm mondorescue.pubkey
  1. Nun aktualisieren wir die Paketlisten, damit dem System bekannt wird, welche zusätzlichen Pakete zur Verfügung stehen:
apt-get update
  1. Schließlich installieren wir das Paket, welches das Backup-Programm zur Verfügung stellt und mondo mit installiert:
apt-get install linuxmuster-backup

Abhängigkeiten werden dadurch automatisch mit installiert.

Konfiguration

Die Konfiguration des Backupverhaltens kann direkt in der Datei /etc/linuxmuster/backup.conf geschehen.

Alternativ kann die Konfiguration über die Schulkonsole erfolgen, siehe Konfiguration mit der Schulkonsole beschrieben.

Die Parameter im Einzelnen:

backupdevice

Festplattenpartition oder NFS-Share, auf das gesichert werden soll, wird nach /media/backup gemountet.

Beispiele:

backupdevice=/dev/sdb1
backupdevice=10.16.1.10:/home/nfs
backupdevice="/dev/disk/by-uuid/ccfc9531-3486-4af0-9317-8f895f5a1c97"

Note

Wichtiger Hinweis

Das Backupgerät darf nicht in /etc/fstab eingetragen sein, da alle dort eingetragenen Dateisysteme bei einer Komplettrestaurierung formatiert werden!

restoremethod

Mögl. Werte: “hd” oder “nfs”, je nachdem, ob von Festplatte oder NFS-Share restauriert werden soll.

Standard: .. code-block:: bash

restoremethod=hd
firewall

Mögl. Werte: “yes” oder “no”, je nachdem, ob die aktuellen Einstellungen des IPFire gesichert werden sollen. Es wird unter /var/backup/ipfire gesichert. Diese Sicherung kann nach einer Vollrestauration bei der Erstellung des IPFire eingespielt werden.

Standard:

firewall=yes
verify

Mögl. Werte: “yes” oder “no”, je nachdem, ob die gesicherten Daten nach dem Backuplauf auf Konsistenz überprüft werden sollen.

Standard:

verify=yes
isoprefix

Wird für die Bezeichnung der ISO-Images und des Backup-Verzeichnisses verwendet.

Standard:

isoprefix=server
mediasize

mondo benutzt ISO-Images als Backup-Container, die bei Bedarf auch auf CD/DVD gebrannt werden können. Diese Option legt die Größe der Images in MB fest. Da Mondo Schwierigkeiten bei mehr als 50 Medien bekommt, sollte man die Größe seiner Installation anpassen. Falls die Medien nicht auf DVD gebrannt werden müssen, ist eine beliebige Größe möglich.

Standard:

mediasize=4430
excludedirs

Eine durch Kommas separierte Liste der Verzeichnisse, die nicht gesichert werden sollen. Die Standardeinstellung sollte nicht entfernt werden.

Standard:

excludedirs=/var/tmp,/var/cache/apt/archives
includedirs
Eine durch Kommas separierte Liste der Verzeichnisse, die gesichert werden sollen. Wird nichts angegeben (Standard), wird das gesamte Dateisystem gesichert.
services

Mögliche Werte: “all” oder eine Komma separierte Liste der Dienste des aktuellen Runlevels, die vor dem Start des Backups heruntergefahren werden sollen. “all” fährt alle Dienste des aktuellen Runlevels herunter. Nach dem Backuplauf werden die Dienste wieder hochgefahren. Wird nichts angegeben, werden auch keine Dienste heruntergefahren. Die in der Standardeinstellung vorgesehenen Dienste sollten nicht entfernt werden.

Standard:

services=cups,nagios3,postgresql,mysql,slapd,smbd,nmbd,postfix,apache2,cyrus-imapd,saslauthd,clamav-daemon,clamav-freshclam,rsync,atftpd,nscd,cron,bittorrent,linbo-bittorrent,linbo-multicast
compression

Kompressionsgrad, mögl. Werte 0-9, der Standardwert 3 ist ein guter Kompromiss zwischen Schnelligkeit und Komprimierung. Wert 0 bedeutet keine Komprimierung.

Standard:

compression=3
unmount

Mögl. Werte: “yes” oder “no”, bei “yes” wird versucht das backupdevice nach dem Backup auszuhängen. Das klappt natürlich nur, wenn es nicht noch anderweitig in Gebrauch ist.

Standard:

unmount=yes
keepfull

Mögl. Werte: integer ab 1. Definiert die Anzahl der Vollbackups, die vorgehalten werden.

Standard:

keepfull=1
keepdiff

Mögl. Werte: integer ab 1. Definiert die Anzahl der differentiellen Backups, die vorgehalten werden.

Standard:

keepdiff=3
keepinc

Mögl. Werte: integer ab 1. Definiert die Anzahl der inkrementellen Backups, die vorgehalten werden.

Standard:

keepinc=7
cronbackup

Mögl. Werte: boolean yes|no. Legt fest, ob automatisch tägliche inkrementelle und wöchentliche differentielle bzw. Vollbackups durchgeführt werden.

Standard:

cronbackup=no

Note

Anmerkung Alte Backups werden nur gelöscht, wenn das Backup zuvor fehlerfrei durchlief.

Die Backupsets werden in ISO-Dateien in ein Verzeichnis nach dem Schema <isoprefix>/<datum>_full, <isoprefix>/<datum>_diff bzw. <isoprefix>/<datum>_inc auf das Backupmedium gesichert.

_images/backup1.png

Dabei werden die ISO-Dateien nach dem Schema <isoprefix>-1.iso, <isoprefix>-2.iso usw. abgelegt. Die ISO-Dateien dienen als Backup-Container und können ggf. auch auf CD/DVD gebrannt werden, um davon zu restaurieren. Desweiteren wird bei einem Vollbackup das für die Restauration benötigte Bootimage mondorescue.iso im Backupverzeichnis abgelegt.

_images/backup2.png

Im Homeverzeichnis des Benutzers administrator wird ein Link _backup zum Mountpoint /media/backup des Backupmediums angelegt, sodass er in der Lage ist, ISO-Images von einem Client aus auf einen Rohling zu brennen. Dazu muss jedoch das Backupmedium gemountet sein.

Konfiguration mit der Schulkonsole

Anstatt direkt die Konfigurationsdatei zu bearbeiten, kann man auch die Schulkonsole zur Konfiguration verwenden. Dazu installiert man zunächst das Paket linuxmuster-schulkonsole-backup.

Das erweitert das Einstellungen-Menü des Netzwerkbetreuers um den Menüpunkt Backup.

_images/linuxmuster-schulkonsole-backup-page.png

Zur Bedeutung der einzelnen Parameter siehe Konfiguration.

Backups durchführen

Gestartet wird ein Backup über das Wrapper-Skript /usr/sbin/linuxmuster-backup, das das Programm mondoarchive mit den entsprechenden Optionen für einen nicht interaktiven Ablauf aufruft. Hat man alle benötigten Einstellungen in der Datei backup.conf getroffen, so genügt es, wenn man das Skript mit den Optionen --full bzw. --diff oder --inc startet. Der Backuplauf wird dann vollautomatisch ohne weitere Eingaben durchgeführt und kann somit auch über einen Cronjob nachts angestoßen werden.

Skriptaufrufe für Voll-, differentielles und inkrementelles Backup:

linuxmuster-backup --full
linuxmuster-backup --diff
linuxmuster-backup --inc

Desweiteren ist es möglich, das Skript mit allen Optionen auch über die Kommandozeile zu starten. Kommandozeilenoptionen überschreiben die Werte, die in backup.conf festgelegt wurden. Zu beachten ist, dass vor jede Option ein Doppelminus -- zu setzen ist.

Beispiele:

linuxmuster-backup --full --includedirs=/home --isoprefix=home --backupdevice=/dev/sdc1
linuxmuster-backup --diff --ipcop=no --verify=no
linuxmuster-backup --inc --unmount=no --mediasize=700

Einen Gesamtüberblick über die Kommandozeilenparameter von linuxmuster-backup liefert der Befehl:

linuxmuster-backup --help

Note

Wichtiger Hinweis

mondoarchive schreibt ausführliche Informationen über den Backupverlauf in die Logdatei /var/log/mondoarchive.log. Leider wird die Datei bei jedem Aufruf des Programms überschrieben. Bei Problemen sollte man also die Datei wegsichern bevor das Backup erneut gestartet wird.

Backupstrategie und Automatisierung

In der Schulkonsole gibt es keine Oberfläche zur Konfiguration automatischer Backups. Es gibt aber eine Voreinstellung zur regelmäßigen Durchführung von Backups, mit deren Hilfe einerseits die Einschränkungen((während eines Backup-Laufs sind bestimmte Dienste des Servers nicht verfügbar)) gering gehalten werden, andererseits aber dennoch eine taggenaue Wiederherstellung des gewünschten Zustands möglich ist.

Automatisches Backup

Die Strategie ist in der Datei /etc/cron.d/linuxmuster-backup eingetragen und wird im Abschnitt Konfiguration durch die Einstellung cronbackup=yes aktiviert.

Die voreingestellte Strategie bedient sich des Programms /usr/sbin/linuxmuster-backup-diff-full zur Ermittlung des 1. Samstags im Monat und damit der Entscheidung, ob ein differentielles oder Vollbackup durchgeführt werden soll. Die angewandte Stragie wird weiter unten genauer beschrieben.

Vollbackup

Durch den voreingestellten Cronjob wird ein Vollbackup immer am 1. Samstag eines Monats um 1 Uhr nachts ausgeführt.

Differentielles Backup

Differentielle Backups werden dreimal im Monat jeweils Samstag Nacht [1] um 1 Uhr nachts ausgeführt.

Inkrementelles Backup

Inkrementelle Backups werden an den übrigen Tagen des jeweiligen Monats um 2 Uhr nachts ausgeführt.

Mit dieser Backupstrategie erhalten Sie über einen Monatszeitraum hinweg eine Backup-Historie, die es ermöglicht, den Serverzustand eines bestimmten Zeitpunktes wieder herzustellen:

Durch die Verwendung von differentiellen und inkrementellen Backups wird der Speicherplatzverbrauch auf dem Backupmedium minimiert.

Caution

Wichtiger Hinweis

Den Wechsel des Backupmediums sollten Sie immer vor einem Vollbackup vornehmen, da bei differentiellen und inkrementellen Backups die Sicherungsdaten der vorher durchgeführten Backups auf dem Backupmedium vorhanden sein müssen.

[1]außer am 1. Samstag

Dateiwiederherstellung im Live-Betrieb

Wiederherstellung von Dateien und Verzeichnissen im Live-Betrieb

Dazu muss das Backupmedium unter /media/backup gemountet sein:

mount /dev/sdb1 /media/backup

Starten Sie als root in einer Konsole das Programm mondorestore:

mondorestore

Es begrüßt Sie der Startbildschirm von Mondo Rescue. Drücken Sie ENTER:

_images/restore1.png

Wählen Sie als Backupmedium Hard Disk aus:

Geben Sie nun den kompletten Pfad zu dem Backupset an, von dem Sie restaurieren wollen:

_images/restore3.png

Im nächsten Schritt geben Sie das Präfix für die ISO-Dateien ein (in unserem Fall “server”):

_images/restore4.png

Anschließend liest mondorescue die Dateilisten ein:

_images/restore5.png

Sind alle Dateilisten geladen, wird Ihnen der zugegebenermaßen etwas umständlich zu bedienende Dateilisten-Editor präsentiert. Navigieren Sie mit den Pfeiltasten auf ein Verzeichnis. Mit der TAB-Taste gelangen Sie in das Menü und wieder heraus. Innerhalb des Menüs können Sie wiederum mit der TAB-Taste navigieren. Wählen Sie More, um den Verzeichnisbaum aufzuklappen, Less um ihn wieder zuzuklappen. Mit Toggle können Sie ein Verzeichnis oder eine Datei für den Restore markieren oder die Markierung wieder aufheben. Für den Restore markierte Elemente werden mit einem * gekennzeichnet. Haben Sie die Auswahl abgeschlossen, so navigieren Sie auf OK und drücken ENTER. Mit Cancel wird das Programm ohne Nachfrage verlassen.

_images/restore7.png

Bestätigen Sie die folgende Sicherheitsabfrage, um schließlich den Zielpfad einzugeben. Es ist sicher eine gute Idee, erst einmal in ein temporäres Verzeichnis (z. Bsp. /var/tmp) zu restaurieren, um die Dateien dann nach eingehender Prüfung an den vorgesehenen Ort zu verschieben.

_images/restore8.png

Die ausgewählten Dateien und Verzeichnisse werden nun unter /var/tmp wieder hergestellt. Danach beendet sich mondorestore und Sie können das Backupmedium wieder unmounten.

Komplettrestore des Servers

Da dies nicht im Livebetrieb geschehen kann, muss ein Bootmedium hergestellt werden. Dazu brennen Sie die ISO-Datei mondorescue.iso aus dem Verzeichnis des jüngsten Vollbackupsets (vgl. Abschnitt Konfiguration) mit einem handelsüblichen Brennprogramm auf einen CD-Rohling.

Schließen Sie gegebenenfalls die Backupfestplatte an den Server an oder stellen Sie sicher, dass Netzwerkverbindung zum NFS-Backup-Server besteht. Booten Sie dann den Server von der mondorescue-Boot-CD. Nach kurzer Zeit erscheint der Bootprompt von Mondo Rescue:

_images/restore9.png

Hier haben Sie nun unter anderem folgende Möglichkeiten für die Restaurationsmethode:

nuke
Im Abschnitt Restore eines Vollbackups wird die automatische Restauration erläutert.
interactive
Der interaktive Modus im Abschnitt Interaktiver Restore beschreibt die Benutzer gesteuerte Wiederherstellung.

Restore eines Vollbackups

Nach der Eingabe von nuke am Bootprompt wird der Rechner vollautomatisch aus dem letzten Vollbackupset restauriert. Die Festplatte(n) werden partitioniert und formatiert. Raid- bzw. LVM-Systeme werden wiederhergestellt. Falls auf dem Zielsystem größere Festplatten vorhanden sind, werden die Partitionsgrößen dynamisch angepasst.

_images/restore10.png

Anschließend wird der auf dem Backupmedium gefundene Vollbackupset, aus dem das zur Restauration verwendete ISO-Image mondorescue.iso stammt, wieder hergestellt.

_images/restore11.png

Nach Abschluss des Restaurationsvorgangs erscheint noch ein Hinweis, den Sie mit ENTER bestätigen müssen,

_images/restore12.png

um schließlich auf die Konsole zu gelangen.

_images/restore13.png

Falls Sie keine differentiellen und inkrementellen Backupsets restaurieren müssen, geben Sie am Prompt exit ein, um in den frisch restaurierten Server zu booten. Was im anderen Fall ist noch zu tun ist, lesen Sie im Abschnitt Restore von differentiellen und inkrementellen Backups.

Restore von differentiellen und inkrementellen Backups

Wenn Sie nach einem Vollbackup noch weitere differentielle und/oder inkrementelle Backups erstellt haben, müssen diese anschließend an den Restore des Vollbackups in chronologischer Reihenfolge zurückgespielt werden. Das muss dann im [[backup.disaster.recovery.interactiv|interaktiven Modus]] erfolgen. FIXME

Haben Sie differentielle Backups erstellt, wird als nächstes das aktuellste, differentielle Backup restauriert. Sind dann noch inkrementelle Backups jüngeren Datums vorhanden, müssen diese nacheinander auch noch zurückgespielt werden.

Die Vorgehensweise anhand des oben genannten Beispiels

_images/backup1.png

wäre dann:

  • Automatisches Restore des Vollbackups 070201_010002_full, wie im Abschnitt Restore eines Vollbackups beschrieben;
  • Restore des differentiellen Backups 070225_020002_diff;
  • Restore der beiden nachfolgenden inkrementellen Backups 070227_030002_inc und 070228_030002_inc.

Nach erfolgtem Restore des Vollbackups booten Sie das System also nicht neu, sondern starten auf der Mondo-Rescue-Konsole das Programm mondorestore:

mondorestore

Fahren Sie fort, wie im Interaktiver Restore beschrieben. Wiederholen Sie den Restorevorgang für jedes differentielle und inkrementelle Backup, das Sie restaurieren müssen.

Interaktiver Restore

Geben Sie am Bootprompt interactive ein. Die CD bootet dann direkt in das Startmenü von mondorestore.

Wählen Sie im Startmenü die Option Interactively:

_images/restore14.png

Wählen Sie im nächsten Schritt das Backupmedium aus:

_images/restore2.png

Geben Sie den Präfix für die ISO-Dateien nun ein (in unserem Fall “server”):

_images/restore4.png

Geben Sie das Backupgerät ebenfalls ein (in unserem Beispiel eine Festplattenpartition):

_images/restore15.png

Das Dateisystem der Backup-Partition wird automatisch erkannt, das Eingabefeld kann also leer bleiben:

_images/restore16.png

Geben Sie den Pfad zum gewünschten Backupset ein. Vorgegeben wird der Pfad zum Vollbackup. Wenn Sie ein differentielles oder inkrementelles Backupset zurückspielen möchten, müssen Sie den Pfad anpassen.

_images/restore17.png

Jetzt können Sie noch die Partitionierung der Festplatte(n) anpassen. Das ist jedoch nur in Spezialfällen notwendig, wenn Sie zum Beispiel ein Vollbackup interaktiv restaurieren und die Partitionierung auf dem Zielsystem anders sein soll als auf dem System, das gesichert wurde. Um weiter zu gelangen, navigieren Sie mit der TAB-Taste auf OK und drücken Sie ENTER.

_images/restore18.png

Bestätigen Sie noch die Sicherheitsabfrage bezüglich der Mountliste.

_images/restore19.png

Nachdem die Zieldateisysteme gemountet wurden, werden Sie noch gefragt, ob Sie alle Dateien des Backupsets restaurieren wollen. Wählen Sie Yes, um den Backupset komplett zu restaurieren. Mit No erhalten Sie die im Abschnitt Interaktiver Restore beschriebene Möglichkeit, einzelne Dateien und Verzeichnisse für die Restauration auszuwählen.

_images/restore20.png

Schließlich startet der Restaurationsvorgang.

_images/restore11.png

Sind alle Dateien restauriert kann der Bootloader initialisiert werden. Wählen Sie Yes.

_images/restore21.png

In einem weiteren Schritt muss noch angegeben werden, ob die Mountliste geändert wurde.

_images/restore22.png

Sollen die Partitionen mit einem Label versehen werden? Hier kann mit Yes geantwortet werden.

_images/restore23.png

Bestätigen Sie abschließend noch den Start des post-nuke scripts.

_images/restore24.png

Nun ist die Restauration des Backupsets abgeschlossen und die Mondo-Rescue-Konsole erscheint. Wenn Sie weitere Backupsets zurückspielen müssen, starten Sie mondorestore auf der Konsole. Um das System neu zu starten, geben Sie exit ein.

Restore von einem NFS-Share

Bei meinen Versuchen von einem NFS-Share zu restaurieren, gelang es der Mondo-Rescue-CD nicht, das Netzwerk zu konfigurieren. In dem Fall müssen Sie die Netzwerkkonfiguration auf der Konsole von Hand einrichten. Gehen Sie so vor:

  • Beenden Sie mondorestore, um auf die Konsole zu gelangen.
  • Finden Sie heraus, welches Netzwerkinterface mit dem NFS-Server verbunden ist. Der Befehl
        ifconfig -a

gibt eine Übersicht aller Netzwerkinterfaces aus.
  • Konfigurieren Sie jetzt das Netzwerkinterface (Beispiel, Interface und IP-Adresse müssen ggf. angepasst werden):
ifconfig eth0 10.16.1.1 netmask 255.240.0.0 up
  • Überprüfen Sie mit ping, ob der NFS-Server erreichbar ist.
  • Starten Sie den Portmap-Dienst:
portmap
  • Mounten Sie nun das NFS-Share nach /tmp/isodir (Beispiel):
mount -t nfs -o nolock 10.16.1.10:/home/nfs /tmp/isodir

Starten Sie nun mondorestore und führen Sie die Restauration durch.

Hardwaretest mit mindi

Mit Hilfe des Tools mindi erzeugt mondoarchive beim Backup ein bootbares Restore-CD-Image. Um zu testen, ob bei einem späteren Restore die Festplatten und Partitionen richtig erkannt werden, ist es empfehlenswert den Server einmal von einer mit mindi erzeugten CD zu booten.

Das mindi-CD-Image erstellen Sie einfach mit dem Befehl

mindi

auf der Konsole. In der Folge müssen Sie zwei Fragen beantworten. Die Frage nach dem eigenen Kernel beantworten Sie mit y:

Mindi Linux mini-distro generator v2.0.4-r2045
Latest Mindi is available from http://www.mondorescue.org
BusyBox sources are available from http://www.busybox.net
------------------------------------------------------------------------------
Mindi-BusyBox v1.2.1 (2008.10.20-18:41+0000) multi-call binary
Do you want to use your own kernel to build the boot disk ([y]/n) ?

Danach wird das System analysiert und das ISO-Image erstellt. Die abschließende Frage nach dem bootbaren USB Image beantworten Sie mit n.

Analyzing dependency requirements       Done.
Making complete dependency list Done.
Analyzing your keyboard's configuration.
Adding the following keyboard mapping tables:   Done.
Assembling dependency files...................................Done.         ..........
Your mountlist will look like this:
Analyzing LVM...
DEVICE          MOUNTPOINT      FORMAT          SIZE (MB)       LABEL/UUID
/dev/sda6       lvm             lvm              140003
/dev/sda1       /               ext3               9554
/dev/mapper/vg_lml-home /home           ext3                lvm
/dev/mapper/vg_lml-var /var            ext3                lvm
/dev/mapper/vg_lml-var+spool+cups /var/spool/cups ext3                lvm
/dev/sda5       swap            swap               3067
Tarring and zipping the data content... Done.
Making 16384KB boot disk...............udev device manager found
WARNING: No Hardware support for ST20V10
You may ask your manufacturer to contribute to the mindi project
...11709 blocks
............    Done.
In the directory '/var/cache/mindi' you will find the images:-
mindi-bootroot.16384.img
Created bootable ISO image at /var/cache/mindi/mindi.iso
Shall I make a bootable USB image ? (y/[n])

Das mindi-CD-Image finden Sie unter /var/cache/mindi/mindi.iso. Brennen Sie nun das ISO-Image auf einen CD-Rohling und booten Sie den Server damit.

Ist der Bootvorgang abgeschlossen, erscheint eine Konsole. Durch Eingabe des Befehls

fdisk -l

verschaffen Sie sich einen Überblick über die gefundenen Festplattenpartitionen. Wenn die Partitionen (inkl. Backuppartition) nicht so angezeigt werden, wie auf dem laufenden linuxmuster.net-Server, wurde wahrscheinlich der Festplattenkontroller nicht erkannt. In dem Fall kann man durch Hinzufügen des entsprechenden Treibermoduls in der Konfigurationsdatei /etc/mindi/mindi.conf unter SCSI_MODS oder IDE_MODS den Fehler eventuell beheben. Ein Vergleich der Ausgabe von

lsmod

des linuxmuster.net-Servers mit derjenigen unter mindi hilft gegebenenfalls bei der Suche nach fehlenden Modulen.

Caution

Wichtiger Hinweis Ein Workaround, der evtl. hilft auf linuxmuster.net/openML-Systemen der Version 4.0.x Hardware-Probleme beim Restore zu vermeiden, besteht darin die Konfigurationsdatei /etc/mindi/mindi.conf zu entfernen, sodass mindi die Hardwarekonfiguration nach Standardeinstellungen ermittelt. Erstellen Sie, wie oben beschrieben, ein Mindi-ISO-Image, verschieben Sie jedoch zuvor die Konfigurationsdatei /etc/mindi/mindi.conf in ein anderes Verzeichnis, zum Beispiel:

mv /etc/mindi/mindi.conf /root

Note

Im Forum findet sich dieser Hinweis auf die Konfiguration der /etc/mindi/mindi.conf.

Falls Mindi Fehler liefert, kann es nach folgender Anpassung funktionieren:

In der Datei /etc/mindi/mindi.conf die Parameter anpassen:

#
# Example of mindi configuration file
#
# $Id$
#
# FORCE_MODS="crc_ccitt crc_ccitt"
#
# EXTRA_SPACE=80152             # increase if you run out of ramdisk space
# BOOT_SIZE=32768               # size of the boot disk
# MINDI_ADDITIONAL_BOOT_PARAMS="devfs=nomount noresume selinux=0 barrier=off udevtimeout=10 acpi=off"
EXTRA_SPACE=120000
BOOT_SIZE=96000

Virtualisierung über KVM

Section author: @morbweb, @Tobias, @MachtDochNix (pics)

In diesem Dokument findest Du “Schritt für Schritt” Anleitungen zum Installieren der linuxmuster.net-Musterlösung in der Version 7.0 auf Basis von KVM unter Ubuntu Server 18.04 LTS. Lies zuerst die Abschnitte Was ist neu in 7.0? und Voraussetzungen, bevor Du dieses Kapitel durcharbeitest.

Im folgenden Bild ist die einfachste Form der Implementierung der Musterlösung schematisch mit dem gewählten (Standard-)Netzwerk 10.0.0.0/12 dargestellt:

_images/install-on-kvm-image01.png

Nach der Installation gemäß dieser Anleitung erhältst Du eine einsatzbereite Umgebung bestehend aus

  • einem Host (KVM) für alle virtuellen Maschinen,
  • einer Firewall (OPNSense) und
  • eines Servers (linuxmuster.net)

Ähnliche, nicht dokumentierte, Installationen gelten für einen OPSI-Server und einen Docker-Host, die dann ebenso auf dem KVM-Host laufen können.

Voraussetzungen

  • Es wird vorausgesetzt, dass Du einen Administrationsrechner (Admin-PC genannt) besitzt, den Du je nach Bedarf in die entsprechenden Netzwerke einstecken kannst und dessen Netzwerkkonfiguration entsprechend vornehmen kannst. Für diese Anleitung reicht ein Rechner mit ssh-Software aus, empfohlen wird allerdings ein Ubuntu-Desktop mit der Verwaltungssoftware virt-manager.
  • Der Internetzugang des Admin-PCs und auch des späteren KVM-Hosts sollte zunächst gewährleistet sein, d.h. dass beide zunächst z.B. an einem Router angeschlossen werden, über den die beiden ins Internet können. Sobald später die Firewall korrekt eingerichtet ist, bekommt der Admin-PC und bei Bedarf auch der KVM-Host eine IP-Adresse im Schulnetz.

Installation des KVM-Hosts

Hint

Der KVM-Host bildet das Grundgerüst für die Firewall OPNsense und den Schulserver server. Da KVM im Gegensatz zu Xen oder VMWare auf die Virtualisierungsfunktionen der CPU angewiesen ist, müssen diese natürlich vorhanden sein und eventuell im BIOS aktiviert werden.

Die folgende Anleitung beschreibt die einfachste Implementierung ohne Dinge wie VLANs, Teaming oder Raids. Diese Themen werden in zusätzlichen Anleitungen betrachtet.

Erstellen eines USB-Sticks für den KVM-Host

Download für den KVM-Host
Es wird für die Installation auf dem KVM-Host ein Ubuntu Server 64bit in der Version 18.04 LTS verwendet. Ein Installationsimage für DVD/USB-Stick kann hier heruntergeladen werden.

Hilfreiche Befehle sind (Vorsicht - mit dd werden vorhandene Daten unwiderruflich zerstört):

Löschen des MBRs des USB-Sticks
# sudo dd if=/dev/zero of=/dev/sdX bs=1M count=10

Kopieren des ISOs auf den Stick
# sudo dd if=<Name des ISOs> | sudo pv -s <Groesse des ISOs> | sudo dd of=/dev/sdX bs=1M && sync

Natürlich können auch alle anderen gängigen Tools zur Erstellung genutzt werden.

Installation des KVM-Hosts

Hint

Bei der Installation sind folgende Merkmale zu berücksichtigen:

  • Erstellung eines Nutzers lmadmin, der später wieder gelöscht wird.
  • Auswahl des HWE Kernels
  • Einrichtung eines LVMs auf der HDD mit 25GB für das Betriebssystem
  • Auswahl der Pakete Virtual Machine host und OpenSSH server

Des Weiteren ist es (wie in den Voraussetzungen angesprochen) sinnvoll, die erste Netzwerkkarte des Servers an den Internet-Router anzuschließen, um eventuell notwendige Pakete (Sprachpakete) während der Installation zu installieren.

todo:neues Video auf Basis von Ubuntu 18.04 LTS

Netzwerkkonfiguration des KVM-Hosts

In diesem Schritt erfolgt die Anbindung des KVM-Hosts an das Schulnetz und an das Internet sowohl für den KVM-Host selbst, als auch für die virtuellen Maschinen. Dafür werden virtuelle Netzwerkswitche (so genannte bridges) eingerichtet mit denen die virtuellen Maschinen netzwerktechnisch verbunden werden. Der KVM-Host selbst kann auch mit Brücken verbunden werden, wenn er im jeweiligen Netz sichtbar sein soll.

Herausfinden der Namen der Netzwerkkarten. Wenn du nicht gerade VLANs auf dem KVM-Host einrichten willst, sollten hier alle physischen Netzwerkkarten auftauchen. Eventuell wurden sie umbenannt (“ens3: renamed from eth0”, usw.):

# dmesg | grep eth
[    9.230673] e1000e 0000:06:00.0 eth0: (PCI Express:2.5GT/s:Width x4) 00:30:48:dd:ee:ff
[    9.273215] e1000e 0000:06:00.1 eth1: (PCI Express:2.5GT/s:Width x4) 00:30:48:aa:bb:cc
Anpassen der Netzwerkkonfiguration
/etc/netplan/50-linuxmuster.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
    eth1:
      dhcp4: no
      dhcp6: no

bridges:
  br-red:
    interfaces: [eth0]
    link-local: [ ]
    addresses: [ ]

  br-server:
    interfaces: [eth1]
    link-local: [ ]
    addresses: [ ]

  #br-dmz:
  #  interfaces: [eth2]
  #  link-local: [ ]
  #  addresses: [ ]

Mit dieser Netzwerkkonfiguration werden die Netzwerkbrücken br-red und br-server erstellt, aber dem KVM-Host im jeweiligen Netz keine IP-Adresse zugewiesen. Will man (zumindest zeitweilig) von außen per ssh auf den KVM-Host zugreifen, muss man auch im entsprechenden Netzwerk eine Netzwerkadresse festlegen, z.B. im Netzwerk br-server ersetzt man obigen Abschnitt in:

...
bridges:
...
  br-server:
    interfaces: [eth1]
    link-local: [ ]
    addresses: [10.0.0.9/16]
    gateway4: 10.0.0.254
    nameservers:
      addresses: [10.0.0.1]
      search: ["meine-schule.de"]
...

Um im Netzwerk der äußeren Internetverbindung br-red beispielsweise per DHCP eine IPv4-Adresse zu erhalten, konfiguriert man den entsprechenden Abschnitt so

...
bridges:
...
  br-red:
    interfaces: [eth0]
    link-local: [ ]
    dhcp4: true
...

Hint

Wer seinen KVM-Host von früheren Ubuntu-Versionen updatet, bei dem wird nicht automatisch netplan installiert, sondern ifupdown mit der Konfigurationsdatei /etc/network/interfaces wird beibehalten.

Installation von Updates

Nach der Erstinstallation ist es sinnvoll, das System erst einmal auf den aktuellen Stand zu bringen. Auf der Konsole wird dies mit folgenden Befehlen durchgeführt:

# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get dist-upgrade
# sudo apt-get autoremove
# sudo apt-get autoclean

Einrichten des SSH-Zugangs auf Zertifikatsbasis

todo:check/redo for 18.04

Die Remote-Administration des KVM-Hosts soll per SSH und Zertifikaten erfolgen. Als Benutzer wird root verwendet.

Setzen des Rootpassworts
# passwd
Aktivierung des SSH-Zugangs für root
# nano /etc/ssh/sshd_config
...
PermitRootLogin yes
...
Erstellen von SSH-Zertifikaten auf dem Admin-PC und Kopieren auf den KVM-Host
# ssh-keygen
# ssh-copy-id root@192.168.1.10
Deaktivierung des SSH-Zugangs für root per Passwort
# nano /etc/ssh/sshd_config
...
PermitRootLogin prohibit-password
...
Löschen des Users lmadmin auf dem KVM-Host
# userdel -r lmadmin

Einrichten der Zeit-Synchronisation

todo:check/redo for 18.04

Immer eine gute Sache ist es, z.B. in Logfiles die korrekte Zeit zu finden. Aus diesem Grund erfolgt die Konfiguration eines NTP-Clients.

Installieren von ntpdate
# apt-get install ntpdate

Einmaliges Stellen der Uhrzeit
# ntpdate 0.de.pool.ntp.org

Installieren des NTP-Daemons
# apt-get install ntp

Anzeigen der Zeitsynchronisation
# ntpq -p

Vorbereitungen für den Import der virtuellen Maschinen

Download Virtuelle Maschinen

Lade auf dem KVM-Host die aktuellen OVA-Abbilder von der Webseite herunter, die zu dem Adressbereich gehören, den Du brauchst (10.0.0.1/16 oder 10.16.1.1/12)

# wget http://fleischsalat.linuxmuster.org/ova/lmn7-opnsense-20181109.ova
# wget http://fleischsalat.linuxmuster.org/ova/lmn7-server-20181109.ova
# wget http://fleischsalat.linuxmuster.org/ova/lmn7-opsi-20181109.ova
# wget http://fleischsalat.linuxmuster.org/ova/lmn7-docker-20181109.ova

und überprüfe die md5-Summe mit dem entsprechenden Werkzeug und vergleiche mit der Webseite auf Integrität. In der weiteren Anleitung wird statt der Dateien mit Datumsstempel 20181109 die Datei mit * verwendet. Solange Du nur je ein (das aktuelle) OVA-Abbild vorliegen hast, funktionieren die Befehle auch mit dem *.

KVM-Anpassungen
Nach der Integration bietet es sich an, die Hardware der importierten Appliances anzupassen und z.B. die Festplattentypen auf “virtio” zu stellen. Ebenso habe ich den Typ der “Grafikkarte” von spice auf vnc gesetzt.

Import der Firewall

Importiere die Firewall-Appliance lmn7-opnsense.

# virt-convert lmn7-opnsense-*.ova
...
Running /usr/bin/qemu-img convert -O raw lmn7-opnsense-20181109-disk1.vmdk /var/lib/libvirt/images/lmn7-opnsense-20181109-disk1.raw
Creating guest 'lmn7-opnsense'.

Wer als Speichermedium lieber das LVM verwendet, der muss die Festplattengröße ermitteln, ein logical volume erstellen, das Abbild nochmals kopieren und die Konfiguration editieren.

# qemu-img info /var/lib/libvirt/images/lmn7-opnsense-*disk1.raw | grep virtual\ size
virtual size: 10G (10737418240 bytes)
# lvcreate -L 10737418240b -n opnsense vghost
# qemu-img convert -O raw /var/lib/libvirt/images/lmn7-opnsense-*disk1.raw /dev/vghost/opnsense
# virsh edit lmn7-opnsense
...
<disk type='block' device='disk'>
   <driver name='qemu' type='raw'/>
   <source dev='/dev/vghost/opnsense'/>
...

Falls das Abbild erfolgreich ins LVM des Hosts übertragen wurde, kann das Abbild in /var/lib/libvirt/images gelöscht werden.

Netzwerkanpassung der Firewall

Die Netzwerkkarten der Appliance werden in der Reihenfolge importiert, wie sie in der Appliance definiert wurden:

  1. LAN, 10.0.0.254/16, d.h. diese Schnittstelle wird auf der pädagogischen Seite des Netzwerks angeschlossen
  2. WAN, DHCP, d.h. diese Schnittstelle wird auf der Internetseite angeschlossen
  3. OPT1, unkonfiguriert, d.h. diese Schnittstelle wird für optionale Netzwerke verwendet und muss zunächst nicht angeschlossen werden.

Öffne die Konfiguration und editiere die erste Schnittstelle, so dass sie sich im Schulnetzwerk befindet, hier im Beispiel wird diese an die virtuelle Brücke br-green mit dem Stichwort bridge und dem Typ bridge angeschlossen. Die MAC-Adresse sollte bei dieser Gelegenheit auch (beliebig) geändert werden.

# virsh edit lmn7-opnsense
...
<interface type='bridge'>
   <mac address='52:54:00:20:ea:70'/>
   <source bridge='br-green'/>
...

Die zweite Schnittstelle sollte genauso dem Typ bridge zugeordnet werden, allerdings an die Brücke br-red angeschlossen werden.

# virsh edit lmn7-opnsense
...
<interface type='bridge'>
   <mac address='52:54:00:d2:0c:62'/>
   <source bridge='br-red'/>
...

Test der Verbindung zur Firewall

Starte die Firewall. Der Admin-PC sollte sich nach ca. 3 Minuten mit der Firewall verbinden lassen.

# virsh start lmn7-opnsense
Domain lmn7-opnsense started
# ping 10.0.0.254
PING 10.0.0.254 (10.0.0.254) 56(84) bytes of data.
64 bytes from 10.0.0.254: icmp_seq=1 ttl=64 time=0.183 ms
64 bytes from 10.0.0.254: icmp_seq=2 ttl=64 time=0.242 ms
...
STRG-C
# ssh 10.0.0.254 -l root
Password for root@OPNsense.localdomain:
...
LAN (em0)       -> v4: 10.0.0.254/16
WAN (em1)       -> v4/DHCP4: 192.168.1.23/16
...

Man erkennt, dass die Firewall die Netzwerkkarten für innen (LAN) und außen (WAN) richtig zugeordnet hat. Sollte diese Verbindung nicht gelingen, dann empfiehlt sich ein Admin-PC, mit dem man über das Programm virt-manager den VM-Host und damit die Firewall über eine GUI-Verbindung erreicht und die Netzkonfiguration der opnsense überprüfen und korrigieren kann.

Import des Servers

Importiere die Server-Appliance lmn7-server.

# virt-convert lmn7-server-*.ova
...
Running /usr/bin/qemu-img convert -O raw lmn7-server-20181109-disk1.vmdk /var/lib/libvirt/images/lmn7-server-20181109-disk1.raw
Running /usr/bin/qemu-img convert -O raw lmn7-server-20181109-disk2.vmdk /var/lib/libvirt/images/lmn7-server-20181109-disk2.raw
Creating guest 'lmn7-server'.

Festplattengrößen für den Server

An dieser Stelle sollte man die Festplattengrößen an seine eigenen Bedürfnisse anpassen. Beispielhaft wird die zweite Festplatte und das darin befindliche server-LVM vergrößert, so dass /dev/vg_srv/linbo und /dev/vg_srv/default-school auf jeweils 175G vergrößert werden.

Zunächst wird der Container entsprechend (10+10+175+175 GB) vergrößert, dann der mit Hilfe von kpartx aufgeschlossen.

# qemu-img resize -f raw /var/lib/libvirt/images/lmn7-server-*disk2.raw 370G
Image resized.
# qemu-img info /var/lib/libvirt/images/lmn7-server-*disk2.raw | grep virtual\ size
virtual size: 370G (397284474880 bytes)
# kpartx -av /var/lib/libvirt/images/lmn7-server-*disk2.raw
# vgdisplay -s vg_srv
"vg_srv" <100,00 GiB [<100,00 GiB used / 0,00 GiB free]

Durch kpartx wurde der Container über ein so genanntes loop-device geöffnet und das darin liegende LVM wurde auf dem Serverhost hinzugefügt. Daher kann jetzt sowohl das loop-device als physical volume vergrößert als auch die logical volumes vergrößert werden. Zu letzt muss noch das Dateisystem geprüft und erweitert werden.

# pvresize /dev/loop0
Physical volume "/dev/loop0" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
# vgdisplay -s vg_srv
"vg_srv" <370,00 GiB [<100,00 GiB used / 270,00 GiB free]

# lvresize /dev/vg_srv/default-school -L 175G
Size of logical volume vg_srv/default-school changed from 40,00 GiB (10240 extents) to 175,00 GiB (44800 extents).
Logical volume vg_srv/default-school successfully resized.
# e2fsck -f /dev/vg_srv/default-school
...
linbo: 1010/2621440 Dateien (0.6% nicht zusammenhängend), 263136/10485760 Blöcke
# resize2fs /dev/vg_srv/default-school
...
Das Dateisystem auf /dev/vg_srv/default-school is nun 45875200 (4k) Blöcke lang.

# lvresize /dev/vg_srv/linbo -L 175G
  Insufficient free space: 34560 extents needed, but only 34559 available
# lvresize /dev/vg_srv/linbo -l +34599
Size of logical volume vg_srv/linbo changed from <40,00 GiB (10239 extents) to <175,00 GiB (44799 extents).
Logical volume vg_srv/linbo successfully resized.
# e2fsck -f /dev/vg_srv/linbo
...
default-school: 13/2621440 Dateien (0.0% nicht zusammenhängend), 242386/10484736 Blöcke
# resize2fs /dev/vg_srv/linbo
...
Das Dateisystem auf /dev/vg_srv/linbo is nun 45874176 (4k) Blöcke lang.

Um den Container wieder ordentlich zu schließen, muss man die volume group abmelden und mit kpartx abschließen.

# vgchange -a n vg_srv
0 logical volume(s) in volume group "vg_srv" now active
# kpartx -dv /var/lib/libvirt/images/lmn7-server-*disk2.raw
loop deleted : /dev/loop0

Auch hier muss man, wenn man als Speichermedium auf dem Host lieber LVM verwendet, weitere Anpassungen vornehmen.Hier habe ich auch den Festplattentyp auf virtio und die Festplattenbezeichnung daher auf vdX umgestellt.

# qemu-img info /var/lib/libvirt/images/lmn7-server-*disk1.raw | grep virtual\ size
virtual size: 25G (26843545600 bytes)
# lvcreate -L 26843545600b -n serverroot vghost
# qemu-img convert -O raw /var/lib/libvirt/images/lmn7-server-*disk1.raw /dev/vghost/serverroot
# virsh edit lmn7-server
...
<disk type='block' device='disk'>
   <driver name='qemu' type='raw'/>
   <source dev='/dev/vghost/serverroot'/>
   <target dev='vda' bus='virtio'/>
...
# qemu-img info /var/lib/libvirt/images/lmn7-server-*disk2.raw | grep virtual\ size
virtual size: 370G (397284474880 bytes)
# lvcreate -L 397284474880b -n serverdata vghost
# qemu-img convert -O raw /var/lib/libvirt/images/lmn7-server-*disk2.raw /dev/vghost/serverdata
# virsh edit lmn7-server
...
<disk type='block' device='disk'>
   <driver name='qemu' type='raw'/>
   <source dev='/dev/vghost/serverdata'/>
   <target dev='vdb' bus='virtio'/>
...

Falls die Abbilder erfolgreich ins LVM des Hosts übertragen wurden, können die Abbilder in /var/lib/libvirt/images gelöscht werden.

Netzwerkanpassung des Servers

Es muss nur eine Netzwerkschnittstelle angepasst werden und in die Brücke br-green gestöpselt werden.

# virsh edit lmn7-server
...
<interface type='bridge'>
   <mac address='52:54:00:9f:b8:af'/>
   <source bridge='br-green'/>
...

Test der Verbindung zum Server

Starte den Server. Teste, ob Du von deinem Admin-PC auf den Server mit dem Standardpasswort Muster! kommst.

# virsh start lmn7-opnsense
Domain lmn7-opnsense started
# ssh 10.0.0.1 -l root
root@10.0.0.1's password:
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-38-generic x86_64)
...

Sollte diese Verbindung nicht gelingen, dann empfiehlt sich ein Admin-PC, mit dem man über das Programm virt-manager den VM-Host erreicht und über eine GUI-Verbindung den Server begutachtet.

Abschließende Konfigurationen

Aktivieren des Autostarts der VMs

Damit die VMs zukünftig bei einem Neustart des KVM-Servers nicht immer von Hand gestartet werden müssen, ist es sinnvoll den Autostart zu aktivieren.

# virsh autostart lmn7-opnsense
Domain lmn7-opnsense marked as autostarted
# virsh autostart lmn7-server
Domain lmn7-server marked as autostarted

Ab jetzt ist eine Installation der Musterlösung möglich. Folge der Anleitung hier.

Virtualisierung mit XCP-ng

Section author: @cweikl

XCP-ng ist eine reine OpenSource-Virtualisierungslösung, die auf Basis von XEN arbeitet und alle sog. Enterprise-Features wie Replikation, automatisierte Backups, Verschieben von VMs im laufenden Betrieb etc. bietet. Daher eignet sie sich besonders für den virtuellen Betrieb von linuxmuster.net, da diese recht einfach skalierbar ist und dann sog. Ressourcen-Pools erstellt und verwaltet werden können.

Der Betrieb wird auf jeglicher Markenhardware unterstützt und auf einer Vielzahl an NoName-Hardware. linuxmuster.net hat die vorgefertigten virtuellen Maschinen in einem sog. SupplementalPack für XCP-ng zusammengefasst. Dieses kann sehr einfach am Ende der Installation von XCP-ng zusätzlich während des Installationsprozesses installiert werden.

Für die Installation benötigen Sie lediglich

  • einen Installationsdatenträger mit XCP-ng 7.4.1 (zu finden auf XCP Webseite)
  • sowie die Erweiterungs-DVD linuxmuster.net-SupplementalPack (zu finden auf linuxmuster.net)

Nach der Installation gemäß dieser Anleitung erhalten Sie eine einsatzbereite Umgebung bestehend aus

  • Server,
  • Firewall (OPNsense),
  • Web-Administrationsoberfläche (XOA)
  • Docker-Host,
  • OPSI.

Installation XCP-ng

Herunterladen von XCP-ng

Der Hypervisor kann von der Projekthomepage https://xcp-ng.org/download/ heruntergeladen werden. Diese Anleitung bezieht sich auf die Version 7.4.1.

Die ISO-Datei muss heruntergeladen und ein bootbarer USB-Stick erstellt werden.

  1. Herunterladen: XCP Webseite
  2. USB-Stick erstellen: In das Download Verzeichnis Wechseln, Buchstaben für USB-Stick unter Linux ermitteln X durch den korrekten Buchstaben ersetzen und dann nachstehenden Befehl ein.
dd if=XCP-ng_7.4.1.iso of=/dev/sdX bs=8M status=progress oflag=direct

Installieren von XCP-ng

Vom USB-Stick booten und dem Setup folgen:

Schritt 1 der Installation des XCP-ng Servers

Wählen Sie Ihr Tastaturlayout. Wir verwenden [querz] de.

Schritt 2 der Installation des XCP-ng Servers

Sollten Sie zusätzliche Treiber benötigen können Sie diese nun laden in dem Sie F9 drücken und akzeptieren Sie danach die Lizenzbedingungen mit Accept EULA..

Schritt 3 der Installation des XCP-ng Servers

XCP-ng prüft, ob bereits eine vorherige Version ggf. auch von XCP-ng installiert war und bietet an, diese zu aktualisieren oder eine Neuinstallation vorzunehmen. Wählen Sie das gewünschte Vorgehen aus.

Schritt 4 der Installation des XCP-ng Servers

Wählen Sie danach den Datenträger aus, der verwendet werden soll und setzen Sie den Haken bei „Enable thin provisioning“. Bestätigen Sie mit Ok.

fixme:Andere Abb
Schritt 5 der Installation des XCP-ng Servers

Danach werden Sie nach der Installationsquelle gefragt. Geben Sie hier Local Media an.

Danach werden Sie danach gefragt, ob Sie Zusatzpakete (SupplementalPacks) installieren möchten. Geben Sie hier Yes an. Später müssen Sie dann das entsprechende Medium auswählen, auf dem das Ihnen heruntergelade linuxmuster.net-supplemtalpack als ISO-Datei liegt.

Danach werden Sie gefragt, ob das Installationsmedium überprüft werden soll, bestätigen Sie dies mit Yes.

Legen Sie danach das Kennwort für den Administrator (user: root) fest und bestätigen Sie dieses.

Schritt 5 der Installation des XCP-ng Servers

Bestätigen Sie die Frage nach der Installation von XCP-ng. Es werden für das gewählte Medium dann die Partitionen erstellt, das Dateisystem erzeugt und alle Daten auf dem Medium gelöscht.

Schritt 6 der Installation des XCP-ng Servers

Danach startet die Installation

Schritt 7 der Installation des XCP-ng Servers

Nach erfolgreicher Installation können Sie mit Ok den Server neu starten.

Schritt 8 der Installation des XCP-ng Servers

Beim Startvorgang erscheint folgende Auswahl

Schritt 9 der Installation des XCP-ng Servers

und nachstehender Startbildschirm

Schritt 10 der Installation des XCP-ng Servers

Nach erfolgreichem Start bootet XCP-ng in folgende Konsole des Hypervisors:

Schritt 11 der Installation des XCP-ng Servers

Danach gehen Sie weiter zur Initialisierung des Servers.

XCP-ng initialisieren

fixme:Andere Abbildungen angepasst auf das zu erstellen SupplementalPack

Wählen Sie auf der Konsole des XCP-ng Servers den Punkt Local Command Shell und drücken Sie Enter.

Schritt 26 der Installation des XCP-ngs

Geben Sie den Benutzer root an und das Passwort das Sie während der Installation vergeben haben.

Schritt 27 der Installation des XCP-ngs

Geben Sie in der Konsole den Befehl linuxmuster-hv-setup --first ein und bestätigen Sie mit Enter

Schritt 28 der Installation des XCP-ngs

Starten Sie die Installation mit Ok

Schritt 29 der Installation des XCP-ngs

Sofern genügend Netzwerkkarten vorhanden sind erscheint diese Meldung:

Schritt 30 der Installation des XCP-ngs

Stecken Sie alle Netzwerkkabel außer das Netzwerkkabel GREEN (internes Schulnetz) aus. Es muss eine Verbindung zwischen Switch und Server stehen. Bestätigen Sie dann mit Ok.

Schritt 31 der Installation des XCP-ngs

Verbinden Sie nun die Netzwerkkarte RED mit Ihrem Modem oder Switch für das Netz RED. Es wird die betroffene Netzwerkkarte erkannt und konfiguriert.

Schritt 32 der Installation des XCP-ngs

Verbinden Sie nun das Netzwerk BLUE mit dem gewünschten Interface am Server.

Schritt 33 der Installation des XCP-ngs

Legen Sie nun die CD „linuxmuster-SupplementalPack“ erneut in das Laufwerk ein und bestätigen Sie mit Ok.

Schritt 34 der Installation des XCP-ngs

Sie werden nun der Reihe nach abgefragt welche VMs Sie importieren wollen. Wählen Sie jeweils Yes bzw. No und bestätigen mit Enter.

Schritt 35 der Installation des XCP-ngs
Schritt 36 der Installation des XCP-ngs
Schritt 37 der Installation des XCP-ngs

Entnehmen Sie nun die CD und bestätigen Sie mit Ok.

Schritt 38 der Installation des XCP-ngs

Sie werden nun gefragt ob Sie die Autostartfunktion nutzen wollen. Wenn Sie diese Funktion aktivieren können im Folgeschritt VMs ausgewählt werden, die beim Start des XCP-ngs automatisch gestartet werden sollen. Wählen Sie Yes oder No.

Schritt 39 der Installation des XCP-ngs

Sie werden nun der Reihe nach abgefragt welche VMs automatisch gestartet werden sollen. Wählen Sie jeweils Yes bzw. No und bestätigen Sie mit Enter.

Schritt 40 der Installation des XCP-ngs
Schritt 41 der Installation des XCP-ngs
Schritt 41a der Installation des XCP-ngs

Sie können nun das System mit der Auswahl Yes neu starten.

Schritt 42 der Installation des XCP-ngs

Das System fährt herunter und startet danach wieder. Die VMs, die Sie importiert haben, werden - sofern entsprechend konfiguriert - direkt gestartet und sind bereit für die Konfiguration.

XCP-ng: Administration

Für die Administration Ihrer virtualisierten Umgebung mit XCP-ng stehen Ihnen mehrere Möglichkeiten zur Verfügung. Sofern Sie einen Windows-Rechner im Netzwerk haben, können Sie das Programm XCP-ng Center verwenden.

Für Linuxrechner gibt es einen Clone von XenCenter namens OpenXenManager.

Für eine web-basierte Administration können Sie, die VM „XOA.lmn7“ importieren.

XCP-ng Center

Laden Sie sich den Windows-Client von der Seite des XCP-ng Projekts herunter:

XCP-ng Center v7.4.2.7-RC3

Entpacken Sie das ZIP-Archiv auf dem Windows-Rechner inkl. der enthaltenen Verzeichnisse. Legen Sie sich einen Link auf den Desktop, der auf die Datei XCP-ng Center.exe verweist, die sich im soeben entpackten Verzeichnis befindet.

Starten Sie das Programm

fixme:Weitere Erklärungen

Xen Orchestra (XOA)

Note

Um XOA nutzen zu können, muss die xoa.lmn7 importiert sein!

Öffnen Sie einen Webbrowser und wechseln auf die Seite http://10.0.0.4. Geben Sie den User admin@admin.net mit dem Passwort muster ein und klicken Sie auf Login.

XOA Schritt 1

Klicken Sie auf das Kachelsymbol rechts oben und wählen Settings.

XOA Schritt 2

Tragen Sie links die IP-Adresse 10.X.X.X ein und das Passwort, das Sie vergeben haben. Klicken Sie zum Übernehmen auf Save.

XOA Schritt 3

Wenn Sie mit der Maus über eine VM fahren erscheinen direkt einige Schaltflächen. Klicken Sie auf VM Console um eine Maschine zu bedienen.

XOA Schritt 4

Sie können nun die Virtuelle Maschine bedienen.

XOA Schritt 5

OpenXen Manager

Um OpenXen Manager zu verwenden müssen Sie zunächst das Paket installieren. Gehen Sie dazu wie folgt vor.

Öffnen Sie ein Terminal und geben folgenden Befehl ein:

$ nano /etc/apt/sources.list.d/netzint.list
OpenXen Manager Schritt 1

Schreiben Sie nun in die Zeile:

deb http://pkg.netzint.de/ precise main
OpenXen Manager Schritt 2

Verlassen Sie den Editor in dem Sie Strg+x drücken. Sie werden gefragt ob Sie die Änderungen speichern wollen. Drücken Sie Y und bestätigen den Speicherort/Dateinamen mit Enter.

Schreiben Sie folgende Befehle in die Konsole und bestätigen Sie jeweils mit Enter:

$ wget http://pkg.netzint.de/netzint.pub.key
$ apt-key add netzint.pub.key
OpenXen Manager Schritt 3

Schreiben Sie den Befehl apt-get update in die Konsole und drücken Sie Enter.

$ apt-get update
OpenXen Manager Schritt 4

Schreiben Sie den Befehl apt-get install netzint-xenmanager in die Konsole und drücken Enter. Bestätigen Sie die Abfrage fortzufahren mit Y.

$ apt-get install netzint-xenmanager
OpenXen Manager Schritt 5

Nach der Installation starten Sie OpenXenmanager mit dem Befehl

$ xenmanager
OpenXen Manager Schritt 6

Klicken Sie auf Add New Server und geben die IP-Adresse sowie den Benutzernamen root und das Passwort ein. Bestätigen Sie mit Connect.

OpenXen Manager Schritt 7

Sie sehen nun die Verwaltungsoberfläche mit der Sie den XCP-ng Server administrieren können.

OpenXen Manager Schritt 8

Linuxmuster.net helfen

Es gibt verschiedene Möglichkeiten, wie Sie helfen können, linuxmuster.net zu verbessern.

Dokumentation

Die Dokumentation wird bei github gelagert und bei Transifex übersetzt. Es ist sehr einfach, hier ohne weitere Hilfsmittel mitzuhelfen.

Ein bisschen herausfordernder ist, die Dokumentation in größerem Rahmen zu überarbeiten und lokal zu bauen, aber auch dafür gibt es eine Anleitung.

Dokumentation in GitHub ändern

Wenn Sie einen Fehler (Rechtschreibfehler, kleine inhaltliche Fehler, etc.) in der Dokumentation gefunden haben, klicken Sie einfach auf den “Edit on Github” Link am rechten oberen Rand jeder Dokumentationsseite.

Edit on Github

Sie werden auf github.com geleitet. Mit einem Klick auf den Stift (siehe Bild) können Sie das aktuelle Kapitel bearbeiten. Dafür müssen Sie sich bei GitHub anmelden. Wenn Sie noch kein Konto bei Github haben, können Sie sich hier eines anlegen oder oben rechts auf “Sign up” klicken.

Edit not signed in

Die Dokumentation ist in der Auszeichnungssprache “rST” geschrieben. Hier finden Sie einen guten Überblick über die am häufigsten verwendeten Elemente.

Edit signed in

Im Beispiel wurde der Rechtschreibfehler und die Länge der zur Überschrift gehörenden Unterschreichung geändert.

Nachdem du alle Änderungen vorgenommen hast, gib unten einen Titel und einen Kommentar ein. Die Änderungen können nun mit einem Klick auf “Propose file changes” eingereicht werden.

propose changes

Dein Änderungsvorschlag wird dann vom Dokumentationsteam geprüft und gegebenenfalls übernommen. Sekunden später erscheint die Änderung dann auch hier in der offiziellen Dokumentation.

Hint

Bitte beachten Sie auch unbedingt die Leitlinien zur Dokumentation, damit ihre Änderungen schnell eingepflegt werden könnnen!

Sollest du bereits Schreibrechte am Repositorium haben und bist dir sicher, dass die Dokumentation durch deine Änderung nicht beeinträchtigt wird, kannst du die Änderungen direkt einbauen (“Commit”) oder im Zweifel einen Zweig und einen so genannten Pull-Request erstellen.

commit changes directly

Größere Änderungen an der Dokumentation sind immer über Pull-Requests zu erstellen. Dafür ist es nützlich, lokal eine Kopie (fork) vorzuhalten und Änderungen lokal zu testen, das im entsprechenden Kapitel erklärt wird.

Dokumentation übersetzen

Die Dokumentation kann auf der Projektseite bei Transifex übersetzt werden. Klicken Sie einfach auf den blauen “Help Translate ‘official documentation’” und melden Sie sich mit ihrem Transifex-Konto an bzw. erstellen Sie ein neues.

Dokumentation lokal bearbeiten und veröffentlichen

Wenn du die Dokumentation erweitern willst, z.B. mit einem eigenen HowTo, ein fehlendes Kapitel ergänzen möchtest oder größere Änderungen machen und testen willst, benötigst du folgende Dinge:

  • ein Konto bei Github
  • Die Software git (wird zur Verwaltung und Versionierung der Dokumentation verwendet)
  • Die Software sphinx (zum Übersetzen und Testen der Quelldateien), die wiederum python voraussetzt
  • optional: SSH-Schlüssel bei Github hochladen (erleichtert die Arbeit mit git)
Virtualbox-Appliance verwenden

Um den Umgang mit rST/sphinx, git und github zu erleichtern, wird von uns eine virtuelle Umgebung angeboten.

Benutzername:
linuxadmin (angezeigt wird: Linux Admin)
Passwort:
linuxmuster
Manuelle Installation (Ubuntu)

Wer die virtuelle Appliance nicht nutzen will, kann mit folgenden Befehlen unter aktuellen (ab 16.04) Ubuntu-Distributionen git, python und sphinx nachinstallieren:

$ sudo apt install git
$ sudo apt install python3-pip
$ pip3 install sphinx
$ pip3 install sphinx_rtd_theme

Nachfolgende Befehle gehen davon aus, dass die virtuelle Umgebung verwendet wird.

Erste Schritte: Offizielle Dokumentation kompilieren

Jetzt kannst du bereits die bereits heruntergeladene Dokumentation aus dem offiziellen Repositorium bauen und betrachten. Öffne dazu ein Terminal, navigiere zum Ordner linuxmuster-docs/main, führe make html aus und führe xdg-open build/html/index.html aus, um das Ergebnis zu betrachten.

linuxadmin@lmn-docs:~$ cd linuxmuster-docs/
linuxadmin@lmn-docs:~/linuxmuster-docs$ cd main/
linuxadmin@lmn-docs:~/linuxmuster-docs/main$ make html
sphinx-build -b html -d build/doctrees   source build/html
Running Sphinx v1.6.5
loading translations [de_DE]... done
loading pickled environment... done
...
linuxadmin@lmn-docs:~/linuxmuster-docs/main$ xdg-open build/html/index.html
GitHub Konto erstellen

Spätestens jetzt sollte ein Konto bei GitHub erstellt werden: https://github.com/join. Verifziere deine E-Mail-Adresse. Natürlich kannst du die Dokumentation zu GitHub durchlesen. Weiter geht es dann unter https://github.com/linuxmuster-docs/main

Hint

Im folgenden wird das Konto “lmn-docs-bot” verwendet. Überall wo dieser auftaucht, ersetze ihn durch dein Kontonamen bei GitHub.

Linuxmuster Dokumentation forken

Öffnen Sie die linuxmuster.net Dokumentation auf Github und klicken Sie auf “Fork”.

Fork on Github

Öffnen Sie nun einen Terminal / Eingabeauffoderung (Strg+Alt+t in Ubuntu) and geben Sie folgenden Befehl ein:

Note

Nutzen Sie die URL git@github.com:lmn-docs-bot/main.git falls Sie bereits einen SSH-Schlüssel bei Github hochgeladen haben!

linuxadmin@lmn-docs:~$ git clone https://github.com/lmn-docs-bot/main.git my-docs
Klone nach 'my-docs' ...
...
linuxadmin@lmn-docs:~$ cd my-docs

Sie können nun mit

linuxadmin@lmn-docs:~/my-docs$ make html
linuxadmin@lmn-docs:~/my-docs$ xdg-open build/html/index.html

die Dokumentation in HTML übersetzen und in ihrem Browser öffnen.

Dokumentation ändern oder neu erstellen

Die Dokumentation ist in der Markupsprache “rST” geschrieben. Hier finden Sie einen guten Überblick über die am häufigsten verwendeten Elemente.

Hint

Bitte beachten Sie auch unbedingt die Leitlinien zur Dokumentation, damit ihre Änderungen schnell eingepflegt werden könnnen!

Im Verzeichnis source und den entsprechenden Unterordnern befinden sich alle Dokumentationsdateien. Öffnen Sie einfach eine dieser Dateien und nehmen Sie die gewünschten Änderungen vor. Sie können auch eine neue Dokumentation in einem der Unterordner anlegen. Erstellen Sie dazu einfach einen Ordner mit einem passenden Namen und die notwendige index.rst Datei.

$ mkdir source/howto/foobar
$ touch source/howto/foobar/index.rst

Schauen Sie sich auch die anderen Dokumentationsdateien an, um mehr über den Aufbau und Syntax zu lernen.

Commit und push

Haben Sie alle Änderungen vorgenommen, können Sie sie nun zur Überprüfung einreichen. Dazu sind folgende Schritte notwendig:

Important

Überprüfen Sie bitte zuerst, ob make html ohne Fehler durchläuft! Falls nicht, beheben Sie bitte alle Fehler und Warnungen, bevor Sie Ihre Änderungen hochladen!

$ make html

Falls Sie neue Dateien oder Ordner erstellt haben, müssen diese noch hinzugefügt werden:

$ git add source/howto/foobar

Geben Sie nun noch einen Kommentar zu Ihren Änderungen ein und laden Sie alles in Ihren Fork hoch:

$ git commit -a -m"My great documentation"
$ git push
Pull-Request

Erstellen Sie nun einen “Pull-Request” unter https://github.com/lmn-docs-bot/main, indem Sie auf “New Pull Request” klicken.

PR on Github

Wenn Sie weitere Änderungen vornehmen und mit git commit -a -m"My comment" und git push bei Github hochladen, werden diese Änderungen automatisch dem Pull Request hinzugefügt.

Den eigenen Fork aktualisieren

Um später weiter Änderungen vornehmen zu können, kann der eigene Fork bei GitHub komplett gelöscht werden und ein neuer erzeugt werden. Alternativ kann der eigene Fork auf den Stand des offiziellen Repositoriums gebracht werden:

  • Verschiebe alle lokalen Änderungen mit git stash in den Hintergrund

    ~/my-docs$ git stash
    
  • Füge (einmalig) einen remote-tracking branch hinzu:

    ~/my-docs$ git remote add upstream https://github.com/linuxmuster-docs/main.git
    
  • Hole und merge den aktuellen offiziellen branch:

    ~/my-docs$ git fetch upstream
    ~/my-docs$ git merge upstream/master
    Aktualisiere 76e2e32..be2f941
    Fast-forward
    
  • Wenn der merge nicht in einem “Fast-forward” endet, sollte man besser den Fork löschen und neu erzeugen. Andernfalls kann man jetzt die offiziellen Änderungen hochladen.

    ~/my-docs$ git push
    
  • Jetzt kann man seine lokale Änderungen wieder hervorholen

    ~/my-docs$ git stash pop
    
Für Fortgeschrittene: andere Zweige bearbeiten

Unterschiedliche Versionen von linuxmuster.net werden in unterschiedlichen Zweigen des github-Repositoriums dokumentiert. Die aktuelle Version ist im Zweig master untergebracht und obige Abschnitte beziehen sich darauf.

Will man einen anderen Zweig bearbeiten, beispielsweise den Zweig v7, dann gibt es nur Folgendes zu beachten.

  1. Man muss einmalig den Zweig mit git checkout v7 lokal initialisieren. Mit git branch sieht man, welche Zweige aktuell sind.

    linuxadmin@lmn-docs:~/my-docs$ git branch -l
    * master
    linuxadmin@lmn-docs:~/my-docs$ git checkout v7
    Zu Branch 'v7' gewechselt
    Ihr Branch ist auf demselben Stand wie 'origin/v7'.
    linuxadmin@lmn-docs:~/my-docs$ git branch
    master
    * v7
    

    Man sollte also immer im Kopf haben oder nachschauen, in welchem Zweig man gerade arbeitet.

  2. Die Abschnitte zu commit und push stimmen in jedem Zweig.

  3. Wird ein Pull-Request in Github erstellt, dann ist zu beachten, dass auch die gleichen Zweige verglichen werden.

  4. Aktualisiert man den eigenen Fork über das upstream-Repositorium, dann muss man den Befehl zum Zusammenführen anpassen. Ein Ablauf kann da so aussehen:

    linuxadmin@lmn-docs:~/my-docs$ git fetch upstream
    remote: Enumerating objects: 15, done.
    remote: Counting objects: 100% (15/15), done.
    remote: Compressing objects: 100% (12/12), done.
    remote: Total 19 (delta 4), reused 3 (delta 3), pack-reused 4
    Entpacke Objekte: 100% (19/19), Fertig.
    Von https://github.com/linuxmuster-docs/main
    7d25598..2c31c06  master     -> upstream/master
    4a27d6b..d4edde9  v7         -> upstream/v7
    linuxadmin@lmn-docs:~/my-docs$ git branch
    master
    * v7
    linuxadmin@lmn-docs:~/my-docs$ git merge upstream/v7
    Aktualisiere d3ada10..d4edde9
    Fast-forward
    source/appendix/install-on-kvm/index.rst | 2 ++
    1 file changed, 2 insertions(+)
    

    Ein “merge” des falschen Zweiges, z.B. upstream/master hätte hier zu Folge, dass alle Änderungen zwischen den Zweigen versucht würde zusammenzuführen, was bei sich stark unterscheidenden Zweigen nicht erfolgreich wäre.

Der master-Zweig ist kein besonderer Zweig. Man kann also dorthin zurückkehren, wie man zu jedem Zweig wechselt, mit git checkout master.

Leitlinien zur Dokumentation

Strukturguide

Auf Ebene der Dateien:

  • Dateinamen klein schreiben, englisch Begriffe, Leerzeichen vermeiden, “-“-Bindestrich statt “_”-Unterstrich
  • Eine rst-Datei pro Kapitel, möglichst ein englischer Begriff, bsp: configuration.rst
  • Medien, wie Bilder, etc.: Einen Unterordner media/ erstellen, bei vielen Bildern einen Ordner mit dem Namen der Kapiteldatei, darin Dateien abspeichern, bsp: media/configuration/screenshot-usage.png
Styleguide
  • Verwende “Du”

  • Benutze zwei ``backticks`` für URLs, URIs, Dateipfade und Dateinamen und Code im Fließtext (inline)

  • Benutze einen `backtick` für das Hervorheben für Benutzernamen, Schaltflächen, besondere Aktionen

  • für Konsolenbefehle nutze

    .. code-block:: console
    
       # mein kommando --force
       output
    
  • Für Bilder kann man image oder figure verwenden. Bei figure kann man Bildunterschriften hinzufügen

    .. figure:: media/proposeChanges.png
       :align: center
       :alt: propose changes
    
       Bildunterschriften
    
  • Ein Kapitel sollte einen toctree enthalten, wenn es mehrere Dateien gibt

  • Ein Kapitel kann ein Label erhalten

    .. _knownbugs-label:
    
    Bekannte Fehler
    ===============
    
  • Mit diesem Sprungpunkt kann man an anderer Stelle auf ihn verweisen

    Bitte lesen Sie :ref:`hier <knownbugs-label>` nach, welche Fehler bekannt sind.
    

linuxmuster.net Community Feedback

linuxmuster-community-feedback ist ein Paket zur Erhebung fein konfigurierbarer Statistiken zum Einsatz von linuxmuster.net.

Das Paket kann ohne die Übermittlung personen- beziehungsweise institutionsbezogener Daten verwendet werden, es können jedoch auf expliziten Wunsch auch Informationen wie Schulname oder Einsatzort an das Projekt übermittelt werden.

Important

Eine Übermittlung der Statistiken ist für das Open Source Projekt “linuxmuster.net” sehr wichtig, da es mitunter schwer ist, offizielle Entscheider von der Zuverlässigkeit eines “kostenlosen” Produkts zu überzeugen.

Ein wichtiges Argument ist hier stets auch die Verbreitung des Systems belegen zu können, damit man darlegen kann, dass es sich bei linuxmuster.net nicht um ein “Nischenprodukt” handelt. In diesem Sinne sind zuverlässige Zahlen ein Baustein für den Erfolg des Projekts - bitte helfen Sie mit.

Inhalt:

Installation des Pakets

Das Paket linuxmuster-community-feedback wird mit dem Paketverwaltungswerkzeug aus den linuxmuster Repositorys installiert.

apt-get update
apt-get install linuxmuster-community-feedback

Direkt nach der Installation wird detailliert abgefragt, welche Informationen übermittelt werden sollen, am Ende des Konfigurationsvorgangs wird angezeigt, welche Daten genau übermittelt werden.

Konfiguration

Nach der Paketinstallation wird zunächst die zentrale Frage gestellt: Sollen überhaupt Daten an linuxmuster.net übermittelt werden?

Wird hier mit Nein geantwortet, ist die Konfiguration des Pakets damit beendet, es werden keine weiteren Änderungen am System vorgenommen und keinerlei Daten an linuxmuster.net übermittelt.

Sollen statistische Daten übermittelt werden oder nicht?

Wenn Statistiken übermittelt werden sollen, wird zunächst erfragt, in welchem Umfeld die linuxmuster.net-Installation zum Einsatz kommt.

Einsatzzweck von linuxmuster.net?

Anschließend geben Sie bitte an, ob und wie die Installation von linuxmuster.net virtualisiert ist.

Ist die Installation virtualisiert, wenn ja, wie?

Wird die linuxmuster.net Installation ganz oder teilweise durch einen Dienstleister betreut oder liegen Installation und Pflege des Systems alleine an der Schule?

Dienstleister?

Wo wird Ihre linuxmuster.net Installation eingesetzt? wenn Sie Nicht in Deutschland auswählen, können Sie im nächsten Schritt eine freie Angabe zum Einsatzort machen.

Einsatzort: Bundesland in Deutschland

Diese Eingabemöglichkeit gibt es nur bei der Auswahl Nicht in Deutschland im vorigen Schritt:

Einsatzort: Freie Eingabe für das Ausland

Darf die Anzahl der Nutzer übermittelt werden? Wenn Sie hier mit YES antworten, ermittelt das Feedback-Paket aus den Dateien “schueler.txt” und “lehrer.txt” die Anzahl der Schüler beziehungsweise der Lehrer. Dabei werden keine personenbezogenen Daten erhoben.

Soll die Zahl der Benutzeraccounts übermittelt werden?

Dürfen Informationen über Zahl und Art der eingesetzten Clients übermittelt werden? Wenn Sie hier mit YES antworten, ermittelt das Feedback-Paket aus der Datei “workstations” die Anzahl der dort eingetragenen Clientcomputer. Die Zahlen werden getrennt aufgelistet, je nachdem ob ein Clientrechner von linuxmuster.net mit linbo, mit linbo und opsi mit opsi oder als IP-Host verwaltet wird.

Weitere Informtionen zu den Clients wie Namen, Hardware Adresse, Hersteller o.ä. werden weder ermittelt, noch übertragen.

Sollen die Clientzahlen übermittelt werden?

Mit der Beantwortung der nächsten Frage entscheiden Sie, ob Ihre Datenübermittlung anonym bleibt oder nicht. Wenn Sie sich entscheiden, den Namen Ihrer Schule an linuxmuster.net zu übertragen, können Sie später im Konfigurationsprozess festlegen, ob Ihre Installation auf der Nutzerkarte erscheinen soll und ob der Schulname auf der Karte dargestellt werden soll.

Der Schulname wird darüberhinaus nicht automatisiert veröffentlicht.

Soll der Schulname übermittelt werden?

Der Schulname wird nur dann erfragt, wenn man im vorherigen Schritt der Übermittlung zugestimmt hat:

Schulname, wenn dieser übermittelt werden soll.

Darf Ihre Installation auf der Nutzerkarte erscheinen? Wenn ja, müssen Sie anschließende die Postleitzahl angeben.

Installation auf der Nutzerkarte anzeigen?

Die Postleitzahl muss nur angegeben werden, wenn ein Eintrag auf der Karte gewünscht ist:

Postleitzahl für die Kartendarstellung

Soll der Name am Kartenpin angezeigt werden? Diese Frage erscheint nur, wenn zuvor der Schulname angegeben wurde.

Installation

Am Ende der Konfiguration wird eine Übersicht angezeigt, welche Daten an linuxmuster.net übertragen werden. Die dargestellten Informationen sind dabei exakt der Inhalt der Datei, die später an den Projektserver übermittelt wird.

Installation

Bestätigung der Anfrage überträgt die Daten wie dargestellt zum linuxmuster.net Server und erstellt einen Cronjob, der diesen Vorgang einmal wöchentlich automatisch wiederholt.

Dabei werden die Werte im Anschnitt “Statistiken” jeweils nach den Vorgaben der Konfiguration neu ermittelt.

Beispielkonfiguration: Minimale Angaben

Der folgende Screenshot zeigt den minimalen Datensatz, der als Feedback übertragen wird:

Minimaler Datensatz

Übertragen werden dabei Informationen zu:

  • Virtualisierung
  • Bundesland/Einsatzort
  • Einsatzzweck
  • Dienstleisterunterstützung

Außerdem werden einmal je Woche die installierten Versionen der linuxmuster-Basispakete

  • linuxmuster-base
  • linuxmuster-linbo
  • linuxmuster-schulkonsole
  • sophomorix2

und der Status der Einstellung “subnetting” ermittelt und in der Statistikdatei aktualisiert.

Note

Die id der Installation wird aus der Mac-Adresse, dem Schulnamen und der Domäne ermittelt und mit MD5 gehasht, so dass das System zwar für statistische Zwecke anonym identifizierbar wird, aber ohne weitere Angaben keine Rückschlüsse auf die Ausgangswerte möglich sind.

Beispielkonfiguration: Maximale Angaben

Der folgende Screenshot zeigt den maximalen Datensatz, der als Feedback übertragen wird:

Maximaler Datensatz

Der maximale Datensatz enthält alle Informationen des minimalen Datensatzes, ergänzt um:

  • Schulname
  • Postleitzahl
  • Einverständnis zur Kartendarstellung und zur Darstellung des Schunamens am Kartenpin

Aktuell gehalten werden zusätzlich Informationen zu:

  • Anzahl der Schüler/Lehreraccounts
  • Anzahl der Clients, aufgeschlüsselt nach Kategorie

Konfigurationsänderungen vornehmen

Um die Konfiguration zu ändern oder anzupassen, etwa um die zu übermittelnden Daten zu verändern kann man alle Schritte der Paketkonfiguration durch Aufruf von

dpkg-reconfigure linuxmuster-community-feedback

erneut durchlaufen.

Die Optionen und Abfragen entsprechen dabe genau denen, bei der Paketinstallation.

Kommandozeilenbefehl

Das Paket installiert den Kommandozeilenbefehl linuxmuster-community-feedback. Der Befehl kennt vier Optionen, die mit Ausnahme der Hilfe beliebig kombiniert werden können:

# linuxmuster-community-feedback -h
    Usage: /usr/bin/linuxmuster-community-feedback [-v] [-u] [-s]

    -v : Show stats file
    -u : Upload stats to linuxmuster.net server
    -s : Show cronjob status
    -h : Print this help and exit

Die Option -v zeigt Informationen über das Statusfile an - sowohl wie dieses heißt, als auch welchen Inhalt es hat. Das Statusfile ist die Datei, die letztlich beim übermitteln der Informationen an den Projektserver übertragen wird.

Die Option -u stößt eine Übertragung an.

Die Option -s zeigt Informationen zum Cronjob an, der vom Paket in der Datei /etc/cron.d/linuxmuster-community-feedback eingerichtet wird:

# linuxmuster-community-feedback -s
Cronjob enabled in file:
  /etc/cron.d/linuxmuster-community-feedback
--------------------------------

# Diese Datei wird automatisch erstellt.
# Manuelle Aenderungen werden ueberschrieben!
58 4 * * 0   root /usr/bin/linuxmuster-community-feedback -u > /dev/null 2>&1

--------------------------------

Hier zeigt die Ausgabe, dass jeden Sonntag um 04:58 Uhr eine aktualisierte Version der Statistik zum Projektserver übertragen wird.

Technische Hintergrundinformationen

Das Paket linuxmuster-community-feedback wird über das Debian eigene debconf System konfiguriert, schreibt seine Konfiguration anschließend aber nach /etc/linuxmuster/community-feedback.conf.

Wird bei der Paketkonfiguration der Übermittlung statistischer Daten zugestimmt, erzeugt das Skript /usr/bin/linuxmuster-community-feedback aus den Werten, die bei der Installation des linuxmuster.net-Servers für den Schulnamen und die Domäne angegeben wurde sowie der MAC Adresse des “grünen” Interfaces durch aneinanderhängen und bilden der MD5-Summe eine eindeutige ID für das aktuelle System.

Anschließend werden entsprechend der vom Benutzer bei der Paketinstallation gewählten Konfiguration Informationen über das System gesammelt, z.B. die Versionsnummern der installierten linuxmuster Pakete oder die Anzahl der Benutzer, und zusammen mit den Informationen aus der Konfigurationsdatei in der Datei var/cache/linuxmuster/feedback-<ID>.txt abgelegt.

Bei der Übermittlung an den Projektserver wird der Inhalt dieser Datei per https verschlüsselt zum linuxmuster.net Server übertragen. Dort werden die Dateien statistisch ausgewertet.

Außerdem wird in der Datei /etc/cron.d/linuxmuster-community-feedback ein Cronjob eingerichtet, der den Upload einmal pro Woche anstößt. Dieser Cronjob sollte nicht deaktiviert werden, da auf dem linuxmuster.net-Server Server-IDs, die mehr als zwei Wochen keine aktualisierte Datei mehr geliefert haben aus der Statistik entfernt werden.

FAQ - Häufige Fragen

Wie kann ich ich sehen, welche Daten übertragen werden?

Mit dem Befehl

linuxmuster-community-feedback -v

werden die Daten angezeigt, die dem linuxmuster.net Server übermittelt werden.

Technisch wird dabei die Datei

/var/cache/linuxmuster/feedback-<systemid>.txt

zum linuxmuster.net Server übertragen.

Stimmt es, dass die Daten regelmäßig übermittelt werden?

Ja.

Nach Aktivierung des Feedbacks wird auf dem System in der Datei /etc/cron.d/linuxmuster-community-feedback ein cronjob eingerichtet, der die Statistikdaten einmal pro Woche zum linuxmuster.net-Server überträgt. Der genaue Zeitpunkt (Uhrzeit, Samstag/Sonntag) wird bei der Paketkonfiguration zufällig ermittelt und variiert von System zu System.

# Diese Datei wird automatisch erstellt.
# Manuelle Aenderungen werden ueberschrieben!
48 4 * * 6   root /usr/bin/linuxmuster-community-feedback -u > /dev/null 2>&1
Warum werden die Daten regelmäßig übertragen?

Die regelmäßige Übertragung hat zwei Gründe:

1. Einige der statistischen Daten sind nicht statisch, beispielsweise die Versionsnummern der essentiellen linuxmuster-Pakete. Für die Projektentwicklung ist es wichtig, zu wissen, wie der Update-Stand der Lösung im Einsatz ist. Aus diesem Grund müssen die Daten regelmäßig aktualisiert werden.

2. Um “Karteileichen” von Systemen, die außer Betrieb genommen werden zu vermeiden, werden Installationen, die einige Zeit keine aktualisierten Daten mehr übermittelt haben serverseitig automatisch aus der Statistik entfernt.

Schulkonsole

Schulkonsole nutzen

Aufgerufen wird die Schulkonsole mittels https://server:242 in einem Webbrowser.

Login der Schulkonsole als Administrator

Nach der Anmeldung als administrator findet man im Hauptmenü folgende Einstellungsmöglichkeiten

_images/schulkonsole-header-admin.png

Die Statusleiste unterhalb des Menüs zeigt über Farbe und Text an, ob der letzte Befehl erfolgreich (grün) oder nicht erfolgreich (orange) ausgeführt wurde.

Schulkonsole als Lehrer nutzen

Aufgerufen wird die Schulkonsole mittels https://server:242 in einem Webbrowser.

Login der Schulkonsole als Lehrer

Nach der Anmeldung als Lehrer findet man im Hauptmenü folgende Einstellungsmöglichkeiten

_images/schulkonsole-header-teacher.png

Die Statusleiste unterhalb des Menüs zeigt über Farbe und Text an, ob der letzte Befehl erfolgreich (grün) oder nicht erfolgreich (orange) ausgeführt wurde.

Aktueller Raum

Unterricht
_images/schulkonsole-room.png

Auf dieser Seite können Sie den Unterricht steuern: Unterricht beginnen und beenden, die Verbindung zu Internet, Intranet, den Druckern steuern, den Webfilter ein- oder ausschalten.

Sobald der Unterricht begonnen wurde, kann man im Menü weitere pädagogische Funktionen nutzen:

_images/schulkonsole-room-menu.png
Tauschen

Steuern Sie hier den Zugriff auf das globale Tauschverzeichnis, indem Sie entweder einzelne Arbeitsplätze über die Checkboxen auswählen oder über die Schnellauswahl für alle. Mit Änderungen übernehmen aktivieren Sie Ihre Auswahl.

Austeilen

Auszuteilende Dateien müssen in Ihrem Heimatverzeichnis unter _auszuteilen -> auszuteilen-aktueller_raum abgelegt sein. Der Inhalt dieses Ordners wird hier aufgelistet. Nachträglich dorthin abgelegte Dateien können Sie über die Schaltfläche Ansicht aktualiseren sichtbar machen.

Die Schüler/innen finden die ausgeteilten Dateien in ihrem Heimatverzeichnis unter __austeilen -> austeilen-aktueller_raum.

Einsammeln

Einzusammelnde Dateien müssen im Heimatverzeichnis der Schüler/innen im Ordner __einsammeln abgelegt sein, damit sie hier aufgelistet werden. Nachträglich von den Schüler/innen dorthin abgelegte Dateien können Sie über Ansicht aktualisieren sichtbar machen.

Wählen Sie aus, ob die Originaldateien auf Schülerseite gelöscht werden oder erhalten bleiben sollen.

Sie finden die eingesammelten Dateien in Ihrem Heimatverzeichnis unter _eingesammelt -> eingesammelt-aktueller_raum.

Klassenarbeit

Übernehmen Sie entweder das vorgegebene Zufallspasswort oder geben Sie ein eigenes Passwort ein.

Mit Betätigung der Schaltfläche Klassenarbeit starten wird das neue Passwort an alle Arbeitsstationen im Raum verteilt, und die Schüler/innen können sich mit dem Namen der Arbeitsstation und dem eben vergebenen Passwort anmelden.

Klassen

Projekte