Installation¶
adminPC: Installation¶
Hinweis
Der adminPC soll zur Administration des KVM-Servers dienen. Der Vorteil dieser Variante liegt vor allen Dingen darin, dass der Virtualisierungsserver so schlank wie möglich gehalten werden kann.

Die Hardware sollte folgende Mindestmerkmale aufweisen:
- DualCore CPU
- 1GB RAM
- 20GB HDD
Als Betriebssystem wird Lubuntu in der Version 16.04 LTS verwendet. Es kann auf der Lubuntu Seite heruntergeladen werden.
adminPC: Installation der Updates¶
Nach der Erstinstallation ist es sinnvoll, das System erst einmal auf den aktuellen Stand zu bringen. Auf der Console 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
adminPC: Deaktivierung von IPv6¶
Um sich später keine Gedanken um Netzwerksicherheit machen zu müssen, sollte IPv6 global deaktiviert werden.
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
kvm: Installation des KVM-Servers¶
Hinweis
Der kvm Server bildet das Grundgerüst für die Firewall ipfire 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.

Die folgende Anleitung beschreibt die einfachste Implementierung ohne Dinge wie VLANs, Teaming oder Raids. Diese Themen werden in zusätzlichen Anleitungen betrachtet.
Folgende Hardware sollte der Server mindestens zur Verfügung stellen:
- CPU mit 4 Kernen
- 16GB RAM
- 1TB HDD plus zweite HDD für ein Backup
- 2x 1GBit/s Netzwerkkarten
Als Betriebssystem wird Ubuntu Server in der Version 16.04 LTS verwendet. Es kann hier heruntergeladen werden.
kvm Tipp: Erstellen eines USB-Sticks¶
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.
kvm: Installation¶
Hinweis
Bei der Installation sind folgende Merkmale zu berücksichtigen:
- 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 sinnvoll, die erste Netzwerkkarte des Servers an den Internet-Router anzuschließen, um eventuell notwendige Pakete (Sprachpakete) während der Installation zu installieren.
kvm: Netzwerkkonfiguration des KVM-Servers¶
In diesem Schritt erfolgt die Anbindung des KVM-Servers an das Schulnetz und an das Internet sowohl für den KVM-Server selbst, als auch für die virtuellen Maschinen. Die Implementierung erfolgt mit Hilfe von Bridges.
Herausfinden der Namen der Netzwerkkarten
# dmesg | grep eth
Anpassen der Netzwerkkonfiguration
/etc/network/interfaces
# Internet Interface
auto <Internet Interface>
iface <Internet Interface> inet manual
auto br-red
iface br-red inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports <Internet Interface>
bridge_stp off
dns-nameservers 192.168.1.1
# Schulnetz Interface
auto <Schulnetz Interface>
iface <Schulnetz Interface> inet manual
auto br-green
iface br-green inet static
address 10.16.1.10
netmask 255.240.0.0
bridge_ports <Schulnetz Interface>
bridge_stp off
kvm: Installation der Updates¶
Nach der Erstinstallation ist es sinnvoll, das System erst einmal auf den aktuellen Stand zu bringen. Auf der Console 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
kvm: Einrichten des SSH-Zugangs auf Zertifikatsbasis¶
Die Remote-Administration des KVM-Servers soll per SSH und Zertifikaten erfolgen. Als Benutzer wird root verwendet.
Setzen des Rootpassworts und Aktivierung des SSH-Zugangs für root
# sudo passwd
/etc/ssh/sshd_config
PermitRootLogin yes
Erstellen von SSH-Zertifikaten auf dem AdminPC und Kopieren auf den KVM-Server
# ssh-keygen
# ssh-copy-id root@192.168.1.10
Deaktivierung des SSH-Zugangs für root per Passwort
/etc/ssh/sshd_config
PermitRootLogin prohibit-password
Löschen des lmadmin Users auf dem KVM-Server
# userdel -r lmadmin
kvm: Einrichten der Zeit-Synchronisation¶
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
adminPC: Installation des Virt-Managers¶
In diesem Schritt erfolgt die Installation des Virt-Managers, um die virtuellen Maschinen auf dem KVM-Server zu verwalten.
Suchen des Paketes
# apt-cache search virt-manager
Installieren des Paketes
# apt-get install virt-manager
kvm: Konfigurieren der Virt-Manager-Verbindung im Schulnetz¶
In diesem Schritt erfolgt nach der Installation der Virt-Managers die Konfiguration
- der Anbindung des adminPCs an das Schulnetz und
- die Einrichtung der KVM-Server Verbindung.
kvm: Anpassen des Namens der Virt-Manager-Verbindung¶
kvm: Einrichtung des LVM-Storage-Pools¶
In diesem Schritt erfolgt die Einrichtung des Speicherplatzes der virtuellen HDDs. Die Nutzung eines LVM-Storages stellt dabei die performanteste Möglichkeit dar.
Hinweis
Leider ist es nicht möglich, direkt über den Virt-Manager Snapshots zu erstellen, wie z.B. bei Nutzung von qcow2 HDDs. Diese werden jedoch nicht verwendet, da es einen erheblichen Geschwindigkeitsnachteil gibt. LVM bietet aber selbst eine Snapshotfunktionalität, die Du später beim Backup der VMs nutzen kannst.
kvm: Deaktivierung von IPv6¶
Um sich später keine Gedanken um Netzwerksicherheit machen zu müssen, sollte IPv6 global deaktiviert werden.
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
kvm: Einstellen der Swappiness¶
Der Swap-Speicher soll nur im Notfall verwendet werden. Dazu wird die swappiness auf 0 gestellt.
Sofort auf der Konsole
# sysctl vm.swappiness=0
/etc/sysctl.conf
vm.swappiness = 0
adminPC: Erstellung eines ssh-Aliases zum KVM-Server¶
.bash_aliases
alias kvm="ssh root@10.16.1.10
# source bash.aliases
ipfire: Installation der VM¶
Hinweis
In diesem Schritt folgt die Installation der Firewall dieser Anleitung und diesen Voraussetzungen.

