Habe sowohl online, als auch von Kunden in letzter Zeit vermehrt die Frage gehört, was man eigentlich mit SDN machen kann, außer zentral vLAN's zu verwalten.
Somit ist an einem Freitagabend dieses Setup entstanden, wo ich testen wollte, wie weit kann man die neusten SDN Features ausreizen und wie sehr muss man von den empfohlenen Sachen abweichen, bis etwas kaputt geht.
Long Story short: Was ich hier tue, ist alles andere als empfohlen und sollte definitiv *nicht* in einer produktiven Umgebung umgesetzt werden. Es geht hier nur darum, was theoretisch möglich ist und ganz klar aus der Kategorie "grober Unfug".
In diesem Setup simulieren wir 3 Proxmox-Hosts, in 3 unterschiedlichen Rechenzentren(Standorten). Zwischen den Standorten haben wir nur die "normale" WAN Verbindung - Keine Standleitung/dark Fiber. Wir bauen ein meshed Wireguard-Netzwerk, auf das wir unser Corosync legen. Anschließend jagen wir open-Fabric mit EVPN darüber.
Somit kann jede VM, jede andere VM erreichen und alle sind in demselben Netzwerk, obwohl diese sich an unterschiedlichen Lokationen befinden.
Wie man Wireguard auf den PVE-Hosts einrichtet und konfiguriert setze ich an diese Stelle voraus.
Sobald jeder Host, jeden anderen Host über seine WG-IP erreichen kann, sollten wie üblich die /etc/hosts Einträge gesetzt werden.
Ich rate dazu, die Erstellung des Clusters, wie auch das hinzufügen der Nodes zum Cluster über die CLI zu machen. Die GUI verhält sich hier komisch, da dass wireguard Interface nicht der GUI angezeigt wird.
Wenn das eigentliche Cluster erstellt worden ist, können wir unter "Cluster -> SDN -> Fabrics" die OpenFabric anlegen.
Der Name kann freigewählt werden, unter IPv4 Prefix sollte das Wireguard prefix gewählt werden. Anschließend können die Nodes zu der Fabric hinzugefügt werden.

Wenn die Fabric läuft, können wir unter Options, den EVPN Controller anlegen. Hier wird als "SDN Fabric" unsere eben angelegte Fabric ausgewählt. Peers lassen wir leer.
Unter Zones wird anschließend eine EVPN Zone angelegt. Als Controller wird der genutzt, den wir eben angelegt haben. Exit Nodes sollten auch gesetzt werden, damit später SNAT funktioniert.

Im Letzten Schritt wird unter VNets das eigentliche Netzwerk angelegt, als Zone wird die EVPN Zone genutzt. Wichtig ist, dass der konfigurierte Tag an dieser Stelle ein anderer sein muss, als der bei der Zone. Anschließend, konfigurieren wir im VNET noch das eigentliche Subnet.
Das Subnet kann frei gewählt werden. Unter Gateway wird konfiguriert, welche IP das Proxmox in diesem Netz hat. Über dieses können die darin befindlichen Hosts ins Internet, wenn wir SNAT aktivieren.

Wenn alles funktioniert, kann jede VM, jede Vm erreichen und jede VM kommt ins Internet.
Somit ist an einem Freitagabend dieses Setup entstanden, wo ich testen wollte, wie weit kann man die neusten SDN Features ausreizen und wie sehr muss man von den empfohlenen Sachen abweichen, bis etwas kaputt geht.
Long Story short: Was ich hier tue, ist alles andere als empfohlen und sollte definitiv *nicht* in einer produktiven Umgebung umgesetzt werden. Es geht hier nur darum, was theoretisch möglich ist und ganz klar aus der Kategorie "grober Unfug".
In diesem Setup simulieren wir 3 Proxmox-Hosts, in 3 unterschiedlichen Rechenzentren(Standorten). Zwischen den Standorten haben wir nur die "normale" WAN Verbindung - Keine Standleitung/dark Fiber. Wir bauen ein meshed Wireguard-Netzwerk, auf das wir unser Corosync legen. Anschließend jagen wir open-Fabric mit EVPN darüber.
Somit kann jede VM, jede andere VM erreichen und alle sind in demselben Netzwerk, obwohl diese sich an unterschiedlichen Lokationen befinden.
Wie man Wireguard auf den PVE-Hosts einrichtet und konfiguriert setze ich an diese Stelle voraus.
Sobald jeder Host, jeden anderen Host über seine WG-IP erreichen kann, sollten wie üblich die /etc/hosts Einträge gesetzt werden.
Ich rate dazu, die Erstellung des Clusters, wie auch das hinzufügen der Nodes zum Cluster über die CLI zu machen. Die GUI verhält sich hier komisch, da dass wireguard Interface nicht der GUI angezeigt wird.
Wenn das eigentliche Cluster erstellt worden ist, können wir unter "Cluster -> SDN -> Fabrics" die OpenFabric anlegen.
Der Name kann freigewählt werden, unter IPv4 Prefix sollte das Wireguard prefix gewählt werden. Anschließend können die Nodes zu der Fabric hinzugefügt werden.

Wenn die Fabric läuft, können wir unter Options, den EVPN Controller anlegen. Hier wird als "SDN Fabric" unsere eben angelegte Fabric ausgewählt. Peers lassen wir leer.

Unter Zones wird anschließend eine EVPN Zone angelegt. Als Controller wird der genutzt, den wir eben angelegt haben. Exit Nodes sollten auch gesetzt werden, damit später SNAT funktioniert.

Im Letzten Schritt wird unter VNets das eigentliche Netzwerk angelegt, als Zone wird die EVPN Zone genutzt. Wichtig ist, dass der konfigurierte Tag an dieser Stelle ein anderer sein muss, als der bei der Zone. Anschließend, konfigurieren wir im VNET noch das eigentliche Subnet.
Das Subnet kann frei gewählt werden. Unter Gateway wird konfiguriert, welche IP das Proxmox in diesem Netz hat. Über dieses können die darin befindlichen Hosts ins Internet, wenn wir SNAT aktivieren.

Wenn alles funktioniert, kann jede VM, jede Vm erreichen und jede VM kommt ins Internet.
Last edited: