Virtuelle Firewall (OPNsense) unter Proxmox VE?

fpausp

Well-Known Member
Aug 31, 2010
485
31
48
Austria near Vienna
Ist es überhaupt sinnvoll/ratsam eine Firewall virtuell unter Proxmox zu betreiben und wenn ja gibt es Konfiguationsbeispiele?

Was ist mit der Proxmox eigenen Firewall, wie soll die konfiguriert werden wenn eine vm als Firewall laufen soll?
 

nicksimith

New Member
Feb 1, 2021
3
0
1
24
Hey,

aus persönlicher Sicht würde ich die Firewall lieber vor dem System setzen,
da du ansonsten ja erst die Pakete durch dein System leitest um Sie dann ggf. abzublocken.

Aber das ist wie gesagt meine persönliche Meinung, gibt da viele verschieden Meinung und im privaten Umfeld ist es wahrscheinlich noch in Ordnung, ansonsten sollte es auf eigener Hardware und davor gesetzt laufen.
 

Dunuin

Famous Member
Jun 30, 2020
4,324
945
143
Germany
Ich bin da auch gerade bei.
aus persönlicher Sicht würde ich die Firewall lieber vor dem System setzen,
da du ansonsten ja erst die Pakete durch dein System leitest um Sie dann ggf. abzublocken.

Aber das ist wie gesagt meine persönliche Meinung, gibt da viele verschieden Meinung und im privaten Umfeld ist es wahrscheinlich noch in Ordnung, ansonsten sollte es auf eigener Hardware und davor gesetzt laufen.
Ich habe da eine Intel i350-T4 und habe die per PCI passthrough an eine VM durchgereicht. Die NIC arbeitet dann also unabhängig von Proxmox selbst und es sollte sicherer/schneller sein, weil es eben keine Virtualisierung gibt und sich die OPNsense-VM keine NIC mit dem Host teilen muss.
Sollte also eigentlich sicher genug sein, zu mindestens für den Heimgebrauch.

Probleme sehe ich da eher wenn mal der Proxmox-Host ausfallen sollte. Wenn die OPNsensse-VM daheim alle Funktionen wie DHCP, Routing, DNS etc übernimmt und dann der Proxmox-Host mal nicht mehr laufen mag, dann sind alle deine Geräte im Haushalt offline, bis du den Proxmox-Host wieder zum laufen gebracht hast. Das kann bei mir Wochen dauern, weil da hunderte Stunden Arbeit im Host stecken und so lange offline zu sein wäre schon echt übel. Auch ist dann alles zu komplex verbunden, als dass ich da einfach temporär eine Fritzbox oder ähnliches als Ersatz-Router verwenden könnte.
Wäre natürlich schon schöner, wenn da OPNsense auf einem eigenen Host bare metal installiert wäre. Damit würde man schon deutlich die Komplexität verringern und Problemquellen minimieren. Dann hat man aber auch wieder einen zusätzlichen Host der Strom schluckt und so 300€ müsste man da schon für einen brauchbaren gebrauchten OPNsense-Host hinblättern. Und wenn der dann mal auffällt, dann holt man sich halt schnell Ersatz-Hardware, setzt OPNSense neu auf, spielt die Konfig-Backups ein und gut ist. Kompletten Proxmox-Host austauschen und neu einrichten wäre da viel teuerer und aufwändiger.

Was ich mir zuletzt angesehen habe, was eine gute Option wäre, dass wäre OPNsense schon als VM, aber das ganze dann doppelt. OPNsense kann ja in HA betrieben werden, wenn man 2 OPNsense-VMs hat die gegenseitig die Konfigs syncen. Fällt dann eine OPNsense-VM aus, springt eine andere nach ein paar Sekunden ein und übernimmt die Arbeit, ohne das sich da etwas ändert (sogar die IPs bleiben gleich).
Dazu müsste man aber auch wieder 2 Hosts betreiben, weil ja beide VMs auf einem Host auch wenig Sinn macht, wenn da der ganze Host ausfällt.
Ich habe als NAS noch immer ein FreeNAS nebenbei laufen, was über Bhyve auch VMs ausführen kann. Theoretisch könnte ich da also eine OPNsense-VM auf dem Proxmox-Host und eine auf dem FreeNAS-Host im HA-Betrieb laufen lassen. Wie ich das aber genau anstellen sollte ist mir noch etwas unklar. FreeNAS ist echt sehr umständlich was komplexere Netzwerk-Einstellungen und VM-Einstellungen wie LCAP, LAGG, VLAN, PCI Passthrough etc angeht.
 
