OPNsense mit SDN/VxLAN von Proxmox verbinden

Started by tsk, May 16, 2025, 12:24:34 PM

Previous topic - Next topic
Hallo zusammen,

ich versuche seit einiger Zeit eine OPNsense mit dem SDN/VxLAN von drei Proxmox Servern zu verbinden.

Das Ziel dahinter ist, das ich VM's zwischen den PVE Nodes frei verschieben kann, ohne Konfigurationsänderungen.
Ich möchte nur eine OPNsense administrieren und nicht eine je PVE Node. Die VM's sollen untereinander auch kommunizieren können, egal auf welchem Node diese sich gerade befinden.

Zum Aufbau: Ich habe 3 Dedicate Server bei Hetzner gemietet und einen Cloud Server. Auf dem Cloud Server läuft die OPNsense.
Dedicate Server und der Cloud Server sind via vSwitch verbunden.
Die PVE Nodes sind mittels SDN untereinander über einen vSwitch verbunden.

Das funktioniert auch. D.h. die PVE Nodes können die OPNsense anpingen und die PVE Nodes können sich gegenseitig anpingen.
VM's auf den PVE Nodes können sich ebenfalls untereinandern anpingen.

Die MTU der VM's liegt bei 1350. Die MTU vom vSwitch bei 1400.

Was nicht geht:

Die VM kommt nicht in das Internet über die OPNsense.
Ich kann aktuell die OPNsense via VxLAN nur mit einem PVE Node verbinden. In OPNsense kann man anscheinend nur eine Remote IP angeben.

Soweit ich weiß, arbeitet Proxmox mit Point to Point VxLAN. In Proxmox kann man als Remote IP jedoch mehrere Nodes angeben.

Hat jemand eine Idee, wie man das lösen kann?

falls jemand über das gleiche Problem stolpert, hier meine Lösung:

vxlan zu jedem PVE Node in OPNsense anlegen mit der gleichen VNI. Diese muss natürlich auch mit dem Proxmox Tag in der SDN Konfiguration übereinstimmen.
Nur bei einem vxlan habe ich eine IP-Adresse für die OPNsense Seite angelegt. Bei den anderen beiden habe ich keine IP angegeben.
Zum Schluss eine Bridge erstellen, alle Interface damit verknüpfen und die Firewall Regeln für die Interface erstellen.

Ich habe exakt die selbe Topologie, leider schaffe ich es nicht das VxLAN über den hetzner vswitch zu ziehen.
Hast du ein Loopback Interface auf der Opnsense erstellt für die Adressen die du über das VxLAN nutzen willst oder reicht das vswitch interface?

ip adressen auf vswitch:
hetzner cloud server - Opnsense 192.168.0.2
hetzner dedicated server - Proxmox Node 1 192.168.1.10

Meine vorgehensweise war folgende:

- Hetzner: vswitch angelegt
- vswitch mit 1400 MTU an Opnsense und Proxmox angebunden (ping funktioniert)
- SDN an Proxmox erstellt (Peer Adressen: 192.168.1.10, 192.168.0.2)
- Interface - Devices - VxLAN auf Opnsense erstellt (IP Adressen des vswitch eingetragen 192.168.0.2 als source - 192.168.1.10 als remote)
- bridge erstellt auf opnsense (interface members: vxlan, hetzner switch interface)
- bridge ipv4 auf 20.20.20.1/24 eingestellt mit mtu 1350
- vm auf proxmox node 1 dem vxlan angefügt mit mtu 1350 und die IP adresse 20.20.20.2/24 mit gw 20.20.20.1
- kein traffic über das netz 20.20.20.0/24 möglich

Wo habe ich hier einen Fehler gemacht, für Antworten bin ich sehr dankbar.

Habe die Lösung gefunden

Update:

Alles wurde so implementiert wie beschreiben, zum Fehlerbild:

Durch ein Packet Capture auf der Opnsense auf den Schnittstellen, vxlan und der bridge, konnte ich arp Pakete in Richtung Opnsense sehen, auf dem Proxmox Node konnte ich keine Antwort finden, also nochmal gekrümmelt wo hier der Fehler liegen könnte. Bis ich nach 3 Stunden troubleshooting wirklich alles aufs kleinste geprüft hatte, der Durchbruch: die Hetzner Firewall machte mir einen Strich durch die Rechnung -.-
Ich musste nur die UDP Pakete in Richtung des Clusters freigeben und alles funktionierte wie gewünscht.