Die Installation der Firewall erfolgt in folgenden Schritten:
- Download des ISOs der Installation,
- Anlegen und Konfigurieren der VM und
- Installation der VM.
Die VM verfügt über folgende Parameter:
- 2 CPUs,
- 3GB RAM,
- 50GB HDD,
- 3 NICs.
ipfire: Grundkonfiguration des IPFire¶
In diesem Schritt werden die Voraussetzungen geschaffen, um den eigentlichen Schulserver zu installieren:
- SSH Zugang mittels Zertifikaten,
- Transparenter Proxy für die IP-Adresse (10.16.1.1) des Schuservers.
server: Installation des Servers¶
Hinweis
In diesem Schritt folgt die Installation der Firewall dieser Anleitung und diesen Voraussetzungen.

server: Download des Ubuntu 12.04.5 ISOs¶
Der Download des ISOs erfolgt auf dem KVM-Server im Verzeichnis analog zum ISO der Firewall unter /var/lib/libvirt/images
.
server: Erstellen, Konfigurieren und Installieren der VM des Servers¶
In diesem Schritt erfolgt die Erstellung, Konfiguration und Installation des Ubuntu-Systems des Schulservers. Die VM verfügt dabei über folgende Parameter:
- 2 CPUs,
- 8GB RAM,
- HDDs für / (50GB), swap (2GB), /home (500GB) und /var (500GB),
- 1 NIC.
Hinweis
Die Grössen der virtuellen HDDs sind natürlich auf die eigenen Erfordernisse anzupassen.
server: Installieren aller verfügbaren Updates nach der Installation des Servers¶
Die Installation der Updates erfolgt mit den üblichen Befehlen:
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
# apt-get autoremove
# apt-get clean
Hinweis
Falls beim apt-get update Fehlermeldungen erscheinen: Fehlschlag beim Holen …, so hilft es, den Inhalt des Verzeichnisses /var/lib/apt/lists
zu löschen und den Befehl erneut auszuführen.
server: Grundkonfiguration des Servers¶
Im letzten Schritt vor der eigentlichen Installation werden folgende Schritte durchgeführt:
- Setzen des Root-Passwortes und Löschen des lmadmin Accountes,
- Setzen der vm.swappiness auf 0,
- Deaktivierung von IPv6 und Setzen des Text-Modes beim Booten.
server: Installation des linuxmuster-base Paketes¶
Die Installation erfolgt mittels:
# apt-get install linuxmuster-base
server: Start der LinuxMuster-Erstkonfiguration¶
Endlich ist das Ziel der Vorbereitungen erreicht und mittels
# linuxmuster-setup --first
kann die eigentliche Konfiguration des Servers gestartet werden. Zu Beachten ist hierbei, dass ein Neustart der Firewall erfolgen muss.
Hinweis
Nach dem Start der Installation mittels linuxmuster-setup –first wird im Screencast mit Alt+F2 kurz auf das zweite Terminal des Servers gewechselt um die Konnektivität zum ipfire zu testen.
server Tipp: Schaffung einer einheitlichen Netzwerkzeit mit der Firewall als Quelle¶
Hinweis
Dieser Schritt ist optional. Aus der Sicht des Schreibers ist es jedoch sinnvoll, pro Netzwerk eine Zeitquelle zu definieren, an der sich Alle orientieren.
Die Firewall holt sich die Zeit aus dem Internet und verteilt sie im Schulnetz. So ist sichergestellt, dass auch bei Ausfall des Internets alle Geräte die selbe Zeit sprechen.
adminPC: Zulassen des Zugriffs auf den Server¶
Nach der Installation des Schulservers ist der Zugriff auf ihn komplett gesperrt. Ein Eintrag in die /etc/linuxmuster/workstations
ist erforderlich. Die einfachste Möglichkeit, diese Datei zu bearbeiten, ist die Schulkonsole. Um auf Diese Zugriff zu erhalten, muss temporär die Firewall deaktiviert werden.
Firewall stoppen/starten
# linuxmuster-base stop/start
Zugriff auf die Schulkonsole über https://server:242
adminPC: Erstellen eines ssh-Aliases zum Server¶
server: Anpassen der Linbo-Konfiguration¶
Zum Abschuss der Installation des servers müssen noch zwei Konfigurationsparameter angepasst werden.
Aktivieren des Bittorrent Dienstes¶
# /etc/default/bittorrent
START_BTTRACK=1
Anpassen der Startparameter des TFTP-Dienstes nach Deaktivierung von IPv6¶
# /etc/default/tftpd-hpa
TFTP_OPTIONS="--secure -4"
Neustart des TFTPD-Dienstes
# service tftpd-hpa stop
# service tftpd-hpa start
kvm: 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.
Damit ist die Erstinstallation aller Komponenten mittels KVM geschafft.