May 13, 2020
47
12
8
Ist es überhaupt sinnvoll/ratsam eine Firewall virtuell unter Proxmox zu betreiben und wenn ja gibt es Konfiguationsbeispiele?

Was ist mit der Proxmox eigenen Firewall, wie soll die konfiguriert werden wenn eine vm als Firewall laufen soll?
Hallo fpausp

Ob der Einsatz einer virtuellen Firewall ratsam oder sinnvoll ist, hängt von Deinen Anforderungen an. Allerdings musst Du einiges bei Deiner Wahl berücksichtigen:

Performance
HW-Firewalls sind in der Regel performanter, da ihnen die Systemressourcen (CPU, RAM, Netzwerkinterfaces usw.) exklusiv zur Verfügung stehen. VMs müssen sich diese Ressourcen mit dem Host und anderen VMs teilen. D. h., Du musst mehr Ressourcen für Deine Virtualisierungsumgebung als für eine HW-Firewall einplanen.

Backups/Snapshots
Ein wichtiger Vorteil von VMs gegenüber HW-Firewalls ist die Möglichkeit, Snapshots zu erstellen. Wenn ein Upgrade in die Hose geht, bedeutet das Rollbackverfahren bei einer HW-Firewall in vielen Fällen nichts anders als plattmachen, neu installieren und Config-Backup einspielen. Dies kann unter Umständen recht zeitintensiv werden und Deine Systeme sind während dieser Zeit vom Internet getrennt. Bei VMs ist das ganze um einiges einfacher. Das Verfahren wäre in diesem Fall: Snapshot der VM erstellen und upgraden. Ist der Upgrade erfolgreich, dann kannst Du den Snapshot löschen. Geht der Upgrade in die Hose, dann kannst Du den Snapshot zurückladen und gut ist es. Der vorteil dabei ist, dass dies relativ schnell geht.

Redundanz
Kritische Systeme, darunter auch Firewalls, haben die Eigenschaft, dass sie immer verfügbar sein sollten. Wie Dunuin bereits erwähnt hat, kann ein Hardwaredefekt (egal ob es sich um eine HW-Firewall oder den Virtualisierungshost handelt) dazu führen, dass Du plötzlich offline bist. Und dann ist eine entsprechende Ersatzhardware nicht gerade verfügbar, was die Offline-Zeit weiter verlängert. Ein weiteres Szenario, der Dir eine Offline-Zeit bescheren kann, ist, wenn Du Updates auf den Proxmox-Node installierst und dieser neu gestartet werden muss. Daher solltest Du dich Gedanken darüber machen, wie diese kritische Systeme redundant aufgebaut werden sollten.

Generell kann man einen Cluster bilden, egal ob es sich um eine HW- oder VM-Firewall handelt. Dabei ist zu berücksichtigen, dass die Hardware der Cluster-Mitglieder möglichst identisch sein sollte, um unerwünschte "Side Effects" zu vermeiden. Bei Proxmox ist diese Anforderung an die Hardware nicht so wichtig, da die VM-Hardware virtualisiert wird. Allerdings sollten die Proxmox-Hosts etwa gleichwertig sein, d. h, ähnliche CPUs, RAM usw. haben.

In einer Virtualisierungsumgebung hat man mehrere Möglichkeiten, die Redundanz aufzubauen. Eine Variante wäre zwei Standalone Proxmox Hosts zu installieren und die HA-Funktionen der VM für die Clusterbildung zu benutzen. Auf diese Weise gibt es keine Unterbrüche bei einem Hardwareausfall.

Eine weitere Variante wäre einen Proxmox-Cluster zu bilden. Dies hätte den Vorteil, dass Du Snapshots der VMs im zweiten Proxmox-Node erstellen kannst und die VMs bei Wartungen an den Proxmox-Servern hin und her verschieben kannst, und dies ebenfalls ohne grosse Unterbrüche (Live-Migration).

