Proxmox-Server

📌 Hinweis zur Dokumentation

Diese Dokumentation dient ausschließlich zu Bildungszwecken. Alle gezeigten IP-Adressen, Netzwerkkonfigurationen und LWI-Einträge sind rein fiktiv und wurden nur zur Veranschaulichung verwendet. Sie spiegeln keine realen Systeme oder Netzwerke wider.

⚠️ Wichtiger Hinweis:

Diese Inhalte sollen helfen, die theoretischen Konzepte von DHCP, DNS, Proxmox und anderen Netzwerk-Technologien besser zu verstehen.

1 Physischer Umbau

1.1 Projektvorbereitungen

Bevor ich mit diesem Projekt anfange, schaue ich mir an, welche Hardware ich besitze, um einen entsprechenden Rechner als leistungsfähigen Rechner verwenden könnte. Dazu habe ich mich für einen HPE Server entschieden. Der Server war nicht mehr in Betrieb und könnte dem gut zum experimentieren verwenden.

Hier wird der physische Umbau des Servers umgesetzt. Bauteile wie Prozessoren, Arbeitsspeicher, Festplatten, Netzwerkkomponente, werden hier ausgetauscht oder erweitert.

Spezifikationen:

Vorher: Nachher:
Arbeitsspeicher: 16 GB DDR4 128 GB DDR4
CPU: 1x Intel Xeon E5-2603 v3 1.60GHz 1x Intel Xeon E5-2603 v3 1.60GHz
Festplatten 6x 120 GB SSD 6x 120 GB SSD

1.2 Systemanforderungen überprüfen

Der Server braucht Mindestanforderungen für die Installation für Proxmox:

Minimum Hardware: Empfohlene Hardware: Spezifikationen des Servers:
  • CPU: 64bit (Intel EMT64 oder AMD64)
  • 2 GB RAM
  • Bootfähiges CD-ROM-Drive oder USB-Boot Support
  • Monitor mir Auflösung von 1024x768 für die Installation
  • Festplatte mit mindestens 8 GB freiem Speicherplatz
  • Ethernet Netzwerkkarte
  • Multicore-CPU: 64bit (Intel EMT64 oder AMD64); bei Verwendung als virtuelle machine Intel VT/AMD-V CPU Flag aktivieren
  • 4 GB RAM
  • Ein bootfähiges CD-ROM-Drive oder USB-Boot Support
  • Monitor mit einer Auflösung von 1024x768 für die Installation
  • 1 Gbps Ethernet Netzwerkkarte
  • Speicher: mindestens 8 GB freier Speicherplatz; am besten mit Redundanz aufsetzen. Ein Hardware RAID-Controller mit Battery-backed Write Cache (“BBU”) ist empfohlen – oder ZFS. ZFS ist nicht kompatibel mit einem Hardware RAID-Controller. Für optimale Performance Enterprise-class SSD mit Power Loss Protection verwenden.
  • 6 Kern CPU 64-Bit Intel Xeon E5-2603 v3 1.60 GHz
  • 128 GB DDR4 RAM
  • USB-Boot Support
  • Monitorauflösung mit 1024x768 wird unterstützt
  • 6x 120 GB SSD (Genügend Speicherplatz vorhanden)
  • Verfügt über 2 Ethernet-Anschlüsse für Netzwerkverbindungen und spezielle Glasfaseranschlüsse (SFP+).

Im Grunde genommen wäre eigentlich jeder PC, welches die minimalen Anforderungen entsprechen würde, ausreichen. Man könnte auch einen Laptop als Proxmox-Server aufsetzen.

2 Proxmox Installation

2.1 Proxmox Installation auf dem Server

  1. Proxmox Betriebssystem auf einem USB-Stick installieren:

Bevor man Proxmox installieren kann, muss zuerst ein USB-Stick mit einem Proxmox Image aufgesetzt werden. Dazu muss zuerst Proxmox von der offiziellen Website (proxmox.com) heruntergeladen werden.

Abbildung 1: Proxmox Installationsseite für ISO-Dateien

Sobald die ISO-Datei fertig heruntergeladen wurde, muss mit einem Imager-Tool (z.B. Rufus bei Windows, Etcher auf macOS oder Linux) und somit das Proxmox Image auf den USB-Stick installieren.

  1. USB-Stick in den Server einstecken:

Sobald der USB-Stick mit dem Image installiert wurde, kann man diesen Stick in den Server einstecken. Dazu muss der Server noch eingeschaltet werden. Sobald man F11 (Oder eine andere Taste für Boot-Menu) drückt, sollte man die Option haben, den USB-Stick als «bootfähiges Medium» auszuwählen. Sobald dies durchgeführt wurde, erscheint ein Menü, ob man Proxmox installieren möchte. Wähle «Install Proxmox VE» aus, um Proxmox zu installieren.

Abbildung 2: Proxmox Installation auf dem Server

  1. Proxmox auf dem Server konfigurieren:

Um den Proxmox-Server zu konfigurieren, muss als erstes der EULA (End User License Agreement) zugestimmt werden. Im nächsten Schritt wird gefragt, welche Festplatte ausgewählt werden soll. Danach Standort, Datum und Uhrzeit. Als nächstes kommt das Einrichten eines Passworts und E-Mail-Adresse. Ein Passwort wird benötigt, damit man sich auf dem Server authentifizieren kann und eine E-Mail-Adresse wird benötigt, damit man wichtige Benachrichtigungen erhält wie kritische Fehlermeldungen oder Ausfall einer Festplatte, usw. Anschliessend muss dann nur noch die Netzwerkkonfiguration erstellt werden. Diese besteht aus dem Netzwerkadapter, Hostname FQDN (Fully Qualified Domain Name) IP-Adresse, Subnetzmaske, Gateway und DNS-Server. Danach wird das Betriebssystem mit diesen Konfigurationen installiert. Sobald die Installation fertig ist, kann man den Server neustarten und dann sieht man ein Proxmox Terminal.

Abbildung 3: Proxmox-Fenster für Passwort und E-Mail-Konfiguration

Die E-Mail-Adresse im Bild ist leider falsch. Diese wurde durch «lwi@qhs.ch» ausgetauscht worden.

Benutzername: root

Passwort: Test9876 (Dient nur als Test)

Abbildung 4: Proxmox-Fenster für Netzwerkkonfiguration

Die Einstellung in diesem Bild stimmen nicht mehr ganz. Die neue Konfiguration sieht so aus:

  • Hostname (FQDN): proxmox01.lwi.intra
  • IP-Adresse des Servers: 192.168.0.2
  • Gateway: 192.168.0.1
  • DNS-Server: 127.0.0.1 (localhost)

2.2 Nachträgliche Änderung der Netzwerkkonfiguration

