Proxmox vorbereiten

Autor des Abschnitts: @cweikl, @MachtDochNix

Hinweise

Für diese Anleitung haben wir uns entschieden, Proxmox als Virtualisierungslösung einzusetzen.

Alternativ installierst Du von Grund auf die Serverbetriebssysteme Ubuntu Server und OPNsense® direkt auf der Hardware oder innerhalb deiner Virtualisierungslösung. Hinweise auf andere Virtualisierungslösungen finden sich im Anwenderwiki von linuxmuster.net:

  1. XCP-ng: https://wiki.linuxmuster.net/community/anwenderwiki:virtualisierung:xcpng:xcpng4lmn71

  2. KVM: https://wiki.linuxmuster.net/community/anwenderwiki:virtualisierung:kvm:kvm4lmn71

Proxmox ist eine Open Source-Virtualisierungsplattform. Diese kombiniert KVM- und Container-basierte Virtualisierung und verwaltet virtuelle Maschinen, Container, Storage, virtuelle Netzwerke und Hochverfügbarkeit-Cluster übersichtlich über die zentrale Managementkonsole.

Das web-basierte Verwaltungs-Interface läuft direkt auf dem Server. Zudem kann die Virtualisierungsumgebung via SSH administriert werden.

Proxmox

Proxmox VE eignet sich für den virtuellen Betrieb von linuxmuster.net besonders, da dieser Hypervisor dem Open-Source-Konzept entspricht. Der Einsatz wird auf jeglicher Markenhardware unterstützt und es gibt zahlreiche professionelle 3rd-Party Software für Sicherungskopien und andere Features. „No-Name-Hardware“ kann hiermit ebenfalls meist verwendet werden.

Diese Anleitung beinhaltet Angaben zu den notwendigen Systemanforderungen und Festplattenkonfigurationen sowie der anschließenden Installation von Proxmox.

Systemvoraussetzungen

In der unten aufgeführten Tabelle findest Du die Systemvoraussetzungen zum Betrieb der virtuellen Maschinen. Die Systemanforderungen für die Installation von Proxmox selbst finden sich im Web unter https://www.proxmox.com/de/proxmox-ve/systemanforderungen.

Die Werte bilden die Mindestvoraussetzungen zur Planung. Für die Installation mit Proxmox und linuxmuster v7.1 wird als Standard der IP-Bereich 10.0.0.0/16 genutzt.

VM

IP

HDD

RAM

OPNsense®

10.0.0.254/16

10 GiB

4 GiB

Server

10.0.0.1/16

25 GiB u. 100 GiB

4 GiB

Proxmox-Host

10.0.0.10/16

500 GiB

4 GiB

Die Festplattengröße sowie der genutzte RAM der jeweiligen VMs kann ggf. vor deren Einrichtung einfach an die Bedürfnisse der Schule angepasst werden.

Bevor Du dieses Kapitel durcharbeitest, lese bitte zuerst die Abschnitte

Für den Betrieb des Hypervisor selbst (Proxmox VE) sollten ca. 2 bis 6 GB Arbeitsspeicher eingeplant werden. Um nach Anleitung installieren zu können, sollte der Server mit mindestens zwei Netzwerkkarten bestückt sein. Durch VLANs kann der Betrieb aber auch bereits mit nur einer NIC erfolgen - z. B. eine 10 Gbit-Karte an einem Core-VLAN-Switch (L3).

Der Proxmox-Host sollte gemäß o.g. Minimalanforderungen folgende Merkmale aufweisen:

  • RAM gesamt: min. 16 GiB (besser: 32 GiB oder 64 GiB)

  • Erste HDD: min. 100 GiB für Proxmox selbst

  • Zweite HDD: für die VMs mit mind. 500 GB Kapazität (besser: 1 TiB oder 2 TiB)

  • Zwei Netzwerkkarten

  • Der Internetzugang des Proxmox-Hosts sollte zunächst gewährleistet sein, d. h. dieser wird z. B. an einen (DSL-)Router angeschlossen, der den Internetzugang sicherstellt. Sobald alles eingerichtet ist, bekommt der Proxmox-Host eine IP-Adresse im Schulnetz und die Firewall OPNsense® stellt den Internetzugang für alle VMs und den Proxmox-Host bereit.

Hinweis

Virtualisierungs-Hosts sollten grundsätzlich niemals im gleichen Netz wie andere Geräte sein, damit dieser nicht von diesen angegriffen werden kann. In dieser Dokumentation wird zur Vereinfachung der Fall dokumentiert, dass der Proxmox-Host zu Beginn im externen Netz mit Internet-Zugriff und nach Abschluss der Installation im internen Schulnetz mit Internet-Zugriff via OPNsense®-Firewall befindet.

Bereitstellen des Proxmox-Hosts

Hinweis

Der Proxmox-Host bildet das Grundgerüst für die Firewall OPNsense® und den Schulserver server. Die Virtualisierungsfunktionen der CPU sollten zuvor im BIOS aktiviert worden sein.

Die folgende Anleitung beschreibt die einfachste Implementierung ohne Dinge wie VLANs, Teaming oder RAID. Diese Themen werden in zusätzlichen Anleitungen betrachtet.

Die Download-Quellen für den Proxmox-Host selbst finden sich hier:

https://www.proxmox.com/de/downloads/category/iso-images-pve/

Dort findet sich das ISO-Image zur Installation von Proxmox.

Lade Dir dort das aktuellste Image herunter und erstelle Dir einen bootfähigen USB-Stick zur weiteren Installation.

Erstellen eines USB-Sticks zur Installation des Proxmox-Host

Nachdem Du die ISO-Datei für Proxmox heruntergeladen hast, wechselst Du in das Download-Verzeichnis. Danach ermittel Du den korrekten Buchstaben für den USB-Stick unter Linux. X ist durch den korrekten Buchstaben zu ersetzen und dann ist nachstehender Befehl als Benutzer root oder mit einem sudo vorangestellt einzugeben:

dd if=proxmox-ve_7.2-1.iso of=/dev/sdX bs=1M status=progress conv=fdatasync

Verkabelungshinweise

Es ist für linuxmuster.net ein internes Netz (grün) und ein externes Netz (rot) am Proxmox-Host zu unterscheiden. Sind zwei Netzwerkkarten im Proxmox-Host vorhanden, so ist die erste Netzwerkkarte (z. B. eth0, eno1 oder enp7s0), die zu Beginn eine IP aus dem bestehenden lokalen Netz (z. B. via DSL-Router) erhalten soll, mit dem Switch zu verbinden, der an den (DSL-)Router angeschlossen ist.

Die zweite Netzwerkkarte (z. B. eth1 oder enp7s1) ist dann an einen eigenen Switch anzuschließen, ebenso wie alle Clients, die im internen Netz eingesetzt werden.

Um zu Beginn den Proxmox-Host zu administrieren, ist ein Laptop mit dem Switch zu verbinden, der an den lokalen (DSL-)Router angeschlossen ist. Der Laptop erhält ebenfalls eine IP aus dem lokalen (DSL-)Netz und kann sich dann auf die zu Beginn eingerichtete IP-Adresse des Proxmox-Host auf die grafische Verwaltungsoberfläche verbinden.

Netzwerk für die Proxmox Installation

Installieren von Proxmox

Basis-Installation

Vom USB-Stick booten, danach erscheint folgender Bildschirm:

Proxmox Boot-Menu

Wähle Install Proxmox VE und starte die Installation mit ENTER.

Proxmox Nutzervereinbarung

Bestätige das End-User-Agreement mit Enter.

Proxmox Installation Wahl der Festplatten

Wähle die gewünschte Festplatte auf dem Server zur Installation aus. Hast Du mehrere einzelne Festplatten im Server verbaut und kein RAID-Verbund definiert, so kannst Du hier mit der Schaltfläche Optionen weitere Einstellungen aufrufen. Hier kannst Du z. B. mehrere Festplatten angeben, die in einem sog. ZFS-Pool definiert werden sollen. Dies ist für das Erstellen von sog. Snapshots von Vorteil. Soll aber an dieser Stelle nicht vertieft werden. (siehe hierzu u. a.: https://pve.proxmox.com/pve-docs/pve-admin-guide.html)

Gib bei Location- and Time Zone selection als Land und Keyboard Layout Germany an. Wähle als Zeitzone Europe/Berlin.

Proxmox Installation Zeitzone

Lege ein Kennwort für den Administrator des Proxmox-Host fest und gib eine E-Mail-Adresse an. Klicke auf Weiter.

Proxmox Installation Admin-Passwort

Lege die IP-Adresse des Proxmox-Host im internen Netz fest. Solltest Du intern z. B. auf dem (DSL-)Router einen DHCP-Server laufen haben, dann erhältst Du hier bereits eine vorausgefüllte Konfigurationsseite. Passe diese Werte nun den gewünschten Werten an. Der Hostname des Proxmox-Host ist hier in gewünschter Form – hier hv01.linuxmuster.lan – anzugeben.

Hinweis

Diese muss zu diesem Zeitpunkt der Installation diejenige Adresse sein, die ebenfalls Zugriff auf das Internet hat. In einem lokalen Netz mit DSL-Router wäre dies eine IP-Adresse aus dem internen Netz, die der Router für die internen Clients verteilt - also z. B. 192.168.199.20/24. DNS- und Gateway-Adressen entsprechen der Router-IP.

Hier wurde die interne IP-Adresse 192.168.199.20/24 festgelegt.

Proxmox Installation Netzwerk Konfiguration

Überprüfe auf der Übersichtsseite, dass alle Angaben korrekt sind und fahre anschließend fort.

Proxmox Installation Übersicht

Warte den Abschluss der Installation ab.

Proxmox Installation erfolgreich beendet

Nach erfolgreicher Installation lasse Proxmox über Reboot neu starten.

Proxmox Einrichtung

Nach dem Neustart von Proxmox kannst Du Dich über einen PC, der sich im selben Netz befindet, via Browser auf das grafische Webinterface zur Verwaltung des Proxmox-Hosts aufschalten. Hierzu gibst Du die URL https://192.168.199.20:8006 ein. Du erhältst ein „Warning“, da ein mögliches Sicherheitsrisiko erkannt wurde. Dies ist auf das selbst ausgestellte SSL-Zertifikat des Proxmox-Host zurückzuführen.

Klicke auf Erweitert ..., es erscheint ein weiterer Hinweis auf das „self-signed certificate“. Dieses nimmst Du nun mit dem Button Risiko akzeptieren und fortfahren an.

Es erscheint die Anmeldemaske des Proxmox-Webinterface. Melde Dich als User root und dem vorher gesetzten Passwort an:

Proxmox Web-UI Login

Im Fenster No valid subscription wählst Du OK um das Fenster schließen:

Proxmox No valid subscription

Updates ermöglichen

Um Proxmox Updates installieren zu können, müssen in der Shell des Nodes hv01 folgende Änderungen an den Repositorien vorgenommen werden. Dafür den Node im Datacenter auswählen und eine Shell öffnen.

Proxmox Open Shell

Folgende vier Befehle müssen der Reihe nach ausgeführt werden:

sed -i -e 's/^/#/' /etc/apt/sources.list.d/pve-enterprise.list
echo "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" >> /etc/apt/sources.list.d/pve-no-subscription.list
apt update
apt upgrade -y

Netzwerkbrücken einrichten

Für eine funktionierende Umgebung müssen zwei Netzwerkbrücken/Bridge (vSwitch) auf dem Hypervisor eingerichtet werden.

Eine für das interne Netz (green, 10.0.0.0/16) und eine für das externe Netz (red, externes Netz, Internetzugriff).

Nach der zuvor beschriebenen Erstinstallation von Proxmox wurde bislang nur eine sogenannte Bridge (vmbr0) eingerichtet. Diese ist mit der ersten Netzwerkschnittstelle (NIC) des Proxmox-Hosts verbunden. Das Ethernet-Kabel der 1. NIC ist mit dem (DSL)-Router verbunden. Verlief der vorherige Befehl zur Aktualisierung von Proxmox erfolgreich, so weißt Du, dass diese Bridge bereits funktioniert und für die weitere Nutzung für das externe Netz (red) - vmbr0 genutzt werden kann.

Für die internen virtuellen Netze ist also eine zweite Bridge zu erstellen, die an die zweite Netzwerkkarte direkt gebunden wird. Dieser wird allerdings keine IP-Adresse zugeordnet.

Ausgangspunkt: Host hv01 –> Network

Die bisherige Netzwerkkonfiguration stellt sich wie folgt dar:

Proxmox-Übersicht hv01 - Network

Für die folgende Überprüfung öffnest Du nochmals die Konsole auf dem Hypervisor hv01, falls sie nicht geöffnet sein sollte, wie oben beschrieben und lässt Dir den Inhalt der Konfigurationsdatei anzeigen mittels:

cat /etc/network/interfaces

Dort befinden sich bisher folgende Eintragungen:

auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
      address 192.168.199.20
      netmask 255.255.255.0
      gateway 192.168.199.1
      bridge_ports eno1
      bridge_stp off
      bridge_fd 0

iface eno2 inet manual

Hinweis

Die Bezeichnungen für die Netzwerkkarten eno1, eno2 können je nach eingesetztem System von der dargestellten Bezeichnung abweichen.

Für das weitere Vorgehen ist es hilfreich, die Funktion der Kommentierung der Netzwerkbrücken zu nutzen. Diese ist für die vmbr0 bisher noch nicht gesetzt.

Proxmox-Übersicht hv01 - Network-vmbr0-edit

Markiere wie gezeigt vmbr0 und betätige den Edit-Button, um das Konfigurationsfenster zu öffnen.

Proxmox-Übersicht hv01 - Network-vmbr0-comment

Trage unter Comment einen Kommentar ein, der veranschaulicht, dass diese Brücke die Verbindung zum Internet stellt. Zum Beispiel wie hier gezeigt red, den bei uns historisch gewachsenen Begriff für dieses Interface.

Mit OK wird der Kommentar übernommen.


Nun erstellst Du die zweite Bridge vmbr1:

Dazu wähle das Menü Datacenter –> hv01 –> Network –> Create –> Linux Bridge

Proxmox-Übersicht hv01 - Network - Create - Linux Bridge

Es öffnet sich ein neues Fenster. Dort sind folgende Einträge nötig:

Proxmox Create:Linux-Bridge

Mit Create wird die Brücke erstellen.

Anschließend Proxmox über den Button Reboot oben rechts neu starten, um die neue Netzwerkkonfiguration zu laden. Node hv01 muss dafür im Menü Datacenter links ausgewählt sein:

Proxmox reboot

Die Netzwerkkonfiguration des Proxmox-Host kannst Du, nach dem Neustart mit cat /etc/network/interfaces wie oben gezeigt in der Konsole überprüfen.

Dort sollten sich nun nachstehende Eintragungen befinden. Bei der Bridge vmbr0 muss die IP-Adresse derjenigen entsprechen, die bei der Installation eingetragen wurde.

auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

auto vmbr0
iface vmbr0 inet static
      address 192.168.199.20/24
      gateway 192.168.199.1
      bridge-ports eno1
      bridge-stp off
      bridge-fd 0
#red

auto vmbr1
iface vmbr1 inet manual
      bridge-ports eno2
      bridge-stp off
      bridge-fd 0
#green

Zur Veranschaulichung eine Grafik, die den Status der Konfiguration zeigt.

eno2 Schnittstelle hinzugefügt

(Optional) Festplatten anpassen

Zweiten Datenträger als Speicher einbinden

In diesem Schritt wird die zweite Festplatte in Proxmox eingebunden, um diese als Storage für die virtuellen Maschinen zu nutzen.

Bemerkung

Die folgenden Schritte bitte dann ausführen, wenn nicht auf einem einzigen Volume Proxmox eingerichtet werden soll! In diesem Fall geht es hier weiter: Vorbereiten des ISO-Speichers

local-lvm(hv01)-Partition entfernen und Speicher freigeben

Während der Proxmox-Installation wurden die Storages „local“ und „local-lvm“ automatisch auf der ersten Festplatte erstellt. Da anfangs für die Linuxmuster-Maschinen eine zweite Festplatte als „Storage“ eingerichtet wurde, wird „local-lvm“ nicht benötigt. Deshalb wird nun „local-lvm“ entfernt und „local“ durch den freigewordenen Speicher vergrößert, sodass auf der ersten Festplatte der gesamte Speicher dem Hypervisor zur Verfügung steht.

  1. auf hv01 oben rechts Shell anklicken:

Shell aufrufen
  1. lsblk eingeben und mit der Enter-Taste bestätigen; folgende Ausgabe sollte erscheinen:

Proxmox Konsole Output lsblk default

Es ist zu sehen, dass die Festplatten sda (931.5G) und sdb (111.8G) vorhanden sind. Die erste Festplatte sda ist eine HDD mit 1 TByte Kapazität und soll nun für die VMs genutzt werden. Die zweite Festplatte ist eine SSD, auf der Proxmox selbst installiert wurde. Von dieser zweiten Platte startet dieses System automatisch Proxmox. Zudem findet sich auf sdb3 ein sog. LVM. Bei der Erstinstallation wurde hier automatisch ein Bereich für die VMs eingerichtet.

Dieser Bereich wird im Folgenden gelöscht und der frei werdende Platz auf sdb wird vollständig dem Proxmox-Host zugeordnet. Danach wird die Festplatte sda als LVM für die VM eingerichtet.

  1. Vorhandene local-lvm entfernen:

lvremove /dev/pve/data
Proxmox Konsole Output lvremote question

Bestätige die Nachfrage mit y

Proxmox Konsole Output lvremote
  1. Speicherbereich von local erweitern:

lvresize -l +100%FREE /dev/pve/root
Proxmox Konsole Output lvresize
  1. Filesystem anpassen:

resize2fs /dev/mapper/pve-root
Proxmox Konsole Output
  1. Über lsblk sollte nun zu sehen sein, dass pve-data-Partitionen entfernt wurden:

Proxmox Konsole Output lsblk

Es ist zu erkennen, dass auf /dev/sdb3 nur noch pve-swap und pve-root vorhanden sind.

  1. Auf der Weboberfläche von Proxmox ist der local-lvm Eintrag noch über Datacenter Storage local-lvm (hv01) mit dem Remove-Button grafisch zu entfernen:

Proxmox-Übersicht Festplatten default

Danach findest Du noch folgenden Speicher:

Proxmox-Übersicht nach Löschung local-lvm

Die SSD /dev/sdb steht für den Proxmox-Host zur Verfügung.

Zweiten Datenträger vorbereiten

Die erste Festplatte heißt hier sda und ersetzt die pve-data-Partition, die im vorigen Schritt entfernt wurde. Um diese für Proxmox vorzubereiten, stellt man über Konsolenbefehle einige Konfigurationen ein. Falls die Shell noch nicht geöffnet ist, wie oben beschrieben, öffnen und folgende Befehle eingeben:

Hinweis

Für folgende Schritte: Die Bezeichnungen vg-xxx & lv-xxx Namen solltest Du auf Deine Festplattengrößen entsprechend anpassen, die folgenden Grafiken dienen zur Orientierung: vg-hdd-1000 eignet sich beispielsweise für ein Volume aus einer HDD mit 1 TByte Kapazität.

  1. Datenträger vorher partitionieren, z. B. mit fdisk /dev/sda g n w (über lsblk den richtigen Datenträgernamen herausfinden; in diesem Fall sda)

Proxmox Konsole Output fdisk
  1. Jetzt eine neue Partition auf der Festplatte anlegen - pvcreate /dev/sd<xy>1

Beispiel:

pvcreate /dev/sda1

und anschließend mit y bestätigen:

Proxmox Konsole Output vgcreate
  1. Nun wird eine virtuelle Gruppe auf der ersten Partition der zweiten Festplatte eingerichtet: vgcreate vg-<disk>-<size> /dev/sd<xy>1

Beispiel:

vgcreate vg-hdd-1000 /dev/sda1
Proxmox Konsole Output vgcreate vg-hdd
  1. mit lvcreate -l 99%VG -n lv-<disk>-<size> vg-<disk>-<size> nun das logical volume erstellen. Hier ist die virtuelle Festplatte eine HDD mit 1 TByte Speicher, weshalb die Namen im Befehl so angepasst werden:

Beispiel:

lvcreate -l 99%VG -n lv-hdd-1000 vg-hdd-1000
Proxmox Konsole Output lvcreate
  1. lvconvert --type thin-pool vg-<disk>-<size>/lv-<disk>-<size> konvertiert den Speicherbereich der erstellten virtual group als „thin-pool“:

Beispiel:

lvconvert --type thin-pool vg-hdd-1000/lv-hdd-1000
Proxmox Konsole Output lvconvert

Datenträger grafisch als Storage in Proxmox anbinden

  1. Im Menü Datacenter > Storage > Add wählt man „LVM-Thin“ aus. Im ID-Feld wird der Name des virtuellen Datenträgers angegeben. In diesem Fall ist es eine HDD mit 1 TByte Speicherkapazität, weshalb die Bezeichnung vd-hdd-1000 gewählt wird. Unter Volume Group die erstellte virtuelle Gruppe auswählen, welche hier vg-hdd-1000 ist:

Hinzufügen von LVM-Thin
  1. Nun sollte im linken Menü der zweite Storage zu sehen sein, auf welchem die Maschinen für Linuxmuster installiert werden können:

Proxmox-Übersicht hv01 zweite Festplatte

Vorbereiten des ISO-Speichers

Um die v7.1 zu installieren, müssen zwei virtuelle Maschinen angelegt werden. OPNsense und Ubuntu Server 18.04 LTS werden in die VMs installiert. Dazu ist es erforderlich, dass Du die ISO-Images für OPNsense und Ubuntu Server 18.04 LTS auf den Proxmox-Hypervisor in den Datenspeicher für ISO-Images lädst.

Proxmox way to folder ISO Images

Gehe dazu auf Datacenter –> <proxmox-host> –> Datenspeicher (auf local oder zfsfile) –> ISO Images –> Download from URL

Ubuntu Server

In dem nun geöffneten Fenster trägst Du die URL

https://releases.ubuntu.com/bionic/ubuntu-18.04.6-live-server-amd64.iso

ein (copy&paste). Anschließend betätigst Du dann den Button Query URL.

Proxmox Download from URL

Wenn die Abfrage der URL positiv war, sollten sich die Felder ausgefüllt haben.

Zum Überprüfen der Datei-Integrität aktiviere Verify certificates, das sich unter den Advanced Optionen befindet.

Wähle wie dargestellt: SHA-256 und trage die Checksumme ein:

6c647b1ab4318e8c560d5748f908e108be654bad1e165f7cf4f3c1fc43995934

Das Herunterladen des ISOs beginnt mit Download.

Proxmox download status

Zum Abschluss erfolgt die Überprüfung der Checksumme, die mit OK, checksum verified enden muss.

Proxmox ISO Images verified

Nach dem Schließen des Fensters,

Proxmox ISO Images folder view

befindet sich das heruntergeladene Ubuntu-ISO nun in dem ISO Images und steht Dir für die weitere Verwendung zur Verfügung.

OPNsense

Die zuvor gezeigte Möglichkeit des einfachen Importes mittels den Bordmitteln von Proxmox steht Dir für die OPNsense® leider nicht zur Verfügung, da nur der Download einer bz2-Datei möglich ist. Dir steht der Weg des Downloads auf einen lokalen PC, der Umwandlung des bz2-File in eine iso-Datei und dann der Upload über den Dir im Abschnitt Ubuntu aufgezeigten Ablauf frei. Dabei wählst Du dann nicht URL, sondern Upload.

Um Dir den Upload zu ersparen, beschreiben wir hier den Weg, um die benötigten Dateien direkt in Deine Proxmox-Maschine zu bringen:

Als Erstes startest Du die Konsole xterm.js wie dargestellt, falls sie nicht sowieso gestartet ist.

Proxmox open xterm shell

Mit ihr hast Du jetzt die Möglichkeit, mit Copy&Paste die folgenden bash-Zeilen direkt zu übernehmen.

Proxmox xterm shell

Als Nächstes musst Du in das Verzeichnis wechseln, wo Proxmox die ISO-Dateien sucht. Dazu kopierst Du diese Zeile in das gezeigte Fenster.

cd /var/lib/vz/template/iso

Mit [Enter] wechselt Du dann in das Verzeichnis.

Dann musst Du die folgenden vier Dateien herunterladen:

Prüfsummendatei (<filename>.sha256)

wget https://mirror.informatik.hs-fulda.de/opnsense/releases/22.7/OPNsense-22.7-OpenSSL-checksums-amd64.sha256

Signatur Datei (<filename>.sig)

wget https://mirror.informatik.hs-fulda.de/opnsense/releases/22.7/OPNsense-22.7-OpenSSL-dvd-amd64.iso.bz2.sig

Der öffentliche Schlüssel von OPNsense® (<filename>.pub)

wget https://mirror.informatik.hs-fulda.de/opnsense/releases/22.7/OPNsense-22.7.pub

Die komprimierte ISO Datei (<filename>.iso.bz2)

wget https://mirror.informatik.hs-fulda.de/opnsense/releases/22.7/OPNsense-22.7-OpenSSL-dvd-amd64.iso.bz2

Überprüfen der heruntergeladenen Dateien auf deren Integrität:

openssl base64 -d -in OPNsense-22.7-OpenSSL-dvd-amd64.iso.bz2.sig -out /tmp/image.sig
openssl dgst -sha256 -verify OPNsense-22.7.pub -signature /tmp/image.sig OPNsense-22.7-OpenSSL-dvd-amd64.iso.bz2

Der letzte Befehl sollte Dir ein Verified OK liefern.

Nun gilt es, die ISO-Datei auszupacken. Das machst Du mit folgendem Befehl:

bunzip2 OPNsense-22.7-OpenSSL-dvd-amd64.iso.bz2

Das Entpacken kann einige Zeit in Anspruch nehmen. Anschließend sollte sich in dem Verzeichnis die OPNsense-ISO-Datei befinden. Die daneben befindlichen anderen OPNsense-Datei kannst Du nun wieder löschen.

rm OPNsense*.sha256 OPNsense*.pub OPNsense*.sig

Somit hast Du nun alle nötigen ISO-Dateien für die weitere Installation zusammen.

Proxmox ISO Images folder view

Es sind beide ISO Images auf den ISO-Speicher in Proxmox verfügbar, Du richtest nun die VMs ein.

Vorbereiten der virtuellen Maschinen

Anlegen der VM für OPNsense

Um für die OPNsense Firewall eine VM anzulegen, wählst Du in der Proxmox - Verwaltungsoberfläche den Button Create VM.

Proxmox Create VM

Es erscheint nun das Fenster zur Anlage der neuen VM. Trage hier einen Namen für die VM ein, anhand der Du Version und Funktion erkennst.

Proxmox Create VM

Klicke dann auf Next.

Wähle nun den ISO-Datenspeicher unter Storage aus. Das ist der Speicher, auf den Du vorher die ISO-Images abgelegt hast. Wähle dann das ISO image der OPNsense aus.

Proxmox Create VM: ISO image

Klicke dann auf Next.

Belasse hier zunächst alle Voreinstellungen für Grafikkarte und Festplatten-Controller wie angezeigt.

Proxmox Create VM: System

Klicke dann auf Next.

Wähle nun hier unter Storage den geeigneten Datenspeicher auf, um die Festplatte der VM dort abzulegen. In der Abb. wird der Datenspeicher Dataset verwendet. In dem Drop-down Menü siehst Du alle in Deinem System verfügbaren Datenspeicher.

Hinweis

Folgende Größenangaben beziehen sich, wie schon geschrieben, auf eine Testumgebung. Für andere Einsatzszenarien solltest Du Dich unbedingt mit den Hardware-Anforderungen gemäß der OPNsense® -Dokumentation auseinandersetzen. Wie in der Dokumentation schon ausgeführt, solltest Du hier besser mindestens 8 GiB RAM und 50 GiB HDD wählen.

Proxmox Create VM: Disks

Klicke dann auf Next.

Gib nun für die CPU Sockel und Kerne an.

Proxmox Create VM: CPU

Klicke dann auf Next.

Gib nun für die Firewall die gewünschte Größe des Arbeitsspeichers an.

Proxmox Create VM: RAM

Klicke dann auf Next.

Gib danach die Bridge vmbr0 für die einzurichtende Netzwerkkarte an. Die zweite Netzwerkkarte fügst Du nach Anlage der VM hinzu. Dies muss noch vor der eigentlichen Installation erfolgen.

Proxmox Create VM: NIC

Klicke dann auf Next.

Zum Abschluss siehst Du nochmals alle Einstellungen für die VM. Überprüfe diese. Solltest Du Änderungen vornehmen wollen, kannst Du auf die entsprechende Reiterkarte klicken, Änderungen durchführen und wieder zur Reiterkarte Confirm wechseln.

Proxmox Create VM: Confirm

Achte darauf, dass die Option Start after created unbedingt deaktiviert ist.

Klicke dann auf Finish.

Hinzufügen einer weiteren Netzwerkbrücke

Nachdem die VM angelegt wurde, wähle diese aus und klicke auf den Eintrag Hardware.

Proxmox Create VM: Hardware

Füge nun die zweite Netzwerkkarte hinzu oder ggf. weitere NICs. Klicke hierzu oben auf die Reiterkarte Add. Es erscheint ein Drop-down Menü. Wähle hier den Eintrag Network Device.

Proxmox Create VM: Add 2nd NIC

Wähle als Bridge die zweite zuvor eingerichtete Bridge – hier vmbr1.

Achte für die weitere Installation darauf, wie Du die Bridges zugeordnet hast:

  1. vmbr 0 - externes Netzwerk: red

  2. vmbr 1 - internes Netzwerk: green

Klicke auf Add.

Anlegen der VM für linuxmuster server

Um für den linuxmuster.net Server v7.1 die VM anzulegen, wählst Du erneut in der Proxmox - Verwaltungsoberfläche den Button Create VM.

Proxmox Create VM

Es erscheint nun das Fenster zur Anlage der neuen VM. Trage hier einen Namen für die VM ein, anhand der Du Version und Funktion erkennst.

Proxmox Create VM

Klicke dann auf Next.

Wähle nun den ISO-Datenspeicher unter Storage aus. Das ist der Speicher, auf den Du vorher die ISO-Images abgelegt hast. Wähle dann das ISO image der OPNsense aus.

Proxmox Create VM: ISO image

Klicke dann auf Next.

Belasse hier zunächst alle Voreinstellungen für Grafikkarte und Festplatten-Controller wie angezeigt.

Proxmox Create VM: System

Klicke dann auf Next.

Wähle nun hier unter Storage den geeigneten Datenspeicher aus, um die Festplatte der VM dort abzulegen. In der Abb. wird der Datenspeicher Dataset verwendet. In dem Drop-down Menü siehst Du alle in Deinem System verfügbaren Datenspeicher.

Proxmox Create VM: Disks

Für die erste Festplatte wählst Du wie in obiger Abb. z. B. 25 GiB.

Füge dann mit dem Button unten links Add eine weitere Festplatte hinzu. Wähle hierbei wieder den geeigneten Datenspeicher aus und # nun die Größe z. B. 100 GiB, oder direkt für Deine Schule die gewünschte Größe z. B. 500 GiB aus.

Proxmox Create VM: Disks

Klicke dann auf Next.

Gib nun für die CPU Sockel und Kerne an.

Proxmox Create VM: CPU

Klicke dann auf Next.

Gib nun für den Server die gewünschte Größe des Arbeitsspeichers an.

Proxmox Create VM: RAM

Klicke dann auf Next.

Gib danach die Bridge vmbr1 für die einzurichtende Netzwerkkarte an. Dies muss die Bridge für das interne Netz (green) sein.

Proxmox Create VM: NIC

Klicke dann auf Next.

Zum Abschluss siehst Du nochmals alle getroffenen Einstellungen. Überprüfe diese. Solltest Du Änderungen vornehmen wollen, kannst Du auf die entsprechende Reiterkarte klicken, Änderungen durchführen und wieder zur Reiterkarte Confirm wechseln.

Proxmox Create VM: Confirm

Achte darauf, dass die Option Start after created unbedingt deaktiviert ist.

Klicke dann auf Finish.

Nachdem die VM angelegt wurde, siehst Du diese links im Verzeichnisbaum Deines Proxmox-Host, in dem alle VMs dargestellt werden.

Proxmox VMs: Overview

Abschließende Konfiguration der virtuellen Maschinen

Die nächsten beiden Einstellungen musst Du sowohl für die Firewall als auch für den Server vornehmen. Wir beschreiben es hier jetzt exemplarisch für die Firewall.

Boot-Optionen

Um bei der from Scratch Installation von CD zu starten, wählst Du die VM aus, klickst auf Options und klickst oben auf den Menüeintrag Edit.

Proxmox VM: Boot order

Markiere mit der Maus den Eintrag ide2 (CD) und ziehe diesen an Position 1.

Vorher:

Proxmox VM: Boot order start

Nachher:

Proxmox VM: Boot order changed

Hinzufügen einer seriellen Schnittstelle

Damit Dir Copy-and-paste in der Oberfläche von Proxmox bei der Auswahl unter Console zur Verfügung steht, musst Du die Nutzung von xterm.js ermöglichen. Als vorbereitende Maßnahmen musst Du eine serielle Schnittstelle für die jeweilige VM aktivieren.

Console menu before xterm.js activation

Das obige Bildschirmfoto zeigt den Zustand vor der Aktivierung.

Description of how to open the Add menu

Gehe auf hv01 –> lmn71-opnsense –> Hardware –> Serial Port

Add serial port 0

Lege einen Seriellen Port mit der Bezeichnung 0 an.

Console menu after activation of xterm.js

Klicke auf Add, anschließend sollte der gezeigte Menüpunkt nicht mehr ausgegraut sein.

Kontrolliere nochmals alle Einstellungen der neu angelegten VM.

Die beiden letzten Einstellungen musst Du nochmals für den Server einrichten.

Hinweis

Für die weitere Nutzung von xterm.js ist allerdings noch eine Anpassung bei der laufenden OPNsense® bzw. dem Server nötig. Die nimmst Du zu einem geeigneten späteren Zeitpunkt vor, bis dahin musst Du noch die Konsole noVNC nutzen.


Nun sind Deine virtuellen Maschinen für die weitere Installation bereit und Du kannst gemäß der Anleitung: Install-from-Scratch weiterarbeiten.