Willkommen zu dieser detaillierten Anleitung, die Ihnen zeigt, wie Sie öffentliche IPs (Public IPs) direkt an Ihre Proxmox virtuellen Maschinen (VMs) über Ihre OPNsense Firewall weiterleiten können. Dies ist eine gängige Konfiguration für Umgebungen, in denen VMs direkt über das Internet erreichbar sein müssen, beispielsweise für Webserver, Mailserver oder andere Dienste, die eine dedizierte öffentliche IP-Adresse benötigen.
Warum diese Konfiguration?
Die Weiterleitung öffentlicher IPs an Proxmox VMs bietet mehrere Vorteile:
- Direkte Erreichbarkeit: VMs sind direkt über das Internet erreichbar, ohne komplexe NAT-Konfigurationen.
- Performance: Eliminierung von NAT kann die Netzwerkleistung verbessern, da Pakete nicht übersetzt und weitergeleitet werden müssen.
- Flexibilität: Ermöglicht die Verwendung mehrerer öffentlicher IPs, wodurch verschiedene Dienste auf unterschiedlichen VMs mit ihren eigenen dedizierten IPs betrieben werden können.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie folgende Voraussetzungen erfüllen:
- Ein funktionierender Proxmox Server.
- Eine installierte und konfigurierte OPNsense Firewall.
- Mindestens eine zugewiesene öffentliche IP-Adresse von Ihrem Internet Service Provider (ISP). Idealerweise ein IP-Adressbereich.
- Grundlegendes Verständnis von Netzwerkkonzepten wie Subnetting, Routing und Firewalls.
Schritt 1: Netzwerk-Konfiguration in Proxmox
Zuerst müssen wir die Netzwerkkonfiguration in Proxmox anpassen. Wir erstellen eine Bridge, die die Kommunikation zwischen den VMs und der OPNsense Firewall ermöglicht. Diese Bridge wird dann an die VM weitergegeben, die eine öffentliche IP erhalten soll.
- Erstellen einer Bridge in Proxmox: Loggen Sie sich in die Proxmox Web GUI ein. Gehen Sie zu Ihrem Proxmox-Host (nicht zum Cluster, falls vorhanden). Wählen Sie „Netzwerk” im Menü. Klicken Sie auf „Create” und wählen Sie „Linux Bridge”.
- Bridge-Konfiguration: Geben Sie der Bridge einen Namen, z.B. `vmbr1`. Wichtig ist, dass Sie *keine* IP-Adresse für diese Bridge vergeben. Lassen Sie das Feld „IPv4/CIDR” leer. Stellen Sie sicher, dass „Autostart” aktiviert ist. Wählen Sie *kein* physikalisches Interface (NIC) für diese Bridge aus. Die Bridge soll ausschließlich für die Kommunikation mit der OPNsense Firewall verwendet werden. Klicken Sie auf „Create”.
- Netzwerk-Konfiguration anwenden: Klicken Sie oben rechts auf „Apply Configuration”.
Schritt 2: OPNsense Interface-Konfiguration
Nun konfigurieren wir ein Interface in OPNsense, das mit der Proxmox Bridge verbunden ist. Dieses Interface dient als Gateway für die VMs mit öffentlichen IPs.
- Interface hinzufügen: Loggen Sie sich in die OPNsense Web GUI ein. Gehen Sie zu „Interfaces” -> „Assignments”. Suchen Sie nach einem ungenutzten Netzwerk-Interface (z.B. `opt1`, `opt2`, etc.). Klicken Sie auf das „+” Symbol, um das Interface zu aktivieren.
- Interface-Konfiguration: Gehen Sie zu „Interfaces” -> „[Ihr neues Interface Name]” (z.B. „OPT1”). Aktivieren Sie das Interface, indem Sie das Häkchen bei „Enable Interface” setzen. Geben Sie dem Interface eine aussagekräftige Beschreibung, z.B. „Proxmox Public IPs”.
- IP-Konfiguration: Wählen Sie als „IPv4 Configuration Type” die Option „Static IPv4”. Geben Sie dem Interface eine IP-Adresse aus Ihrem öffentlichen IP-Bereich. Dies ist die Gateway-Adresse für die VMs. Vergeben Sie die erste nutzbare IP-Adresse aus Ihrem Block. Zum Beispiel, wenn Ihr IP-Block `203.0.113.0/29` ist, geben Sie dem Interface die IP-Adresse `203.0.113.1`. Geben Sie als „IPv4 Upstream Gateway” die IP-Adresse Ihres ISPs ein. Wenn Sie keine separate Gateway-Adresse haben, lassen Sie dieses Feld leer. Setzen Sie die Subnetzmaske korrekt. Im Beispiel `/29` entspricht das `255.255.255.248`.
- Speichern und Anwenden: Klicken Sie auf „Save” und dann auf „Apply Changes”.
Schritt 3: Firewall-Regeln in OPNsense
Damit die VMs über die OPNsense Firewall mit dem Internet kommunizieren können, müssen wir entsprechende Firewall-Regeln erstellen.
- Firewall-Regeln erstellen: Gehen Sie zu „Firewall” -> „Rules” -> „[Ihr neues Interface Name]” (z.B. „OPT1”).
- Regel für ausgehenden Traffic (Outbound): Klicken Sie auf das „+” Symbol, um eine neue Regel zu erstellen. Stellen Sie sicher, dass „Action” auf „Pass” steht. Wählen Sie als „Interface” Ihr neu konfiguriertes Interface (z.B. „OPT1”). Wählen Sie als „Protocol” „Any”. Wählen Sie als „Source” „Network” und geben Sie das Subnetz ein, das Sie für Ihre VMs verwenden werden (z.B. `203.0.113.0/29`). Wählen Sie als „Destination” „Any”. Geben Sie eine Beschreibung für die Regel ein, z.B. „Allow outbound traffic from Proxmox VMs”. Klicken Sie auf „Save” und dann auf „Apply Changes”.
- Regel für eingehenden Traffic (Inbound) – Optional: Wenn Sie bestimmte Ports für eingehenden Traffic freigeben möchten, erstellen Sie separate Regeln. Zum Beispiel, um HTTP (Port 80) und HTTPS (Port 443) Traffic zu erlauben, erstellen Sie zwei Regeln. Stellen Sie sicher, dass „Action” auf „Pass” steht. Wählen Sie als „Interface” Ihr neu konfiguriertes Interface (z.B. „OPT1”). Wählen Sie als „Protocol” „TCP”. Wählen Sie als „Source” „Any”. Wählen Sie als „Destination” „Single host or alias” und geben Sie die öffentliche IP-Adresse der VM ein, für die Sie den Port freigeben möchten. Geben Sie den Zielport im Feld „Destination port range” ein. Für HTTP geben Sie „80” ein, für HTTPS geben Sie „443” ein. Geben Sie eine Beschreibung für die Regel ein, z.B. „Allow HTTP traffic to VM1”. Klicken Sie auf „Save” und dann auf „Apply Changes”. Wiederholen Sie diesen Schritt für alle Ports, die Sie freigeben möchten.
Schritt 4: VM-Konfiguration in Proxmox
Der letzte Schritt ist die Konfiguration der Netzwerkkarte in der Proxmox VM, um die öffentliche IP-Adresse zu verwenden.
- VM Konfiguration bearbeiten: Stoppen Sie die VM, der Sie eine öffentliche IP zuweisen möchten. Gehen Sie in der Proxmox Web GUI zu der VM und wählen Sie „Hardware”.
- Netzwerkgerät hinzufügen/bearbeiten: Wenn die VM noch keine Netzwerkkarte hat, klicken Sie auf „Add” und wählen Sie „Network Device”. Wenn bereits eine Netzwerkkarte existiert, doppelklicken Sie darauf, um sie zu bearbeiten.
- Netzwerk-Konfiguration: Wählen Sie als „Bridge” die Bridge aus, die Sie in Schritt 1 erstellt haben (z.B. `vmbr1`). Entfernen Sie das Häkchen bei „Firewall”. Das ist wichtig, da die Firewall-Regeln bereits in OPNsense definiert sind.
- VM starten: Starten Sie die VM.
- IP-Adresse in der VM konfigurieren: Loggen Sie sich in die VM ein. Konfigurieren Sie die Netzwerkkarte der VM mit folgenden Informationen:
- IP-Adresse: Eine freie IP-Adresse aus Ihrem öffentlichen IP-Bereich (z.B. `203.0.113.2`).
- Subnetzmaske: Die Subnetzmaske Ihres öffentlichen IP-Bereichs (z.B. `255.255.255.248`).
- Gateway: Die IP-Adresse des OPNsense Interfaces, das Sie in Schritt 2 konfiguriert haben (z.B. `203.0.113.1`).
- DNS-Server: Konfigurieren Sie die DNS-Server Ihrer Wahl (z.B. die von Google: `8.8.8.8` und `8.8.4.4`).
Die genaue Konfiguration hängt vom Betriebssystem der VM ab. In den meisten Linux-Distributionen können Sie die Netzwerk-Konfiguration über die Kommandozeile mit Tools wie `ip`, `ifconfig` oder `nmcli` vornehmen. In Windows können Sie die Netzwerk-Einstellungen über die Systemsteuerung konfigurieren.
Schritt 5: Testen der Konfiguration
Nachdem Sie alle Schritte durchgeführt haben, ist es wichtig, die Konfiguration zu testen.
- Ping-Test: Pingen Sie die öffentliche IP-Adresse der VM von einem externen Rechner aus. Wenn der Ping erfolgreich ist, bedeutet das, dass die VM über das Internet erreichbar ist.
- Port-Test: Wenn Sie Firewall-Regeln für bestimmte Ports erstellt haben, testen Sie diese Ports. Sie können Online-Tools wie „Port Checkers” verwenden, um zu überprüfen, ob die Ports erreichbar sind.
Fehlerbehebung
Sollten Probleme auftreten, überprüfen Sie folgende Punkte:
- Firewall-Regeln: Sind die Firewall-Regeln korrekt konfiguriert und aktiviert?
- IP-Konfiguration: Ist die IP-Adresse, Subnetzmaske und Gateway in der VM korrekt konfiguriert?
- Routing: Stellen Sie sicher, dass die VM das korrekte Gateway verwendet.
- OPNsense-Protokolle: Überprüfen Sie die OPNsense-Protokolle auf Fehlermeldungen.
Fazit
Die Weiterleitung öffentlicher IPs an Proxmox VMs über OPNsense ist ein komplexer Prozess, der jedoch mit dieser Schritt-für-Schritt Anleitung gut zu bewältigen ist. Indem Sie die hier beschriebenen Schritte sorgfältig befolgen, können Sie Ihren VMs direkten Internetzugang ermöglichen und die Netzwerkleistung optimieren.