Im letzten Schritt wurden zwar Netzwerkkonfigurationen eingerichtet, doch sobald man einen Fehler in der Netzwerkkonfiguration findet und es umgehend ändern möchte, geht dies in einfachen Schritten.

  1. Richtiger Port auswählen:

Ein Server hat normalerweise 2 Ethernet-Ports (Oder sogar mehr bei manchen Modellen). Es ist wichtig zu merken, welchen Ethernet-Port ausgewählt werden soll. In meinem Fall habe ich den Ethernet-Port (eno1) ausgewählt.

Abbildung 5: Ethernet-Port 1 (eno1) wurde an Ethernet angeschlossen

Netzwerkkonfigurationsdatei finden, öffnen und bearbeiten:

Bevor man in Linux eine Konfigurationsdatei über das Terminal bearbeiten kann, muss man zuerst Admin-Rechte besitzen. Auf einem Ubuntu/Debian Rechner müsste es mit dem Befehl «sudo -s» klappen. Doch da Proxmox auch auf Linux basiert und die Befehle nicht alle gleich sind, wird der Befehl «su -» verwendet.

Um die vordefinierte Netzwerkkonfigurationsdatei zu finden, muss der Befehl «nano /etc/network/interfaces» eingegeben werden. In dieser Datei können dann die gewünschten Netzwerkeinstellungen wie IP-Adressen, Gateways und Netzwerk-Bridges für verschiedenen Netzwerkschnittstellen des Systems angepasst werden.

Abbildung 6: Netzwerkkonfiguration vorher Dieses Netzwerk war im Bereich 192.168.0.0

Abbildung 7: : Netzwerkkonfiguration nachher Dieses Netzwerk ist im Bereich 192.168.8.0

Die obigen Bilder zeigen, wie man diverse Funktionen am Server ändern kann. In diesen Bildern sieht man jedoch, dass die Netzwerkkonfiguration verändert wurden. Temporär wurde die neue «192.168.8.2». Dies hängt damit zusammen, dass während der Konfiguration des Servers ein Fehler beim Netzwerk auftauchte und deswegen die Konfigurationen verändert werden mussten. Dazu habe ich einen Router verwendet, der mit dem Internet verbunden war und so die Repositories auf dem Server installieren konnte. Danach wurden die Einstellungen fest auf «192.168.1.2» umgeändert.

Sobald die Datei fertig konfiguriert wurde, muss man nur noh «Ctrl + X» drücken, um den Editor zu beenden und dann die Taste «Y für Yes» und danach «Enter», um die Speicherung der Datei zu bestätigen.

  1. Netzwerkadapter neustarten:

Damit die neuen Netzwerkkonfigurationen aktualisiert werden können, wird der Befehl «systemctl networking restart» ausgeführt, um alle vorhandenen Netzwerkadapter des Servers neu zu starten. Dieser Befehl funktioniert in Ubuntu oder Debian basierte Linux Distros.

Abbildung 8: Veränderte Netzwerkkonfiguration des Servers

Somit wurden die neuen Netzwerkkonfigurationen gemacht.

3 Proxmox Weboberfläche

3.1 Weboberfläche konfigurieren

Somit hat man bis jetzt einen Proxmox-Server und eine konfigurierte Netzwerkkonfiguration. Um restliche Änderungen vorzunehmen, muss man auf die Weboberfläche gelangen. Dies funktioniert mit der Adresse (in diesem Fall) http://(proxmox-server-ip):8006/. Sobald man diese IP-Adresse eingegeben hat, kommt man auf die Weboberfläche. Somit muss man nur noch einen Benutzername eingeben (normalerweise root) und dann ein Passwort, welches bei der Einrichtung bei der Installation von Proxmox erstellt wurde.

Abbildung 9: Proxmox Weboberfläche

3.2 Subscription Meldung deaktivieren

Sobald man sich erfolgreich einloggen konnte, taucht eine Meldung auf, dass man «keine gültige Subskription» besitzt. Es gibt einen Weg, wie man diese Meldung umgehen kann.

Abbildung 10: Keine gültige Subskription Meldung

Dieser Schritt ist nur für Bildungszwecke gedacht.

Diese Meldung verhindert auch, dass der Proxmox Server auf die neusten Repositories und Updates gelangt.

nano /etc/apt/sources.list

nano /etc/apt/sources.list.d/pve-enterprise.list... Um die Fehlermeldung zu beheben und sicherzustellen, dass der Proxmox Server auf die neuesten Repositories und Updates zugreifen kann, müssen die Repository-Quellen aktualisiert werden. Dazu öffnet man die Dateien /etc/apt/sources.list und /etc/apt/sources.list.d/pve-enterprise.list mit dem Texteditor nano, mit dem Befehl: «nano /etc/apt/sources.list»

“nano /etc/apt/sources.list.d/pve-enterprise.list”

In diesen Dateien müssen Sie die Zeilen, die auf das veraltete Repository enterprise.proxmox.com verweisen, durch die neuen Adressen ersetzen:

“deb https://prx.aus.kamatera.com/proxmox/pve-no-subscription bullseye pve-no-subscription”

Speichern und schließen Sie die Dateien nach den Änderungen.

Repository aktualisieren und Pakete upgraden

Nachdem die Repository-Quellen aktualisiert wurden, müssen die Paketlisten mit dem Befehl «apt update» aktualisieren:

«apt update»

Anschließend können alle installierten Pakete auf die neuesten Versionen upgraden mit diesem Befehl:

«apt full-upgrade»

Bestätige die Aufforderung zur Installation der neuen Pakete. Nach Abschluss des Upgrades sollte die Fehlermeldung bezüglich des veralteten Repositorys nicht mehr angezeigt werden. Durch diese Schritte stellt man sicher, dass auf dem Proxmox Server auf die aktuellen Repositories und Updates zugreifen kann, um Sicherheitslücken zu schließen und neue Funktionen zu erhalten.

3.3 Virtuelle Maschine erstellen

3.3.1 Ubuntu VM erstellen

Der nächste Schritt und somit ein wichtiger Schritt wäre die Erstellung einer virtuellen Maschine. Eine virtuelle Maschine ist eine Software, die einen vollständigen Computer simuliert.

Bevor man eine virtuelle Maschine erstellt, muss man eine ISO-Datei besitzen, welches das Image für ein Betriebssystem enthält. Um dies zu erledigen, muss zuerst die ISO-Datei auf dem Rechner vorhanden sein und dann auf dem Proxmox Server hochgeladen werden.

Abbildung 11: Ort finden, wo ISO-Dateien auf dem Proxmox-Server hochgeladen werden

Um eine virtuelle Maschine in Proxmox zu erstellen, gehe oben auf den hellblauen Knopf mit der Aufschrift «Create VM» (oder auf Deutsch «VM erstellen»).

Abbildung 12: VM erstellen auf dem Proxmox Server

Um eine VM in Proxmox zu erstellen, müssen diese Elemente definiert werden:

  1. Infos wie von welchem Server [proxmox01], VM-ID [101], Name der VM [Ubuntu-VM1]

    Allgemeine Informationen:

  2. Abbildung 13: Benennung der virtuellen Maschine

  3. Hier wird definiert, welches Betriebssystem gewählt wird [ISO-Image: ubuntu-23.10.1-desktop-amd64]

    Betriebssystem:

  4. Beschreibung hinzufügen, um die VM einfacher zu identifizieren, Startverhalten definieren für automatischer Start mit dem Proxmox Server [-]

    Sytstem:

  5. Festplattengrösse [40 GB], Festokattentyp [SATA], Speicherort (Wo die VM gespeichert wird) [Speicherort]

    Disks:

  6. Anzahl der Kerne [2 Kerne], CPU-Typ [x86_64]

    CPU:

  7. Arbeitsspeicher [8 GB RAM]

    Memory:

  8. Netzwerkschnittstelle für VM definieren [eno1]

    Network:

  9. Alle Einstellungen überprüfen und die Erstellung der VM bestätigen.

    Confirm:

3.3.2 Automatisches Einschalten beim Serverstart konfigurieren

Dieser Teil der Konfiguration wird als sehr wichtig betrachtet, weil es den Aufwand erspart, die virtuellen Maschinen einzeln aufzustarten. Dieser Schritt ist im Prinzip sehr einfach zu machen.

Als erstes geht man in die erstellte Virtuelle Maschine rein und unter Optionen, führe einen Doppelklick bei «Start at boot» und aktiviere den Haken. Drücke auf «OK», um die Änderungen zu speichern.

Abbildung 14: Automatisches booten der Ubuntu-VM mit dem Booten des Servers aktivieren

Sobald diese Schritte sorgfältig und erfolgreich durchgeführt worden sind, wird der Prozess automatisiert, sobald jedes Mal der Server eingeschaltet wird.

4 Konfiguration von Services

4.1 DHCP-Dienst in Ubuntu konfigurieren

HINWEIS:

  1. Um sicherzustellen, dass die Paketliste auf dem neuesten Stand ist, führe regelmäßig den Befehl «sudo apt update» und «sudo apt upgrade» im Terminal aus.
  2. Stelle sicher, dass jeder DHCP-Server statisch konfiguriert ist.
  3. DHCP-Dienst installieren:... Zunächst muss der DHCP-Dienst installiert werden. Dies geschieht in der Regel über das Terminal mit dem Befehl: «sudo apt install isc-dhcp-server» Dieser Befehl installiert den DHCP-Dienst auf der Ubuntu-VM.
  1. DHCP-Server konfigurieren:

Abbildung 15: Datei der Konfiguration des DHCPs auf der Ubuntu-VM

Nach der Installation des DHCP-Dienstes muss der Server konfiguriert werden. Dies erfolgt durch Bearbeiten der Konfigurationsdatei mit dem Befehl «sudo nano /etc/dhcp/dhcpd.conf». Diese Datei enthält die Netzwerkinformationen für die Clients und ermöglicht die Konfiguration von Optionen wie IP-Adressbereichen, Lease-Zeiten und andren Netzwerkeinstellungen. In diesem Fall sieht meine Konfiguration so aus:

Abbildung 16: Konfiguration des DHCPs auf der Ubuntu-VM

  1. DHCP-Status austesten:

Nachdem der DHCP-Dienst konfiguriert wurde, ist es dann an der Zeit, ob der Server funktioniert. Zuerst muss dabei der Dienst gestartet werden gefolgt von diesem Befehl: «sudo service isc-dhcp-server start». Um den DHCP-Status sehen zu können, muss man «sudo service isc-dhcp-server status» eingeben und dann kommt eine Passwortabfrage, falls man noch keine sudo-Rechte hat. Dann sollte das Fenster mit der Aktivitätsanzeige des DHCP-Dienstes so aussehen:

Wenn «Active: active (running)» steht, bedeutet es, dass der DHCP-Server funktioniert und aktiv ist. Wenn aber «Active: failed» stehen würde, funktioniert der DHCP-Dienst nicht. Ein «Active: failed» Status beim DHCP-Dienst kann aus verschiedenen Gründen auftreten.

Abbildung 17: DHCP-Dienst ist aktiv und funktioniert einwandfrei

4.2 Konfiguration des DNS

Die Konfiguration eines eigenen DNS-Servers ist von Vorteil, weil dadurch mehr Kontrolle übernommen werden kann, bessere Sicherheit und mehr Anpassungsmöglichkeiten entstehen. Ein DNS-Server ermöglicht es Benutzern, sich Domainnamen anstelle von IP-Adressen zu merken. In diesem Dokument wird die Konfiguration von BIND9 behandelt, dem am häufigsten verwendeten Programm zur Verwaltung eines Nameservers unter Linux.

HINWEISE:

  1. Um sicherzustellen, dass die Paketliste auf dem neuesten Stand ist, führe regelmäßig den Befehl «sudo apt update» und «sudo apt upgrade» im Terminal aus.
  2. Stelle sicher, dass jeder DHCP-Server statisch konfiguriert ist.
  3. Am besten eignet sich dieser Vorgang mit Zugriff über SSH.
  1. DNS-Dienst installieren:

Öffne das Terminal und führe den Befehl «sudo apt install bind9» und danach «sudo apt install dnsutils» aus. Mit diesen Beiden Befehlen wird der DNS-Dienst installiert. Danach kann der DNS nun konfiguriert werden.

  1. Caching-Name Server einrichten

Die Standardkonfiguration fungiert als Caching-Server. Kommentiere einfach «/etc/bind/named.conf.options» aus und bearbeite sie, um die IP-Adressen der DNS-Server des ISPs festzulegen.

Abbildung 18: Konfiguration des Caching für den DNS-Server

Um die neue Konfiguration zu aktivieren, starte den DNS-Server neu. Führe an der Eingabeaufforderung Folgendes aus:

“sudo systemctl restart bind9.service”.

  1. Primärserver einrichten

In diesem Abschnitt wird BIND9 als Primärserver für die Domain lwi.intra eingerichtet.

Forward—Lookup-Zonendatei bearbeiten. Um eine Forward-Lookup-Zone zu erstellen, muss man eine entsprechende Zonendatei erstellen. Diese Datei enthält die DNS-Einträge für die Domain. Hier ist ein Beispiel, wie eine Forward-Lookup-Zonendatei aussehen könnte:

“sudo nano /etc/bind/zones/db.lwi.intra”

Abbildung 19: Eintrag der Forward-Lookup-Zone in der globalen Konfiguration

Die Datei sieht dann wie folgt aus:

Abbildung 20: Konfiguration der Forward-Lookup-Zone

Erklärung der DNS-Einträge:

  • SOA (Start of Authority): Dieser Eintrag definiert den primären Nameserver für die Domain (ns1.lwi.intra) und die E-Mail-Adresse des Administrators (root.lwi.intra).
  • NS (Name Server): Dieser Eintrag gibt den Nameserver für die Domain an (ns1.lwi.intra).
  • A (Address): Dieser Eintrag ordnet den Hostnamen (im Beispiel @ für die Domain selbst, ns1 und www) einer IPv4-Adresse zu (192.168.1.2).

Reverse-Lookup-Zonendatei bearbeiten.

Um eine Reverse-Lookup-Zone zu erstellen, muss man eine entsprechende Zonendatei erstellen. Diese Datei ermöglicht die Zuordnung von IP-Adressen zu Hostnamen. Hier ist ein Beispiel, wie eine Reverse-Lookup-Zonendatei aussehen könnte:

Abbildung 21: Eintrag der Reverse-Lookup-Zone in die Globale Konfiguration

sudo cp /etc/bind/db.127 /etc/bind/db.192

Bearbeite dann die Datei «db.192»:

Abbildung 22: Konfiguration der Reverse-Lookup-Zone

Speichere diese Datei und starte dann anschliessend den DNS-Dienst neu mit dem Befehl:

sudo systemctl restart bind9.service

Somit wäre der Primärserver mit Bind9 schon konfiguriert.

Damit man aber ganz sicher sein kann, ob alles funktioniert, überprüfe ich mit dem Befehl sudo systemctl status bind9.service den Status des DNS-Dienstes Bind9:

Abbildung 23: Überprüfter Status des DNS-Dienstes (Bind9) und es funktioniert einwandfrei

  1. Firewall konfigurieren

Wenn eine Firewall aktiv ist, muss diese so konfiguriert werden, dass DNS-Anfragen zugelassen werden. Hier sind die Befehle, um die Firewall für BIND9 zu konfigurieren:


sudo ufw allow 53/tcp
sudo ufw allow 53/udp
        

Diese Befehle öffnen die Ports 53 für TCP und UDP, die für DNS-Anfragen benötigt werden. Diese Methode ist hilfreich, falls die DNS-Verbindung noch nicht funktionieren sollte.

  1. Konfiguration testen
4.2.1 Testen des DNS

Nachdem der DNS nun konfiguriert wurde und dementsprechend funktioniert, ist es wichtig, den zu testen.

Mit dem Befehl named-checkzone lwi.intra /etc/bind/db.lwi.intra wird die Konfiguration einer DNS-Zone in BIND (Berkeley Internet Name Domain) überprüft. Diesen habe ich ausgeführt keinen Fehler erhalten.

Abbildung 24: Überprüfen, ob die DNS-Zone mit der Konfiguration übereinstimmt

Nachher habe ich den DNS-Dienst BIND9 neugestartet und dann mit nslookup den Test gemacht. Das Ergebnis ist in diesem Bild zu sehen:

Abbildung 25: DNS-Dienst neugestartet und nslookup ausgeführt

Mit diesen Schritten konnte der Primärserver für den DNS in der Ubuntu-VM konfiguriert werden. Dieser DNS wird für den Gebrauch eines internen Netzwerks benötigt.

4.2.2 Hinzufügen von Drucker in DNS

Ein DNS dient dazu, dass man sich Namen statt IP-Adressen merken kann und die Kommunikation innerhalb eines Netzwerks vereinfacht wird. In diesem Abschnitt der Dokumentation wird erklärt, wie man einen Drucker zum DNS-Server hinzufügen kann, damit dann Benutzer innerhalb des Netzwerks einen Namen statt eine IP-Adresse eingeben können.

Um dann den Drucker im DNS zu integrieren, muss die Forwarding-Zone nochmals bearbeitet werden. Dort wird ein Eintrag gemacht, wo dann der Drucker eingetragen wird. Diese Datei wird mit dem Befehl sudo nano /etc/bind/db.lwi.intra geöffnet. Sobald man diese Datei öffnet, muss ganz unten der Drucker eingetragen werden. So würde die Forwarding-Zone aussehen, wenn man den Drucker hinzufügt:

Abbildung 26: Bearbeitete DNS-Datei mit dem Eintrag des Druckers mit der statischen IP-Adresse des Druckers

Nachdem dies dann gemacht wurde, muss de DNS-Dienst neugestartet werden mit dem Befehl sudo systemctl restart bind9.

Somit müsste dann der DNS-Eintrag des Druckers funktionieren.

Den Drucker habe ich im DNS als «Epson1» benannt. Um dann nun auf den Drucker drauf zu gelangen, muss dann der Name und die Domain eingegeben werden. Die Adresse des Druckers lautet somit «Epson1.lwi.intra». Diese Adresse gab ich in meinem Browser ein und das Ergebnis sieht man im untenstehenden Bild:

Abbildung 27: Zugriff auf den Drucker über die Domain des Druckers

Diese Funktion geht nicht nur im Browser, sondern funktioniert auch in den Einstellungen, wenn man einen Drucker hinzufügen möchte.

Abbildung 28: Hinzufügen eines Druckers in Windows via Domain

Nach der Eingabe erkennt es den Drucker sofort und kann somit mit dem nötigen Treiber und Namen hinzugefügt werden.

5 Container in Proxmox erstellen

5.1 Definition von Container

Ein Container ist Teil des Themas «Virtualisierung», ist aber komplett anders als eine virtuelle Maschine.

Ein Container ist eine Methode, um Computerprogramme zu isolieren. Im Gegensatz zu einer virtuellen Maschine, die ein komplettes Betriebssystem nachahmt, nutzt ein Container spezielle Funktionen des vorhandenen Betriebssystems. Dies ermöglicht es, mehrere Anwendungen auf einem Computer unabhängig voneinander laufen zu lassen, ohne dass sie sich gegenseitig stören.

Kurz gesagt: Container sind eine leichtgewichtige Art, Anwendungen zu trennen und effizient auf einem gemeinsamen System laufen zu lassen.

5.2 Hinzufügen eines Containers

Bevor man einen Container erstellt, muss man sich eine Vorlage aus dem Internet herunterladen, worauf der Container dann basiert. Dies muss auf den Proxmox-Server importiert werden, damit dann draus ein Container erstellt werden kann.

Bei der Auswahl einer Datei kann man weitere Informationen angeben, doch die sind für dieses Projekt nicht relevant. Man kann die Einstellungen genau so lassen und weitermachen.

Abbildung 29: Eine Container-Vorlage auf dem Proxmox-Server hinzufügen

Danach muss man nur noch auf «Upload» drücken und die Vorlage wird auf dem Proxmox-Server hochgeladen.

5.3 Erstellung eines Containers

Um in Proxmox einen Container zu erstellen, geht man auf die obere Rechte Ecke der Weboberfläche und drückt auf «Create CT», um einen Container zu erstellen. Hierbei wird ein Container für Pi-Hole erstellt. Ab da folgen dann diese Schritte:

Abbildung 30: Das Hinzufügen einer Container-Vorlage mit den Standard-Konfigurationen

  1. Allgemein: Node auswählen und einen Namen für den Container definieren.
  2. Vorlage: Vorlage für den Container auswählen (muss vorher hochgeladen worden sein).
  3. Festplatte: Grösse der Festplatte definieren.
  4. CPU: Anzahl der Kerne definieren.
  5. Arbeitsspeicher: Arbeitsspeicher für den Container definieren.
  6. Netzwerk: Netzwerkkonfiguration definieren (DHCP oder statisch).
  7. DNS: DNS-Server definieren.
  8. Bestätigung: Einstellungen überprüfen und Container erstellen.

Abbildung 31: 1. Container benennen und Passwort definieren

Abbildung 32: 2. Container-Vorlage auswählen

Abbildung 33: 3. Speichergrösse des Containers definieren

Abbildung 34: 4. CPU-Kerne wählen

Abbildung 35: 5. Arbeitsspeicher für Container gewählt

Abbildung 36: 6. Netzwerkkonfiguration angepasst für Container

Abbildung 37: 7. DNS-Adressen hinzufügen (Ist unnötig, da der DNS-Server schon in Proxmox vorhanden ist)

Abbildung 38: 8. Konfiguration für Container bestätigen

Nachdem diese Schritte durchgeführt wurden, ist der Container für PiHole nun erstellt.

5.4 Netzwerkkonfiguration eines Containers

Mir fiel auf, dass ich beim Container automatisch DHCP eingestellt habe. Ich möchte dies aber gerne umändern. In diesem Abschnitt der Doku wird gezeigt, wie man das bei einem Proxmox Container macht. Im Bild wird gezeigt, wie man diese konfiguriert.

Abbildung 39: Netzwerkkonfiguration eines Containers auf einem Proxmox Server

Mit diesem Schritt weisst du nun, wie man die Netzwerkschnittstelle eines Containers ändert.

6 Pi-Hole

6.1 Pi-Hole Konfiguration

6.1.1 Was ist Pi-Hole?

Pi-hole ist eine Netzwerk-weite Werbeblocker-Software, die als DNS-Sinkhole und optional als DHCP-Server fungiert. Sie ist für den Einsatz auf eingebetteten Geräten mit Netzwerkfähigkeit konzipiert, wie dem Raspberry Pi, kann aber auf jedem Linux-System installiert werden.

Abbildung 40: Terminaldarstellung vom Pi-Hole-Logo

6.2 Installation von Pi-Hole

Um Pi-Hole zu installieren, muss man zuerst in den Container einsteigen. Dazu muss man in der Proxmox-Weboberfläche auf den Container klicken und dann auf «Console». Dort öffnet sich ein Terminal, in dem man die folgenden Befehle ausführen kann:

curl -sSL https://install.pi-hole.net | bash

Abbildung 41: Installation von PiHole auf dem Ubuntu-Container

Dieser Befehl lädt das Installationsskript herunter und führt es aus. Während der Installation werden verschiedene Fragen gestellt, die man beantworten muss.

Abbildung 42: Diese Meldung erscheint, sobald man Pi-Hole installiert. Diese Meldung ist ein Hinweis, dass das Programm einen Ad-Blocker im Netzwerk hinzufügt, welches Pi-Hole ist

Danach folgen weitere Schritte, die unternommen werden müssen:

Abbildung 43: Eine Meldung, dass eine statische IP-Adresse eingerichtet werden sollte, bevor man weiter macht

Abbildung 44: Statische IP für Pi-Hole konfigurieren

Abbildung 45: DNS-Provider konfigurieren

Abbildung 46: Ich habe den DNS-Server als 1 genommen und den Gateway als 2 für die Ausfallsicherheit genommen

Abbildung 47: Installation Weboberfläche und Web Server

Abbildung 48: Eine Darstellung, wie das in der Installation ungefähr aussehen könnte

Abbildung 49: Installation von Pi-Hole

Nach der Installation wird ein Passwort generiert, das man sich am Besten notieren sollte.

6.3 Konfiguration von Pi-Hole

Nach der Installation kann man auf die Weboberfläche von Pi-Hole zugreifen. Dazu gibt man in einem Webbrowser die IP-Adresse des Containers ein, gefolgt von /admin. Also zum Beispiel: http://192.168.1.100/admin

Abbildung 50: Anmeldefenster von Pi-Hole

In der Weboberfläche kann man verschiedene Einstellungen vornehmen, wie zum Beispiel:

  • Blocklisten hinzufügen oder entfernen
  • DNS-Server konfigurieren
  • Statistiken einsehen
  • Einzelne Domains blockieren oder freigeben

Abbildung 51: Pi-Hole Dashboard ohne Statistiken

6.4 Einrichtung als DNS-Server

Um Pi-Hole als DNS-Server zu verwenden, muss man in den Netzwerkeinstellungen der Clients die IP-Adresse des Pi-Hole-Containers als DNS-Server eintragen.

Abbildung 52: Adlist in einer neuen Version von Pi-Hole finden

Abbildung 53: Dieses Bild zeigt, wenn man die Gravitation aktualisiert

Abbildung 54: In den DNS-Einstellungen falsche Einstellungen gewählt, wo sich der Fehler ergeben hat

6.5 Testen der Funktionalität

Um zu testen, ob Pi-Hole korrekt funktioniert, kann man versuchen, eine Webseite aufzurufen, die normalerweise Werbung enthält. Wenn Pi-Hole korrekt konfiguriert ist, sollte die Werbung blockiert werden.

Abbildung 55: Versucht auf eine Casino-Website zu gelangen, nur um zu sehen, dass es nicht funktioniert. Pi-Hole funktioniert somit

6.6 Aktualisierung von Pi-Hole

Um Pi-Hole auf dem neuesten Stand zu halten, sollte man regelmäßig Updates durchführen. Dies kann man über die Weboberfläche oder über die Kommandozeile mit folgendem Befehl tun:

pihole -up

Dieser Befehl aktualisiert Pi-Hole auf die neueste Version.

6.7 Fazit

Pi-Hole ist ein leistungsfähiges Tool zur Blockierung von Werbung und Tracking auf Netzwerkebene. Es bietet eine einfache Möglichkeit, den Netzwerkverkehr zu kontrollieren und zu optimieren. Durch die Installation in einem Proxmox-Container kann Pi-Hole effizient und isoliert betrieben werden.

7 Website auf Server deponieren und Zugriff teilen

Dieser Schritt hat ebenfalls noch Relevanz, weil es darum geht, die Website auf den lokalen Webserver drauf zu laden. Somit können die Polygraphen, die ebenfalls an diesem Projekt dran beteiligt sind, einen Live-Überblick zu erhalten und somit ein Responsive Design für Smartphone und Tablet erstellen können. Somit hat jeder Stress und können früher fertig werden. In diesem Bereich wird einfach dokumentiert, wie ich meine Seite auf den Server deponiert habe. Wir in der LWI haben schon einen funktionierenden Server. Einen Proxmox-Server, um genau zu sein. Die Dokumentation befindet sich hier: LWI-Netz-Server (Doku).docx

7.1 Zugriff auf dem Server gewähren und entsprechende Vorbereitungen treffen

Zuerst muss ich mir wieder Zugriff auf den Proxmox-Server verschaffen, damit ich Einstellungen vornehmen kann. Ich werde dann die Server-Version von Ubuntu draufladen, damit die virtuelle Maschine auf mehr Ressourcen auf rechnerische Leistung hat. Somit kann der Webserver dann besser funktionieren. Dabei würde ich dann ein entsprechendes ISO-Image der Ubuntu-Server-Version draufladen, um damit dann starten zu können.

ISO-Images hochladen

Abbildung 66: Gehe auf "local (Servername)" und dann auf "ISO-Images", wo ISO-Files drauf sind. Gehe auf "Upload", um ein weiteres ISO hochzuladen

Sobald das schnell erledigt wurde, würde ich dann eine neue VM erstellen und dann wars das fürs erste. Wie man eine neue virtuelle Maschine in Proxmox erstellt, dokumentierte ich ebenfalls bei der Proxmox-Dokumentation. Wie man Ubuntu-Server einrichtet, findest du auf dieser Dokumentation: https://ubuntu.com/tutorials/install-ubuntu-server#1-overview. Ubuntu-Server ist im Prinzip anders als die Desktop Variante, da bei der Server-Version mehr mit der Kommandozeile (Bash) gearbeitet wird.

Neue VM erstellt

Abbildung 67: Somit wurde die neue virtuelle Maschine für Ubuntu-Server erstellt

7.2 Webserver auf lokalem Proxmox Server konfigurieren

Empfehlung: Verwendet SSH auf eurem Host-Rechner, um den ganzen Aufwand zu ersparen.

Damit ich von meinem Host-Laptop auf den Ubuntu-Server zugreifen kann, muss ich zuerst das Terminal auf meinem Computer öffnen. Falls du ein Mac oder Linux Rechner haben solltest, müsste eine vorhandene Applikation namens «Terminal» geben. Öffne dieses Programm. Dann melde dich über das Terminal mit SSH auf den Zielrechner. Bei mir wäre das in dem Fall «ssh lwi_webserver@192.168.1.5». Danach gib ich das Passwort der virtuellen Maschine ein und fange dann mit der spannenden Mission fort.

SSH-Anmelung über Powershell in Windows

Abbildung 68: SSH-Anmelung über Powershell in Windows

Nun ist es an der Zeit einen echten Webserver zu installieren. Für «Linux-Ebene» entscheide ich mich fürs Programm «Apache».

  1. Apache Webserver installieren:

sudo apt update
sudo apt install apache2 -y
Apache Webserver wird installiert

Abbildung 69: Der Apache Webserver wird über das Terminal installiert

  1. Apache-Dienst starten und aktivieren:

sudo systemctl start apache2
sudo systemctl enable apache2
Apache Autostart konfigurieren

Abbildung 70: Der Apache Webserver wurde nun für den Autostart konfiguriert, damit jedes Mal, wenn der Server neugestartet werden sollte, das Programm Apache automatisch neugestartet werden soll.

  1. Ein Verzeichnis für Ihre Website erstellen:
sudo mkdir -p /var/www/html/christoph-haas
Ordner für Website erstellen

Abbildung 71: Ordner für meine Website wurde für Apache erstellt

  1. Entsprechende Berechtigungen setzen:
sudo chown -R www-data:www-data /var/www/html/christoph-haas
Ordner-Berechtigungen ändern

Abbildung 72: Die entsprechenden Berechtigungen wurde nun für den Ordner meiner Website gesetzt

  1. Website vom Windows Laptop auf den Server übertragen (Mit SCP):

Für den nächsten Schritt würde ich SCP verwenden, um den Ordner meiner Website nun auf den Linux-Server übertragen zu können. Ich erstelle dafür zuerst einen neune Ordner, wo die Dateien transferiert werden und danach zu diesem Verzeichnis kopiert werden: «/var/www/html/christoph-haas».

  1. Als erstes, suche den Ordner/Datei, die du übertragen möchtest.
Website-Ordner in Downloads

Abbildung 73: Zuerst lokalisiere ich den Ordner, den ich gerne übertragen möchte. In diesem Fall ist der im Downloads-Ordner gespeichert

  1. Erstelle auf dem Linux-Server einen Ordner oder wählen einen anderen Ordner, wo du die Datei speichern möchtest, die du von deinem Laptop transferieren möchtest.
Ordner bei WebServer VM erstellt

Abbildung 74: Auf dem Linux-Server würde ich zum Verzeichnis «/home/lwi_webserver/» wechseln, da dort der aktuelle User angemeldet ist und das sein Verzeichnis ist.

  1. Ordner auf den Server übertragen:
Apache SCP Übertragung

Abbildung 75: Verwende diesen rotmarkierten Befehl, um eine Datei auf den entsprechenden Pfad zu kopieren. Dies habe ich mit dem Ordner meiner Website gemacht und es gäbe noch mehr Dateien, die alle erfolgreich übertragen wurden.

  1. Der Website-Ordner auf den HTML-Ordner von «Apache» verschieben:

In Linux über das Terminal einen Ordner zu verschieben, sollte man kennen, wenn man sich die Grundlagen zu Linux anschaut. Dies macht man so:

Ordner Verschieben

Abbildung 76: Zuerst schaue ich mit "ls" nach, ob der Ordner auch wirklich im Verzeichnis "/home/lwi_webserver/" ist. Ja, ist es. Anschliessend übertrage ich den Ordner "Christophs Portfolio_V2" in den Ordner für meine Website, welches der Webserver Apache dann verwenden wird.

  1. Eine Virtual-Host-Konfiguration erstellen:

Ich konfiguriere anschliessend einen Virtual-Host und erstelle eine Text-Datei, indem ich den Befehl “sudo nano /etc/apache2/sites-available/Christoph-haas.conf” eingebe. So sieht dann der anschliessende Inhalt aus:

Virtual-Host konfigurieren

Abbildung 77: Ich erstelle somit eine Konfigurationsdatei für meine Seite und auf dem Bild sieht man, was alles drin stehen muss. Elemente wie Fehler-Log-Dateien und auch, wo man die Website finden kann.

Füge deinen Inhalt je nach Bedarf an, aber es sollte in die Richtung gehen, wie es in Abbildung 52 aussehen sollte. Speichere dann die Datei mit «Ctrl+X zum beenden, dann Y für Yes und Enter»

  1. Den neuen Virtual Host aktivieren, den Standard-Host deaktivieren und neustarten:

sudo a2ensite christoph-haas.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2
Apache Status prüfen

Abbildung 78: Habe nun die restlichen Konfigurationen übernommen und somit den Apache-Dienst neugestartet

  1. Firewall konfigurieren, um HTTP-Verkehr zuzulassen:
sudo ufw allow 80/tcp
Port 80 erlauben

Abbildung 79: Der Port 80 für HTTP-Verkehr konnte nun zugelassen werden

Nun können andere Personen im selben Netzwerk auf meine Webseite zugreifen, indem sie die IP-Adresse des Servers in ihrem Webbrowser eingeben. Diese wird dann mit einem Domainnamen (DNS) umkonfiguriert, damit wenig bis keine Komplikationen entstehen. Ich werde nun einen DNS-Eintrag erstellen.

  1. Troubleshooting:

Es stellte sich heraus, dass ich einen Fehler machte und es deswegen nicht ging. Hier liste ich Dinge auf, die ich tat, um mein Problem zu lösen:

  1. Website-Ordner verschieben und umbenennen:
Website-Ordner verschoben

Abbildung 80: Ich verschob meinen Website-Ordner in einen anderen Ordner und benannte den um, damit weniger Verwirrung entsteht.

  1. Erstelle die neue Conf-Datei:
sudo nano /etc/apache2/sites-available/Christophs-Portfolio.conf
  1. Füge folgenden Inhalt in die Datei ein:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName christophs-portfolio.local
    DocumentRoot /var/www/html/christoph-haas
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  1. Speichere und schließe die Datei (STRG+X, dann Y, dann Enter).
  1. Aktiviere den neuen Virtual Host:
sudo a2ensite Christophs-Portfolio.conf
  1. Deaktiviere den Standard-Virtual Host:
sudo a2dissite 000-default.conf
  1. Überprüfe die Apache-Konfiguration auf Fehler:
sudo apache2ctl configtest
  1. Starte Apache neu:
sudo systemctl restart apache2

Um von einem externen Gerät aus zu testen:

  1. Füge auf dem externen Gerät einen Eintrag in die Hosts-Datei hinzu:
192.168.1.5 christophs-portfolio.local

(Ersetze 192.168.1.5 durch die tatsächliche IP-Adresse deines Servers)

  1. Öffne einen Webbrowser auf dem externen Gerät und gib ein:
http://christophs-portfolio.local

Wenn alles korrekt konfiguriert ist, solltest du nun deine Website sehen.

DNS für Website konfigurieren

  1. Die Forward-Lookup-Zone öffnen mit «sudo nano /etc/bind/db.lwi.intra» und dann in der letzten Zeile diese Änderung machen:
DNS für Website konfigurieren

Abbildung 81: In diesem Bild erkennt man, dass der neuste Eintrag erkannt wurde und kein Fehler aufzeigt

  1. Datei mit Ctrl + X + Y + Enter schliessen
DNS aktualisieren

Abbildung 82: Aus der db.lwi.intra-Datei rausgegangen und "checkconf", sowie "checkzone" ausgeführt, ob alle mit der Datei in Ordnung ist, bevor man mit dem nächsten Schritt weiter macht

  1. Den Befehl «sudo named-checkconf» und «sudo named-checkzone lwi.intra /etc/bind/db.lwi.intra» eingeben:
  1. Bind9 neustarten mit «sudo systemctl restart bind9»:
DNS Status testen

Abbildung 83: Der Bind9-Dienst (DNS-Dienst bei Linux) neugestartet. Scheint kein Problem zu haben

  1. Der neue Eintrag sollte nun aktiv sein. Überprüft mit dem Befehl «dig christoph-haas.lwi.intra @localhost»:

7.3 Webserver Einstellungen vornehmen

  1. Konfigurationsdatei erstellen:
  • Erstelle eine neue Konfigurationsdatei für deine Website im Verzeichnis /etc/apache2/sites-available/. Benenne die Datei nach deiner Domain (z.B. christoph-haas.net.conf).
  • Verwende sudo nano /etc/apache2/sites-available/christoph-haas.net.conf, um die Datei zu erstellen und zu bearbeiten.
  1. Virtuellen Host konfigurieren:
  • Füge in der Konfigurationsdatei die folgenden Zeilen hinzu, um einen virtuellen Host für deine Website zu definieren:

<VirtualHost *:80>
    ServerName christoph-haas.net
    ServerAlias www.christoph-haas.net
    DocumentRoot /var/www/html/christoph-haas.net/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • Passe ServerName, ServerAlias und DocumentRoot an deine Domain und dein Website-Verzeichnis an.
  1. Website aktivieren:
  • Aktiviere die neue Website-Konfiguration mit dem Befehl sudo a2ensite christoph-haas.net.conf.
  1. Website-Dateien verschieben:
  • Verschiebe deine Website-Dateien in das im DocumentRoot angegebene Verzeichnis. In deinem Fall:

sudo mv "/var/www/html/Christophs_Portfolio_V2" "/var/www/html/christoph-haas.net"
cd /var/www/html/christoph-haas.net/
mkdir public_html
mv index.html public_html/
  1. Apache neu laden/starten:
  • Lade die Apache-Konfiguration neu, um die Änderungen zu übernehmen: sudo systemctl reload apache2 oder starte Apache neu: sudo systemctl restart apache2.
  1. Dateiberechtigungen anpassen:
  • Stelle sicher, dass die Website-Dateien die richtigen Berechtigungen haben, damit Apache sie lesen kann:

sudo chmod -R 755 /var/www/html/christoph-haas.net/assets
sudo chmod -R 755 /var/www/html/christoph-haas.net/projects
sudo chmod 644 /var/www/html/christoph-haas.net/public_html/index.html
  1. Rewrite-Modul aktivieren (optional):
  • Wenn deine Website URL-Rewriting benötigt (z.B. für suchmaschinenfreundliche URLs), aktiviere das rewrite-Modul: sudo a2enmod rewrite.
  1. Fehlerbehebung:
  • Überprüfe die Apache-Fehlerprotokolle auf eventuelle Probleme: sudo tail -f /var/log/apache2/error.log.
  1. Website testen:
Apache Standardseite

Abbildung 84: DNS funktioniert zwar als Eintrag, aber ich muss beim Server noch ein paar Änderungen vornehmen, damit meine Website dann ganz angezeigt wird.

Öffne deine Website in einem Browser, um sicherzustellen, dass sie korrekt angezeigt wird.

8 Samba File-Server konfigurieren

Ein Samba-Dienst im Netzwerk ermöglicht es, einen Linux-File-Server zu erstellen, auf dem Benutzer Dateien speichern und abrufen können. Diese Anleitung erklärt, wie man in Linux ein Verzeichnis erstellt, Samba als File-Server konfiguriert und Benutzern Berechtigungen für Freigaben erteilt.

8.1 Samba installieren

Falls Samba noch nicht installiert ist, kann es mit folgendem Befehl installiert werden:

sudo apt-get install samba samba-common smbclient cifs-utils

Der Status des Samba-Dienstes lässt sich mit diesem Befehl überprüfen:

sudo service smbd status
Installation des Samba-Dienstes über das Terminal

Abbildung 85: Installation des Samba-Dienstes über das Terminal

8.2 Verzeichnis erstellen

Ein Ordner für Lernende kann wie folgt erstellt werden:

sudo mkdir -p /srv/samba/lernende
sudo chown nobody:nogroup /srv/samba/lernende /
Ordner erstellen und Berechtigungen setzen

Abbildung 86: Die Befehle, die ausgeführt wurden, um den Ordner zu erstellen und so umzukonfigurieren, dass keine Gruppe Besitzer ist

8.3 Samba-Dienst konfigurieren

Die Samba-Konfigurationsdatei kann mit folgendem Befehl bearbeitet werden:

sudo nano /etc/samba/smb.conf

Globale Konfiguration:

Globale Samba-Einstellungen

Abbildung 87: Die Konfiguration für die Global-Einstellungen

8.4 Lernende-Freigabe erstellen

Am Ende der smb.conf-Datei kann folgende Konfiguration für die Lernenden-Freigabe hinzugefügt werden:

Lernende-Freigabe erstellen

Abbildung 88: Konfiguration für die Freigabe des Lernenden-Ordners

8.5 Benutzer und Gruppen erstellen

Benutzer erstellen und zu Gruppen hinzufügen:

Gruppen erstellen und Benutzer hinzufügen

Abbildung 89: Erstellung von Gruppen und den schon vorhandenen Benutzer in diese Gruppe hinzugefügt

Benutzer zur Samba-Datenbank hinzufügen:

sudo smbpasswd -a (Benutzername)
Samba-Passwort definieren

Abbildung 90: Benutzer zu "smbpasswd", also zur Samba-Datenbank hinzugefügt

Besitzer für den freigegebenen Ordner ändern:

Rechte und Besitzer ändern

Abbildung 91: Rechte und Besitzer ändern für den Lernenden-Ordner

Samba-Dienst neustarten:

sudo systemctl restart smbd
Status von Samba überprüfen

Abbildung 92: Status von Samba überprüfen, ob alles einwandfrei funktioniert (Ja, tut es).

8.6 Mit einem anderen Rechner zugreifen

Auf einem Windows-Rechner:

  1. File-Explorer öffnen
  2. Rechtsklick auf "Netzwerk" > "Netzlaufwerk verbinden"
  3. Servername oder IP-Adresse eingeben: \\LWI-LINUX-VM1 oder \\192.168.1.3
  4. Benutzername und Passwort eingeben
Verbinden mit einem Netzlaufwerk im Windows-Explorer

Abbildung 93: Verbinden mit einem Netzlaufwerk im Windows-Explorer

Den Server über Windows finden, um auf die Lernende-Freigabe zuzugreifen

Abbildung 94: Den Server über Windows finden, um auf die Lernende-Freigabe zuzugreifen

Anmeldefenster für den Zugriff auf die Freigabe

Abbildung 95: Dieses Fenster taucht auf, wenn man auf das Verzeichnis zugreift.

Schritte zum Verbinden mit dem Samba-Laufwerk unter Windows

Abbildung 96: Schritte zum Verbinden mit dem Samba-Laufwerk unter Windows

Nach erfolgreicher Authentifizierung sollte die "Lernenden-Freigabe" sichtbar und zugänglich sein.

Samba-Freigabe Berechtigungstest

Abbildung 97: Überprüfung des Zugriffs und der Berechtigungen auf das Samba-Verzeichnis

Diese Konfiguration ermöglicht einen einfachen und direkten Zugriff auf die Samba-Freigabe von jedem Windows-Computer im selben Netzwerk aus.

Berechtigungen erklärt

Um Berechtigungen für Ordner zu setzen, wird oft die numerische Notation verwendet:

Zahl Bedeutung Berechtigungen
0 Keine Rechte ---
1 Nur Ausführen --x
2 Nur Schreiben -w-
3 Schreiben und Ausführen -wx
4 Nur Lesen r--
5 Lesen und Ausführen r-x
6 Lesen und Schreiben rw-
7 Alle Rechte rwx

Beim Befehl sudo chmod -R 2770 /srv/samba/lernende bedeutet:

  • 2: Setzt das SGID-Bit (Set Group ID)
  • 7: Berechtigungen für den Besitzer (rwx - Lesen, Schreiben, Ausführen)
  • 7: Berechtigungen für die Gruppe (rwx - Lesen, Schreiben, Ausführen)
  • 0: Berechtigungen für andere (--- - Keine Rechte)

Diese Einstellungen gewährleisten, dass der Ordner für die Lernenden-Gruppe vollständig zugänglich ist.

Berechtigungen überprüfen

Nun wird getestet, ob es möglich ist, Daten auf dieser Freigabe abzuspeichern.

Somit funktionieren die Berechtigungen für diese Freigabe für die Lernende Gruppe.

9 Schlussworte

Ich war sehr froh, an diesem Projekt teilnehmen zu können. Das Serverprojekt hatte mir gezeigt, wie man einen Server in ein Netzwerk integriert, der alle notwendigen Dienste zur Verfügung stellt, die die Clients benötigen. Mit Proxmox lernte ich auch, wie man die ganzen Serverdienste wie DHCP, DNS, Ad-Blocker und Samba mit Linux-Befehlen einrichtet. Außerdem habe ich gelernt, wie man ein Synology NAS als SMB einbindet. Ich hoffe, dass dieses Handbuch für einen Nachfolger oder einen anderen Studenten, der genau dasselbe oder ein ähnliches Serverprojekt mit einer Linux-Umgebung machen muss, nützlich ist und alles verständlich erscheint.