Die "ultimative" Variante wäre jedoch ein Proxmox-HA-Cluster. Hier werden die VMs bei einem Ausfall automatisch von einem Node zum anderen migriert. Allerdings ist der Aufbau des Clusters in diesem Fall aufwendiger, da mehr Komponenten ins Spiel kommen (mind. drei nodes oder zwei nodes + Q-Device und Shared Storage).

Gruss
 

lenny30

Member
May 26, 2020
95
5
8
41
Hi,
der Beitrag von Belegnor beschreibt es ziemlich ausführlich und gut.
ich war lange ein Verfechter von "echtem Blech" für die FW.
Mittlerweile bin ich zumindest im Hausgebrauch davon ab, und habe durch die Coronafreizeit im letzten Jahr alles was man zuhause hat, auf Proxmox virtualisiert.
Inkl. der OPNsense. Welche damit überraschend gut zurecht kommt.
Wichtig dabei ist aber auch, dass min. der WAN Port dediziert für die FW ist.
 

fpausp

Well-Known Member
Aug 31, 2010
485
31
48
Austria near Vienna
Ich habe da eine Intel i350-T4 und habe die per PCI passthrough an eine VM durchgereicht.
Soll man alle NICs oder nur die WAN(s) oder eine sonstige Kombination an den Proxmox durchreichen?
Wäre natürlich schon schöner, wenn da OPNsense auf einem eigenen Host bare metal installiert wäre.
Dann hast bei einem Ausfall aber das gleiche Verfügbarkeitsproblem wie bei einer virtuellen Firewall...
OPNsense kann ja in HA betrieben werden, wenn man 2 OPNsense-VMs hat die gegenseitig die Konfigs syncen. Fällt dann eine OPNsense-VM aus, springt eine andere nach ein paar Sekunden ein und übernimmt die Arbeit, ohne das sich da etwas ändert (sogar die IPs bleiben gleich).
Daran hab ich schon gedacht, die Frage ist jetzt noch die Sache mit dem durchreichen der NICs. Wenn ich alle durchreichen soll/muss dann hab ich auf dem 2ten Server der noch andere VMs hosten soll ein Problem mit der Anzahl der Netzwerkkarten...
Ein wichtiger Vorteil von VMs gegenüber HW-Firewalls ist die Möglichkeit, Snapshots zu erstellen.
Das wäre für mich der Hauptgrund für Virtualisierung einer Firewall, bedenken hatte ich noch ob es durch die Virtualisierung leichter ist die FW zu kapern...
Eine weitere Variante wäre einen Proxmox-Cluster zu bilden.
Der Aufwand für den Cluster ist mir hier zu hoch, ich kann mit einem kürzeren Ausfall leben. Viele Komponenten sind redundant ausgelegt... Z.B. die dual-Port NICs werd ich so aufteilen das eine Karte Ausfallen darf... usw.

1612291431420.png
 
Last edited:

Dunuin

Famous Member
Jun 30, 2020
4,324
945
143
Germany
Soll man alle NICs oder nur die WAN(s) oder eine sonstige Kombination an den Proxmox durchreichen?
Im Idealfall alle, wenn man maximale Performance und Isolation wegen Sicherheit möchte. Wenn man beschränkt ist dann wenigstens den WAN, dass da Proxmox nicht direkt am ungeschützen Internet hängt.
Dann hast bei einem Ausfall aber das gleiche Verfügbarkeitsproblem wie bei einer virtuellen Firewall...
Ist aber alles viel leichter ersetzbar. Nimmt man einen Thin Client als OPNsense-Server und der fällt aus, dann muss ich nur einen neuen für 300€ kaufen, kurz OPNsense aufspielen, Konfigs aus Backups importieren und schon läuft es wieder.
Fällt der Proxmox-Server aus muss ich entweder ewig nach Fehlern suchen oder mir für 2000€ einen neuen Server holen und den komplett neu einrichten. Ich habe da wie gesagt über 1 Jahr an dem rumgebastelt und hunderte Stunden damit verbracht mir alles so einzurichten wie ich es habe möchte (inkl. Scripte selbst programmieren und so). Das lässt sich dann nicht ohne weiteres mal schnell austauschen oder neu aufsetzen. Und generell steckt im Proxmox-Server halt viel mehr Hardware welche Probleme machen könnte und wenn da 20-30 VMs/Container drauf laufen, dann macht es den Server ja auch anfälliger für Probleme.
Also wenigstens bei mir kommt Virtualisierung ohne HA daher nicht in Frage.
Daran hab ich schon gedacht, die Frage ist jetzt noch die Sache mit dem durchreichen der NICs. Wenn ich alle durchreichen soll/muss dann hab ich auf dem 2ten Server der noch andere VMs hosten soll ein Problem mit der Anzahl der Netzwerkkarten...

Das wäre für mich der Hauptgrund für Virtualisierung einer Firewall, bedenken hatte ich noch ob es durch die Virtualisierung leichter ist die FW zu kapern...

Der Aufwand für den Cluster ist mir hier zu hoch, ich kann mit einem kürzeren Ausfall leben. Viele Komponenten sind redundant ausgelegt... Z.B. die dual-Port NICs werd ich so aufteilen das eine Karte Ausfallen darf... usw.

View attachment 23222
 
May 13, 2020
47
12
8
Das wäre für mich der Hauptgrund für Virtualisierung einer Firewall, bedenken hatte ich noch ob es durch die Virtualisierung leichter ist die FW zu kapern...

Wenn dies der Fall wäre, würde es kaum Firewall Hersteller geben, die virtuelle Firewalls anbieten. In der Regel sollte nicht so einfach sein, eine virtuelle Firewall zu kappern, aber eine fehlerfreie Software gibt es nicht, und Bugs bzw. Sicherheitslücken gibt es auch bei HW-Firewalls ... ;)

Der Aufwand für den Cluster ist mir hier zu hoch, ich kann mit einem kürzeren Ausfall leben. Viele Komponenten sind redundant ausgelegt... Z.B. die dual-Port NICs werd ich so aufteilen das eine Karte Ausfallen darf... usw.

View attachment 23222

Ein Cluster mag vielleicht mehr Aufwand bedeuten, die Vorteile überwiegen dennoch die Nachteile, und zwar deutlich. Aber wenn Du mit kleineren Ausfällen leben kannst, dann ist es schon OK. Allerdings hat ein „Single Point of Failure“ nach Murphys Gesetzen das grösste Potential, von längeren Ausfällen betroffen zu werden bzw. sie zu verursachen ... ;)
 

fpausp

Well-Known Member
Aug 31, 2010
485
31
48
Austria near Vienna
Möchte eine meiner Netzwerkkarten durchreichen...

Wie kann man bitte die ID zum Interfacename zuordnen?
1612627236395.png


1612627049423.png


1612627161470.png
 

Attachments

  • 1612626947009.png
    1612626947009.png
    167.2 KB · Views: 3

Dunuin

Famous Member
Jun 30, 2020
4,324
945
143
Germany
Hast du vorher IOMMU aktiviert wie hier beschreiben? Also sowohl alle Optionen im BIOS gesetzt als auch die richtigen Paramter für den Proxmox Bootloader eingetragen, damit Proxmox mit IOMMU-Unterstützung gebootet wird?
Weil laut dem Screenshot meckert dein Proxmox ja, dass du da kein IOMMU zur Verfügung hast um PCI Passthrough überhaupt nutzen zu können.

Wenn du die NICs zuordnen willst solltest du mal ins Mainboard-Handbuch gucken. Da sollte eigentlich stehen, welcher Onboard-Port welchen Chipsatz benutzt und dann kannst du das ja per lspci zuordnen. Und bei PCIe NICs musst du halt selbst testen, welche NIC da welche ID hat, falls du da 2 mal die gleiche Verbaut hast.
 
Last edited:

fpausp

Well-Known Member
Aug 31, 2010
485
31
48
Austria near Vienna
Hast du vorher IOMMU aktiviert wie hier beschreiben? Also sowohl alle Optionen im BIOS gesetzt als auch die richtigen Paramter für den Proxmox Bootloader eingetragen, damit Proxmox mit IOMMU-Unterstützung gebootet wird?
Weil laut dem Screenshot meckert dein Proxmox ja, dass du da kein IOMMU zur Verfügung hast um PCI Passthrough überhaupt nutzen zu können.
Hab ich in der Zwischenzeit gemacht...
Wenn du die NICs zuordnen willst solltest du mal ins Mainboard-Handbuch gucken. Da sollte eigentlich stehen, welcher Onboard-Port welchen Chipsatz benutzt und dann kannst du das ja per lspci zuordnen. Und bei PCIe NICs musst du halt selbst testen, welche NIC da welche ID hat, falls du da 2 mal die gleiche Verbaut hast.
Naja, ich dachte das geht etwas eleganter, aber mal sehen... Danke für die Infos!
 

Dunuin

Famous Member
Jun 30, 2020
4,324
945
143
Germany
Inzwischen sind meine ConnectX3 + Managed Switch angekommen und ich hab es hinbekommen sowohl FreeNAS- als auch Proxmox-Server mit 4 VLANs über einen VLAN-Trunk zu verbinden. Die 4 VLANs gehen dann also alle über die eine 10Gbit SFP+ NIC, weshalb da jetzt auf beiden Servern meine beiden 1Gbit NICs frei sind. Beide Server haben auch je 4 bridges die jeweils einem VLAN zugeordnet sind. Und ich hab auf beiden Servern VMs erzeugt und jede VM hat eine virtuelle VirtIO NIC an die 4 Bridges bekommen. Und sollte sich dann ja so noch erweitern lassen, wenn ich da noch mehr VLAN brauche zwischen denen ich routen möchte. Muss ich dann ja einfach nur mehr virtuelle NICs hinzufügen. Vom Ding her sollten die OPNsense-VMs dann zwischen allen 4 VLANs mit bis zu 5Gbit routen können. Würde mich wundern wenn die VirtIO NICs wirklich 5Gbit schaffen, aber solange das 1Gbit sein sollte wäre ich damit schon zufrieden. Beim Proxmox-Server habe ich schon einen Port der Intel i350 per PCI Passthrough an die VM durchgereicht den ich als WAN nehmen wollte. Der FreeNAS-Server hat eine Intel i210 die ich ebenfalls durchreichen wollte, aber wo ich noch nicht genau weiß, wie ich das mit FreeNAS hinbekomme. Aber gehen sollte das wohl prinzipiell. Da die virtuellen NICs alles virtIO sind hoffe ich mal die weden auch im Gast gleich heißen. Bei den i350 und i210 habe ich schon geguckt. Die haben beide den selben Treiber und sollten beide als "igb0" erkannt werden. Für die HA Konfiguration ist es ja wohl wichtig, dass da die Interfaces auf beiden VMs die genau gleichen Namen haben.
Weiß jemand wie das bei OPNsense in HA Konfiguration mit dem Link zwischen beiden Servern genau aussehen muss? In Tutorials haben die immer eine eigene NICs genommen und die OPNsenses dann direkt ohne irgendetwas dazwischen per Kabel verbunden. Brauche ich da wirklich eine echte physische NIC für oder kann ich das genau so gut mit einer virtuellen VirtIO NIC zusammen mit den anderen VLANs über den Trunk leiten lassen?
Würde für pfSync und Co dann eine eigene VID nehmen und QoS dann dort auf die höchste Stufe stellen.

Und weiß jemand wie das mit Link Aggregation zwischen SFP+ und Gbit-Ethernet aussieht? Macht so etwas Sinn? Kann man da gezielt einstellen, dass da primär nur die 10Gbit NIC benutzt wird und die Gbit NIC höchstens, wenn da die 10Gbit NIC ausfällt? Eine Gbit NIC hätte ich auf beiden Servern dann nämlich noch frei und so ein bisschen Ausfallsicherheit wäre ja bestimmt nicht verkehrt, sofern da so eine 10G+1G Bündelung nicht irgendwie ausbremsen oder Probleme machen würde.

Ist das dann so für den Heimgebrauch ok oder ließe sich da noch etwas verbessern?
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get your own in 60 seconds.

Buy now!