DE | EN

Vorwort

Dieser Guide handelt um das Einrichten einer virtuellen OpenWRT-VM auf einem Proxmox-Server.

Damit kannst du VLAN-Netzwerke erstellen und verwalten, ohne dass ein Layer-3-Switch oder eine VLAN-fähige physische Firewall vorhanden ist.

Damit dies funktioniert, musst du zuerst die Schritte in diesem Guide befolgen: https://prox.guide/de/vlans.

Downloads

Hier ist der Download-Link:

OpenWRT: https://downloads.openwrt.org/releases/.

Wähle die neueste Version, in diesem Fall 23.05.4, und navigiere dann zu: 23.05.4/targets/x86/64/openwrt-23.05.4-x86-64-generic-ext4-combined-efi.img.gz.

Klicke mit der rechten Maustaste auf den Link und kopiere die Download-URL, damit du die Datei direkt auf dem Proxmox herunterladen kannst.

Neue VM erstellen

Erstellen eine neue VM ohne Festplatten oder Installationsmedium. In diesem Fall nennen wir sie DMZ-FW1.

Aktiviere Qemu Agent und füge einen EFI-Speicher hinzu. (Entferne den Haken von Pre-Enroll keys)

Die von mir verwendete Hardwarekonfiguration ist OVMF (UEFI), 1440fx, 1024 MB RAM, 1 CPU-Kern.

Herunterladen der Image-Datei

Verbinde dich mit der Proxmox-Konsole und geben den folgenden Befehl ein:

Befehl: wget https://downloads.openwrt.org/releases/23.05.4/targets/x86/64/openwrt-23.05.4-x86-64-generic-ext4-combined-efi.img.gz. (Verwende die kopierte URL.)

Dann extrahiere die Image-Datei:

Befehl: gunzip openwrt-23.05.4-x86-64-generic-ext4-combined-efi.img.gz.

VM Firewall

Image in VM importieren

Führe nun den folgenden Befehl aus, um die Festplatte in die VM zu importieren:

Befehl: qm importdisk 100 openwrt-23.05.4-x86-64-generic-ext4-combined.img local-zfs. (Ersetze die VM-ID und das Speicherziel.)

qm importdisk

Du kannst nun die neue Festplatte in der VM-Hardwarekonfiguration sehen:

VM Hardware

Doppelklicke nun auf die Unused Disk 0 und schließe sie als scsi0 an:

Attach disk

Bootreihenfolge ändern

Navigiere zu Optionen und ändere die Startreihenfolge:

Boot order

Klicke dann auf OK.

Boot order

Verwaltungs-IP konfigurieren

Klicken nun auf Console und starte die VM zum ersten Mal.

Nach dem Booten siehst du einen Bildschirm wie diesen:

OpenWRT boot

Drücke enter in der Konsole, um eine Root-Shell zu öffnen.

OpenWRT shell

Gebe Folgendes ein, um die Netzwerkkonfiguration zu öffnen:

Befehl: vi /etc/config/network.

Drücke i um in den insert mode zu gelangen. (Der Modus wird unten links angezeigt).

Verwende dann die Pfeiltasten, um die Netzwerkkonfiguration vom lan-Interface festzulegen.

In diesem Fall verwenden wir folgende Konfiguration:

Option Wert
ipaddr 10.0.20.254
netmask 255.255.255.0
gateway 10.0.20.1
dns 1.1.1.1
OpenWRT network config

Drücke ESC, um den insert mode zu verlassen.

Drücke dann ":" und tippe "wq" ein, drücke dann enter.

Starte nun das Netzwerk neu:

Befehl: /etc/init.d/network restart:

OpenWRT network restart

Du kannst nun versuchen, auf die Web-Oberfläche zuzugreifen, indem du auf: https://<deine-ip>/ gehst.

Überspringe die Zertifikatswarnung. Du solltest dann eine Anmeldung wie diese sehen:

OpenWRT login

Klicke auf Log in, da wir noch kein Passwort festgelegt haben.

Klicke auf Go to password configuration und setze ein Passwort.

OpenWRT set password

IPv6 deaktivieren

Wir möchten nicht, dass IPv6 mit unserem Netzwerk interagiert, klicke also auf Network und navigiere zu Interfaces:

OpenWRT interfaces

Klicke auf Devices und dann Configure für eth0:

OpenWRT devices

Setze Enable IPv6 auf disable, und klicke auf Save:

Disable v6

Klicke auf Save & Apply.

Qemu Guest Agent installieren

Klicke auf System und dann auf Software.

Du solltest einen Bildschirm wie diesen sehen:

OpenWRT software

Klicke auf Update lists....

Dann auf Dismiss und du solltest die verfügbaren Pakete sehen.

Suche nach qemu-ga und installiere es:

Qemu GA
Qemu GA

Gehe zurück zur OpenWRT-Konsole und führe folgendes aus, um neuzustarten: reboot.

wan Interface anlegen

Navigiere zu Network und dann Interfaces:

Network device

Dann klicke auf Add new interface.

Nenne es wan und stelle das Protokoll auf Static address ein, stelle device außerdem auf Bridge und setze es in die Firewall-Zone wan:

OpenWRT interfaces

Konfigurieren vom DMZ-Firewall-Interface

Wir erstellen eine neue DMZ mit dem Namen lab.

Unsere DMZ basiert auf dem VLAN 50.

Das DMZ-Netzwerk ist 192.168.0.0/24

Gehe zur Hardware von der Firewall-VM und füge ein neues Network device mit dem VLAN 50 hinzu:

Network device

Super, du solltest jetzt zwei Netzwerkgeräte sehen:

Network device

Für jede demilitarisierte Zone benötigst du ein Network device auf der VM mit dem entsprechenden VLAN.

Interface in OpenWRT erstellen

Gehe zurück zur Web-Oberfläche von OpenWRT und navigiere dann zu Interfaces.

Klicke auf Add new interface:

Add new interface

Legen als Namen, den Namen der Zone fest, in diesem Fall Lab, und lege als Protokoll Static address fest.

Wähle auch das neue Network device:

Add new interface

Klicke Create interface.

Konfiguriere nun folgende Elemente:

General Settings

IPv4 address IPv4 netmask
192.168.0.1 255.255.255.0

Firewall Settings

Create firewall-zone
custom: lab

Klicke auf Save & Apply um das neue Interface anzulegen.

Add new interface

Konfigurieren von Firewallzonen

Klicke auf Network und dann auf Firewall:

OpenWRT firewall

Stelle die Standard-Output und -Input auf Reject ein, und ändere sie für die anderen Zonen auf reject, außer für wan.

Lösche den Zoneneintrag lan => wan, gehe dann zu Network und Interfaces:

OpenWRT firewall

Bearbeite das lan-Interface. Erstelle eine lan-Zone, indem du auf der Registerkarte Firewall Settings eine Zone mit dem Namen lan einstellst:

OpenWRT firewall

Gehe zurück zu Network und dann zu Firewall.

Setze Input und Output zu accept für wan.

Wenn alles gut ist, sollte es so aussehen:

OpenWRT firewall

Klicke auf Save & Apply.

"Traffic rules" anlegen

Klicke auf Network, dann Firewall und dann Traffic rules.

Lösche alle Standardregeln, da wir unsere eigenen Regeln erstellen werden:

Traffic rules

Block local lan

Wir möchten nicht, dass unsere demilitarisierten Zonen auf unser LAN zugreifen.

Klicke Add, dann konfiguriere wie folgt: (Ersetze das Netzwerk in Destination address)

Traffic rules

Lab Internet

Wir möchten von unserer lab-Zone aus auf das Internet zugreifen können.

Klicke Add und konfiguriere wie folgt:

Traffic rules

Wenn du über mehrere Zonen einrichtest, solltest du auch für diese eine Internet Traffic Rule konfigurieren.

Klicke auf Save & Apply.

Eine Portweiterleitung einrichten (Port forwarding)

Wir möchten von unserem Hauptnetzwerk aus auf unsere lab-IP zugreifen, hierfür verwende ich die IP 10.0.20.200.

Navigiere zu Network, dann zu Interfaces und bearbeite lan.

Klicke neben der IPv4-Adresse auf "...".

Gebe eine verfügbare IP-Adresse ein:

Add interface ip

Super, jetzt klicke Save und dann auf Save & Apply.

Navigiere nun zu Network, dann zu Firewall und anschließend zu Port Forwards:

Port forwards

Klicke auf Add.

Du kannst diese Portweiterleitung auf bestimmte Ports beschränken. Wir werden jedoch alle Ports von 10.0.20.200 auf 192.168.0.2 umleiten.

192.168.0.2 wird später unser Testclient win1 sein.

Konfiguriere die Portweiterleitung so, dass sie wie folgt aussieht:

Port forward win1

Wähle auf der Registerkarte Advanced Settings die IP-Adresse aus, die wir gerade unserem LAN-Interface zugewiesen haben.

Port forward win1

Klicke auf Save, und dann auf Save & Apply.

Unsere demilitarisierte Zone testen

Tests sind wichtig. Teste die Konfigurationen immer, um unbeabsichtigten Zugriff zu vermeiden.

Ich erstelle eine neue VM auf unserem Proxmox und installiere Windows 11 darauf.

Während der VM-Erstellung habe ich die Netzwerkkarte auf VLAN 50 eingestellt:

VLAN in network

Hier ist die Netzwerkkonfiguration innerhalb der VM:

VM network

Mit einem Ping können wir bestätigen, dass wir Internet haben:

VM network ping

Wir können auch bestätigen, dass wir keinen Zugriff auf unser lokales LAN haben, indem wir einen Server aus dem LAN pingen, in diesem Fall den Proxmox-Server:

VM network ping

Ich werde OpenSSH-Server auf dem Windows 11-Computer installieren, damit ich unsere Port forwarding-Regel testen kann.

Danach gehe ich zu unserer Proxmox-Serverkonsole und melde mich per SSH bei unserer Windows 11-VM an, mit 10.0.20.200:

Port forward
Port forward

Wie du siehst, funktioniert es. Wir können auf unsere VM zugreifen, die VM kann jedoch nicht auf unser lokales LAN zugreifen.

Du kannst weitere demilitarisierte Zonen erstellen, indem du deiner VM weitere Netzwerkschnittstellen hinzufügst.

Notizen

  • Verwende für jedes VLAN immer ein anderes, ungenutztes Netzwerk.
  • Teste deine Konfigurationen immer für optimale Sicherheit.
  • Wenn du einen Layer-3-Switch hast, kannst du den Port des Proxmox-Servers und andere Ports auf dem Switch mit den VLANs taggen und mit physischen Geräten verbinden.
  • Du kannst die OpenWRT-Image-Datei aus dem Proxmox-Verzeichnis /root entfernen, wenn du sie nicht mehr benötigst.

🎉 Herzlichen Glückwunsch, du kannst jetzt virtuelle Maschinen von deinem Netzwerk isolieren.