OPNsense VM auf Proxmox

Started by Retr0, September 29, 2024, 08:33:24 AM

Previous topic - Next topic
Hallo zusammen,
ich bin noch neu bei der Thematik OPNsense & Proxmox, ich habe einen Server mit Proxmox VE8, darauf läuft eine VM mit OPNsense ... nun würde ich gerne den Proxmox hinter der OPNsense erreichbar machen.

Aktuell sind die Ports 22, 8006 für Proxmox noch vor der OPNsense und können nicht durch "CrowdSec" auf der OPNsense geschützt werden.

Kann mir da jemand weiterhelfen ?

Verständniss Frage für "CrowdSec"
Wenn CrowdSec auf der OPNsense aktiv ist, muss auf der Proxmox Host doch nur noch der Agent installiert werden um die AuffälligenIP´s an OPNsense weiterzuleiten damit OPNsense diese Blockt bzw. Reported oder ?

Danke schonmal im Vorraus  :)

Hallo,

ich hätte noch kurz ein paar Fragen. :-) Dann können wir dir sicher weiterhelfen.

Hast du einen Server, der bei dir lokal zu Hause steht?
Verbindest du einen Port des Modems mit dem Server und den anderen Port mit einem Switch?

Grundsätzlich müsstest du in diesem Szenario nur eine Portweiterleitung einrichten.

Falls das Setup anders ist, beschreibe bitte ausführlich, wie der Server im Netzwerk hängt und wie deine Netzwerkkonfiguration derzeit aufgebaut ist.

> ich bin noch neu bei der Thematik OPNsense & Proxmox, ich habe einen Server mit Proxmox VE8, darauf läuft eine VM mit OPNsense ... nun würde ich gerne den Proxmox hinter der OPNsense erreichbar machen.

Hi,

das ist ein wenig unspezifisch. Kannst du da etwas Details liefern? Gibts nur ein Interface oder mehrere etc.?
Denn wenn bspw. mehrere Interfaces zur Verfügung stehen, könnte man der OPNsense Instanz einfach direkt eines durchreichen und dann die vmbr0 die Proxmox per default anlegt, einfach als zusätzliches Netz hinter der Sense einklinken. Aber da dein Setup nicht bekannt ist, kann man das "WIE" leider so nicht beantworten. Der Möglichkeiten gibt es hier viele.

Cheers
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Quote from: Oachkatze on October 01, 2024, 02:54:46 PM
ich hätte noch kurz ein paar Fragen. :-) Dann können wir dir sicher weiterhelfen.

Hast du einen Server, der bei dir lokal zu Hause steht?
Verbindest du einen Port des Modems mit dem Server und den anderen Port mit einem Switch?
Also der Server steht in einem Rechenzentrum, daher habe ich kein physischen zugriff.

Wie dem Bild zu entnehmen gibt es zwei öffentliche IP´s eine davon geht bei Port 22 & 8006 vor der OPNsense an den Host (Proxmox) alles andere wird über die vmbr1 Brücke an die OPNsense Weitergeleitet.

Die aktuelle Konfiguartion der /etc/network/interfaces Datei ist folgende...

auto lo
iface lo inet loopback

iface enp193s0f0np0 inet manual

iface enx0e689c0ecab2 inet manual

iface enp193s0f1np1 inet manual

auto vmbr0
iface vmbr0 inet static
        address 162.55.xxx.xxx/26

        # primäre WAN-IP-Broadcast-Adresse
        broadcast 162.55.xxx.xxx

        # Gateway ist über Punkt-zu-Punkt erreichbar. (Gateway-IP)
        pointopoint 162.55.xxx.xxx
        gateway 162.55.xxx.xxx

        # Einstellungen für die Brücke
        # physische Schnittstelle enp193s0f0np0 überbrücken.
        bridge-ports enp193s0f0np0
        bridge-stp off
        bridge-fd 0

        # statische Route durch das Gateway für Subnetz der primären WAN-IP
        up route add -net 162.55.xxx.xxx netmask 255.255.255.192 gw 162.55.xxx.xxx vmbr0

        # Routing für weitere IPs (max 4)
        up ip route add 162.55.xxx.xxx dev vmbr0 # 2. WAN-IP
        #up ip route add fff.fff.fff.fff dev vmbr0 # 3. WAN-IP
        #up ip route add ggg.ggg.ggg.ggg dev vmbr0 # 4. WAN-IP
        #up ip route add hhh.hhh.hhh.hhh dev vmbr0 # 5. WAN-IP

        # TCP/UDP NAT zur OPNsense.
        # Port 22 wird nicht weitergeleitet für SSH zugriff
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp -m multiport ! --dport 22,8006 -j DNAT --to 10.0.0.1
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p udp -j DNAT --to 10.0.0.1
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p icmp -j DNAT --to 10.0.0.1
#WAN_Public

auto vmbr1
iface vmbr1 inet static
        # IP für NAT
        address 10.0.0.0/31

        bridge-ports none
        bridge-stp off
        bridge-fd 0

        # lokales routing von privaten IPv4-IPs von dem
        # Proxmox-Host über den zweiten WAN-Port der OPNsense
        up ip route add 192.168.0.0/16 via 10.0.0.1 dev vmbr1
        up ip route add 172.16.0.0/12 via 10.0.0.1 dev vmbr1
        up ip route add 10.0.0.0/8 via 10.0.0.1 dev vmbr1

        # MASQUERADE Regel für NAT
        post-up iptables -t nat -A POSTROUTING -s '10.0.0.1/31' -o vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.0.0.1/31' -o vmbr0 -j MASQUERADE
#WAN_Admin

auto vmbr2
iface vmbr2 inet manual
        ovs_type OVSBridge
#VM Netzwerk

source /etc/network/interfaces.d/*

Soweit ich weiß, muss hier noch eine virtuelle IP auf der OPNsense erstellt werden. Außerdem ist das dazugehörige Gateway notwendig.
Wichtig ist auch die MAC Adresse von der Schnittstelle was man beim Proxmox auf der WAN seite mitgeben muss zur Opnsesen.

Ein kleiner Hinweis: Ich bin mir nicht sicher, ob deine Konfiguration so funktioniert, aber bei Proxmox wird ein Kommentar (eingeleitet durch #) mit einem Leerzeichen zwischen # und dem Kommentar manchmal als Befehl interpretiert. Dadurch kann es vorkommen, dass die Konfiguration nicht funktioniert. Vielleicht liegt hier der Fehler.

QuoteSoweit ich weiß, muss hier noch eine virtuelle IP auf der OPNsense erstellt werden. Außerdem ist das dazugehörige Gateway notwendig.
Okay, das bedeutet also ich lege eine Virtuelle IP an.
z.B.

Modus:               IP-Alias
Schnittstelle:      LAN               (Die Adresse 10.0.0.0/32 soll der LAN-Schnittstelle zugeordnet werden ?)
Adresse:            10.0.0.0/32   (Ziel ist Proxmox auf vmbr1)
Gateway:           10.0.0.1        (Das Gateway ist OPNsense)

Verstehe ich das so richtig ?    ???

QuoteWichtig ist auch die MAC Adresse von der Schnittstelle was man beim Proxmox auf der WAN seite mitgeben muss zur Opnsesen.
Also ich hatte der 2.WAN Schnittstelle eine MAC-Adresse mitgegeben, welche ich vom RZ vorgegeben bekommen hatte. Die WAN-Schnittstelle für die Primäre IP-Adresse ist noch auf der Automatisch vergebenen von Proxmox, soll diese Mac durch die Physikalische MAC vom Proxmox ersetzt werden ? ???

QuoteEin kleiner Hinweis: Ich bin mir nicht sicher, ob deine Konfiguration so funktioniert, aber bei Proxmox wird ein Kommentar (eingeleitet durch #) mit einem Leerzeichen zwischen # und dem Kommentar manchmal als Befehl interpretiert. Dadurch kann es vorkommen, dass die Konfiguration nicht funktioniert. Vielleicht liegt hier der Fehler.
Danke für den Hinweis, ich werde die Leerzeichen mal entfernen und neu starten mal schauen ob sich was ändert. :)

Entschuldigung, die virtuelle IP wird nicht benötigt, da diese ja von Proxmox weitergereicht wird.
Ich habe das Ganze mit einer externen IP umgesetzt – das ist etwas einfacher.
Ich habe mir die Konfiguration nochmals angeschaut, und sie sollte soweit passen:

vtnet0: WAN
vtnet1: LAN (10.0.0.1/31)
Das sollte bei dir so in der OPNsense vorliegen.

Was passiert denn, wenn du eine VM startest? Kommst du gar nicht ins Internet, oder gibt es nur Einschränkungen?



Bezüglich der MAC-Adresse: Ja, diese muss ersetzt werden, aber notiere dir sicherheitshalber die alte. Laut Angaben von Proxmox muss die MAC-Adresse übereinstimmen, damit alles korrekt funktioniert.

Also von den VM´s her läuft alles so wie es soll.

Ich möchte lediglich das der Host also Proxmox selbst durch OPNsense abgesichert wird.
Aktuell erreiche ich den Port 8006 direkt aus dem Internet, ich hätte den Port gerne Hinter der OPNsense.

Quotevtnet0: WAN
vtnet1: LAN (10.0.0.1/31)
Das sollte bei dir so in der OPNsense vorliegen.
So ähnlich :D hab es mal angefügt

Nun ich nehme an dein Rechner im RZ hat nur eine Netzwerkkarte.

Das was Du möchtest wird so nicht gehen.

Okay, jetzt verstehe ich dich besser.

Das wird schwierig, da Proxmox als Hypervisor fungiert und OPNsense darauf installiert ist. Du kannst, wie du bereits gemacht hast, von extern zwei IP-Adressen beantragen: eine, die auf OPNsense zeigt, und eine andere für Proxmox. Allerdings wird immer zuerst Proxmox angesprochen.

Eine Möglichkeit wäre, zu prüfen, ob im Rechenzentrum (RZ) eine vorgeschaltete Firewall vorhanden ist, mit der du arbeiten kannst. Ansonsten wird es kompliziert – in dem Fall müsstest du eventuell ein Rack mieten und eine physische Firewall davor setzen.

Alternativ könntest du auch direkt die Firewall von Proxmox nutzen.

Oder es gibt noch eine weitere Option: Ich weiß natürlich nicht, bei welchem RZ du bist, aber in Deutschland gibt es einige Rechenzentren, die sogenanntes Cloud-Hosting anbieten. Dort kannst du nur eine Firewall aufsetzen und diese dann mit deinem dedizierten Server verbinden. So wäre die Firewall auch vorgeschaltet.

Aber wenn du dir das rein grafisch anschaust, ist der Hypervisor immer die erste Instanz, die den Internetverkehr empfängt:

Internet ---- Hypervisor (Proxmox) ---- OPNsense

hmm, aber wäre es nicht möglich per SDN/VXLAN das so zu gestalten:

WWW:8006 -> Proxmox Weiterleitung -> OPNsense Portforwarding -> Proxmox-Host:8006
WWW:22 -> Proxmox Weiterleitung -> OPNsense Portforwarding -> Proxmox-Host:22

Also das Ziel ist ja mithilfe von CrowdSec auf der OPNsense  die Unerwünschten Brutforce Versuche von SSH & Co weg zu filtern.

Bei welchen RZ hast du den dein Server stehen ... vielleicht gibt es eine schöne Alternative was ganz einfach geht :-)


Alles klar, Hetzner bietet ja eine eigene Firewall an. Du könntest dort einstellen, dass nur bestimmte Quell-IP-Adressen auf Proxmox zugreifen dürfen, während der restliche Traffic normal über OPNsense läuft. Ich glaube, das wäre die beste und eleganteste Lösung.

das problem wäre dann nur das ich an meinem DSL Anschluss keine statische IP habe und die IP vor jedem zugriff auf den host manuell angepasst werden muss. Daher die Aufwändigere idee mit dem Weiter Routen über die OPNsense ... auch wenn es nicht ideal ist