Proxmox + OPNsense + (Cisco) Switch + VLANs: Wie realisieren?

Ogott, was habe ich getan, das hier führt vom Hundersten ins Tausendste! Wie war das? Stelle keine Fragen wenn du die Antwort nicht ertragen kannst? :D
Das unterstützt der Switch (das war tatsächlich sogar der Grund warum ich gerade diesen 8-Port-Switch gekauft habe - LACP und VLAN). Aber!
Ich sehe jetzt schon das mir die Ports ausgehen und werde dann doch gleich in die richtige Planung gehen müssen fürchte ich.Und das macht dann auch das mit dem Bond erst mal "übertrieben" im Sinne von "zu komplex fürs lernen".
Das was du da aufgezeichnet hast werde ich als Aufschlag für ein Zieldesign nehmen.
Dazu habe ich ein paar Ideen und weitere Fragen (an dieser Stelle sehe ich dich deine Hände über dem Kopf zusammenschlagen).
Erstmal Prämisse:
  • 8Ports reichen nie und nimmer
  • Es soll was "vernünftiges" sein
  • Ich "will" 10G am Switch
  • Ich möchte auch noch irgendwie Redundanz da einbauen
  • Die Fritzbox muss über kurz oder lang weg (ist ne 7490, schiele auf ne 250er Leitung)
  • Ich renoviere mein Haus in diesem und im nächsten Jahr -> Neue Kabel!
Grobe Idee:
  • Mikrotik-Switch
  • Mellanox für den Proxmox-Host
  • LWL-Verkabelung in die "wichtigen Räume", von da aus mit kleinen Switchen verteilen ODER
  • LWL überall hin
  • Router/Modem direkt am Switch, dazu Frage: NAT?
Jetzt zu meinen Fragen:
  1. Ich habe "gelernt" (gelesen und für schlau befunden) das man einer OPNSense-VM lieber eine dedizierte Karte geben sollte, damit man an dieser zwischen WAN und LAN trennen kann. Das erschien mir auch sinnvoll, alle Guides weisen darauf hin das so zu tun. Du schlägst jetzt aber etwas anderes vor, das deutlich komplexer ist. Komplexität ist der Feind von Sicherheit, nicht war? Was ist hier der Vorteil? Rein instinktiv möchte ich hier nicht von der "IN OUT" Geschichte weg.
  2. Die Fritzbox (oder ein zukünftiger anderer Router - genauer: Modem) direkt an den Switch - dann muss jeglicher outbound Traffic ja durch den Switch. Erstmal kein "Nachteil", aber mein Gedanke war das die VMs das erst einmal nicht machen müssen - oder war ich da auf dem Holzweg?

Zu deinen Anmerkungen:
  1. Wenn ich der OPNSense eine eigene Mellanox-Karte spendieren würde und ohne Bond arbeite. würden das hier aber dann 10GB für die VMs sein, richtig? Natürlich halbiert, weil 2 "Clients" sich die Bandbreite teilen...
  2. Die Verbindung zwischen Proxmox-Host und Switch würde ich auch über ein tagged VLAN laufen lassen, damit du die verschiedensten VMs in unterschiedliche VLANs zuordnen kannst. Da könntest du dann auch beliebig viele VLANs mit 1Gbit über die Eno4 anbinden. Zu 2 siehe meine Anmerkung bezüglich 10G bzw. Mellanox. Ich würde ein Port 10G ins Arbeitszimmer haben, ein Port 10G zum Proxmox, ein Port 10G zur OPNSense und dann entweder noch einen zum Anbinden der weiteren Räume via Switch oder eben noch mehr 10G Ports.
  3. Das wäre tatsächlich auch mein Wunsch: Z.B. ein Port am Switch (nennen wir in TV) einem VLAN zuweisen, das eine Route zum Medienserver hat - und sonst nirgends wohin)
  4. Verstehe ich nicht so ganz - eine IP für den Proxmox Host hätte ich schon ganz gerne? :confused:
  5. Siehe Anmerlungen und vorheige Fragen - die Komplexität des ganzen lässt mich quasi nervös werden...
Ich fürchte die Idee "im kleinen üben, wissen wie es geht, dann auf groß umsteigen und je nach Anforderung kaufen" ist hier nicht so umsetzbar wie gedacht. Ich glaube ich sollte erst mal grundsätzlich ein, zwei Clients in mein VLAN kriegen und schauen wie das so läuft, also quasi zurück zu Post #13 und von da aus "kleiner" weitermachen und parallel das Zieldesign planen. O. Mein. Gott. Was hab ich getan. Famous last Words: Ich geh mal VLANs machen.
 
  • 8Ports reichen nie und nimmer
Ja, mit 8 Ports am Switch kommt man nicht weit. Erst recht wenn man 5 NICs im Server hat und plant da noch 5 weitere einzubauen. Da hätte dein Server dann ja schon mehr Ports als dein Switch ^^
  • Es soll was "vernünftiges" sein
  • Ich "will" 10G am Switch
Vernünftig und 10G wird meist ziemlich teuer. Erst recht wenn man 10GBE statt SFP+ nimmt. SFP+ wirkt meist recht günstig weil die Switches und NICs viel weniger kosten, aber das liegt daran, dass da die Technik in den Transceivern (also quasi den Kabeln) steckt. Wenn man dann 40-100€ pro "Kabel" zahlt summiert sich das auch ganz gut, wenn man bedenkt, dass man da kurze Cat6a Kabel die 10Gbit könnten schon für unter 2€ bekommt.
Und bei SFP+ kann man oft nicht einfach irgendwas nehmen. Microtics nehmen glaube ich so ziemlich alle DAC und Transceiver aber wenn du Cisco, HP, Dell etc Switch holst kann es gut sein, dass die nur mit ganz speziellen Transceivern des eigenen Herstellers laufen. Jeder Transceiver/DAC hat da eine ID und Hersteller können IDs aussperren. Ist dann so wie bei Druckerpatronen, wo man gezwungen ist die teuren Dinger vom Hersteller zu kaufen obwohl die günstigen von anderen Herstellern nicht unbedingt schlechter wären. Musst du mal bei fs.com gucken. Die haben eine Hausmarke die auf IDs von verschiedensten Herstellern geflasht werden, dass da die Hausmarke nicht ausgesperrt wird. Da kann man dann bei der Bestellung auswählen, was die einen für eine ID draufflashen, um die Aussperrung zu umgehen.
  • Ich möchte auch noch irgendwie Redundanz da einbauen
Für Redundanz müsstest du 2 Switches kaufen die Stacking unterstützen. Und jeder Host bräuchte minimum 2 NICs, damit jeder Host eine eigene Verbindung zu beiden Switches hat. Also muss quasi alles doppelt vorhanden sein. Für Redundanz kann OPNsense übrigens auch im HA betrieben werden. Dann bräuchtest du aber auch OPNsense auf 2 Rechnern die parallel laufen. Sollte da eine OPNsense ausfallen würde die andere in Sekunden einspringen. Ist die OPNsense aus ist ja dein ganzes Netzwerk tot und man würde nicht mal mehr ins Internet kommen, bis da der Server der OPNsense laufen lässt repariert ist. Also vermutlich willst du neben 2 Switches dann auch noch 2 oder 3 Proxmox-Server, damit die Dienste auch Redundanz haben. Dann geht das richtig ins Geld. Und dann am besten natürlich noch 2 Verträge bei unterschiedlichen Internetanbietern, damit auch das Internet redundant ist. Also einmal Internet per Telefonleitung und einmal per TV-Kabelanschluss. Und all die Hardware schluckt natürlich auch ordentlich Strom. Da kann man gerne mal 50€ und mehr im Monat an Stromkosten nur für das Homelab haben.
Das ist ein ziemlicher Teufelskreis wenn man mit Redundanz anfängt...
Ich habe da jetzt gute 3500€ fürs Homelab ausgegeben und das einzige was bei mir redundant ist, ist die OPNsense und das NAS. Komplettes redundantes Netzwerk und VMs wären mir da einfach zu teuer und ich hätte bestimmt nochmal 2000€ mehr ausgeben müssen.
  • Die Fritzbox muss über kurz oder lang weg (ist ne 7490, schiele auf ne 250er Leitung)
Ich finde die Fritzboxen eigentlich ok, aber ich glaube die 7490 macht nicht mehr als 100Mbit Internet mit. Wenn du OPNsense benutzt dient die ja mehr oder weniger eh nur als Modem und alles andere läuft über externe APs und die OPNsense. Ich habe bei meiner Fritzbox das WLAN deaktiviert, dann von der Fritzbox zum Switch ins WAN VLAN und vom Switch das WAN VLAN zu beiden ausfallsicheren OPNsenses. Als AP habe ich einen OpenWRT-Router der auch am Switch hängt. Der hat 3 getrennte WLANs die in getrennte VLANs gehen (LAN, Gast, IoT). Das ist sehr nett bei OpenWRT, dass man da auch tagged VLAN und Trunking nutzen kann, da man ja vollen Root-Zugriff zum Router hat.
Wenn man sich sicher ist, dass da die OPNsense wirklich sicher eingestellt ist, dann kann man in der Fritzbox auch die Firewall deaktivieren, indem man die OPNsense VM als "Exposed Host" angibt. Dann wird einfach alles stupide ohne jegliches Filtern vom Internet an die OPNsense durchgeleitet. Damit ist die Fritzbox dann fast runter zum reinen Modem degradiert.
  • Ich renoviere mein Haus in diesem und im nächsten Jahr -> Neue Kabel!
Da musst du dann gucken ob Glasfaser für SFP+ oder CAT7/8 Ethernet.

Grobe Idee:
  • Mikrotik-Switch
  • Mellanox für den Proxmox-Host
  • LWL-Verkabelung in die "wichtigen Räume", von da aus mit kleinen Switchen verteilen ODER
  • LWL überall hin
  • Router/Modem direkt am Switch, dazu Frage: NAT?
10 Gbit ist ziemlich teuer. Ich habe das billigste genommen was ich finden konnte und habe dann so 400€ ausgegeben (gerbauchte 10Gbit ConnectX-3 für je 35€ aus China, gebrauchte DACs für je 20€, gebrauchte Transceiver für je 20€, neuer 24x Gbit + 4x 10 Gbit SFP+ Port Switch für 180€).
Mit neuer Hardware oder 10GBE bist du da aber auch sehr schnell in den tausenden von Euros.
Jetzt zu meinen Fragen:
  1. Ich habe "gelernt" (gelesen und für schlau befunden) das man einer OPNSense-VM lieber eine dedizierte Karte geben sollte, damit man an dieser zwischen WAN und LAN trennen kann. Das erschien mir auch sinnvoll, alle Guides weisen darauf hin das so zu tun. Du schlägst jetzt aber etwas anderes vor, das deutlich komplexer ist. Komplexität ist der Feind von Sicherheit, nicht war? Was ist hier der Vorteil? Rein instinktiv möchte ich hier nicht von der "IN OUT" Geschichte weg.
Wenn du auf Nummer sicher gehen willst kannst du auch gerne direkt von der Fritzbox zur WAN-NIC der OPNsense. Das würde dann aber bedeuten das du dem VLAN nicht traust, da das ja Isolation per Software macht. Dann dürftest du aber auch nirgends VLAN nutzen wenn du dem nicht traust und müsstest alle Subnetze physisch mit dedizierter Hardware trennen. Bei 7 Subnetzen also 7 Switches kaufen mit 8 NICs für die OPNsense etc. Und wenn du Redundanz willst dann davon halt alles doppelt, also 14 Switches und 16 NICs für die OPNsense.
Du siehst schon zu was das führt...
Wenn man da sagt das man dem VLAN in der Isolation vertraut, dann kann man auch WAN über VLAN isoliert über den Switch betreiben.
Da würde ich mir also im privaten Heimnetz nicht so den Kopf drüber machen. Ist schon sehr sehr unwahrscheinlich, dass da ein Bug im Switch ausgenutzt werden kann, dass man da die VLAN Isolation aushebeln könnte.
Aber wenn du genug NICs und PCIe Slots hast, kann du wie gesagt auch gerne weiter die Fritzbox direkt an die OPNsense anschließen.
  1. Die Fritzbox (oder ein zukünftiger anderer Router - genauer: Modem) direkt an den Switch - dann muss jeglicher outbound Traffic ja durch den Switch. Erstmal kein "Nachteil", aber mein Gedanke war das die VMs das erst einmal nicht machen müssen - oder war ich da auf dem Holzweg?
Wie meinst du das? Was dachtest du müssten die VMs nicht?
Wenn du keine Bridges auf dem Proxmox-Host hast, weil du jeder VM eine virtuelle NIC-Funktion über SR-IOV verpasst und die VMs dann noch in veschiedenen VLANs hängen, dann muss jeglicher Datenverkehr zwangsweise über den Switch laufen. Und alles an Outbound Traffic zum Internet oder Kommunikation zwischen verschiedenen Subnetzen muss zwangsweise über die OPNsense laufen.
Zu deinen Anmerkungen:
  1. Wenn ich der OPNSense eine eigene Mellanox-Karte spendieren würde und ohne Bond arbeite. würden das hier aber dann 10GB für die VMs sein, richtig? Natürlich halbiert, weil 2 "Clients" sich die Bandbreite teilen...
Nein, bei mir klappt das in der Praxis nicht. Ich habe das mit 10Gbit an der OPNsense versucht. OPNsense muss alle Pakete einzeln angucken und analysieren. Damit OPNsense das kann muss man jegliches Hardware-Offloading der NICs und alle Funktionen, die irgendwie Bandbreite erhöhen, deaktivieren. Das gleiche wenn du irgendwie virtualisierst, dann fällt auch das Hardware-Offloading weg und die NIC wird lahm. Das heißt dann aber auch das all das Routing und Co rein über die CPU erledigt wird und damit ist dann die CPU der Flaschenhals.
Mehr als 4 Gbit bekomme ich mit einer MTU von 1500 z.B. nicht über die NIC, da es einfach zu viele Pakete sind und die CPU das nicht schafft. Die 10Gbit erreiche ich da nur, wenn ich 9000 MTU Jumbo-Frames nutze, da dann weniger aber dafür größere Pakete verschickt werden.
Außerdem musst du bedenken, dass da Übertragungen sich auch gegenseitig ausbremsen. 1x 10Gbit mag dann zwar mehr Durchsatz haben als 4x 1Gbit, dafür hättest du bei 4x Gbit aber eine bessere Latenz.
Sagen wir du willst 2 Dinge parallel tun...
Erstens willst du ein 1TB Backup zum NAS schicken. Da ist die Latenz egal und es ist nicht zeitkritisch, aber es erzeugt massig Traffic.
Zweitens hast du ein VoiP-Telefonat, bist in einem Multiplayer-Spiel oder ähnliches. Hier ist es zeitkritisch und du willst eine super Latenz damit der Ping klein bleibt und die Gespräche nicht abgehackt sind.
99,99% von allem was dann über die Leitung läuft ist aber das Backup und der Router wird regelrecht zugespammt und die NIC muss irgendwie alles kombinieren und nacheinander über eine 10Gbit Leitung schicken. Da gehen dann die VoIP-Pakete komplett im Backup unter und die Latenz wird grottig. Hättest du einen LACP Bond von 4 Gbit NICs würde alles eine eigene Leitung bekommen. Das Backup würde dann 2 Leitungen benutzen (eine In eine Out) und VoiP und Internet hätten dann die anderen beiden Leitungen.
In der Summe wäre dann das Backup natürlich über Gbit langsamer, aber deine zeitkritischen Dienste würden nicht so gebremst werden und hätten eine bessere Latenz und damit bessere Qualität.
Macht da also durchaus Sinn nicht alles über eine einzige NIC zu quetschen. Das man da wenigstens zeitkritische und zeitunkritische Dinge auf verschiedene NICs verteilt.
Also z.B. für jeden Host 2 NICs einplanen, damit man eine NIC mit 9000 MTU für große zeitunkritische Daten und eine NIC mit 1500 MTU für zeitkritisches nutzen kann. Und wenn du dann noch Redundanz willst das sogar noch doppelt.

Bei mir werden die 10Gbit NICs z.B. nur noch genutzt um die wichtigsten Rechner mit dem NAS zu verbinden. Alles andere läuft dann über Gbit NICs. So habe ich großen Durchsatz zum NAS ohne dass da Verbindungen ins Internet und Co zu sehr ausgebremst werden würden.
  1. Verstehe ich nicht so ganz - eine IP für den Proxmox Host hätte ich schon ganz gerne? :confused:
Eine IP brauchst du auch immer. Der Punkt war das du nicht unbedingt eine Bridge oder ein VLAN Interface brauchst wenn alle VMs über SR-IOV eine eigene NIC durchgereicht haben. Dann könntest du eine der NICs exklusiv für den Host nutzen und der Host müsste sich die nicht mehr über eine Bridge mit anderen VMs teilen.
  1. Siehe Anmerlungen und vorheige Fragen - die Komplexität des ganzen lässt mich quasi nervös werden...
Ich fürchte die Idee "im kleinen üben, wissen wie es geht, dann auf groß umsteigen und je nach Anforderung kaufen" ist hier nicht so umsetzbar wie gedacht. Ich glaube ich sollte erst mal grundsätzlich ein, zwei Clients in mein VLAN kriegen und schauen wie das so läuft, also quasi zurück zu Post #13 und von da aus "kleiner" weitermachen und parallel das Zieldesign planen. O. Mein. Gott. Was hab ich getan. Famous last Words: Ich geh mal VLANs machen.
Ja, erstmal mit VLANs vertaut machen ist nicht schlecht. Ich bin es hier direkt groß angegangen, da ich vorher nur 3x unmanaged 8-Port-Switches hatte und daher kein VLAN, tagging und Co nutzen konnte. Wenn du da schon einen kleinen Switch hast, der prinzipiell alles könnte, dann kann man den natürlich super zum üben nutzen. Vermutlich musst du dann aber später eh wieder alles "abreißen" und komlett neu aufsetzen sobald du einen 10Gbit Switch mit genügend Ports hast und es immer mehr und mehr VLANs werden.
 
Last edited:
Auf diesen Post werde ich nachher noch in ruhe eingehen, ich "übe"gerade erst einmal weiter und habe folgendes versuchsweise umgesetzt:
Code:
       auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

auto vmbr0
iface vmbr0 inet manual
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        bridge-ports eno2
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

iface eno2.1 inet static
        address 10.10.0.11/24
        gateway 10.10.0.1
Bis zu dieser Stelle noch ohne "extra" VLAN, nur meine Bridge und VLAN1 von einander getrennt. Ergebnis: Es läuft noch alles aber ich komme mit meiner Workstation nicht mehr auf Proxmox drauf. Also via KVM auf die Konsole (wie krieg ich die btw dazu ein deutsches Tastaturlayout zu nutzen, muss ich mal nach googlen, liegt nicht an Proxmox) und alles wieder auf Start.
Muss ich das VLAN1 dann explizit angeben im Switch? Und in der OPNSense? Ich hatte das so verstanden das nicht weil "default" VLAN? Ich werd noch narrisch...
 
auto vmbr1
iface vmbr1 inet static
bridge-ports eno2
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
Das sollte eigentlich "iface vmbr1 inet manual" und nicht "iface vmbr1 inet static" sein. Du hast ja keine statische IP auf der Bridge.
Mit "bridge-vids 2-4094" sagst du, dass da alles was als VLAN2 bis VLAN 4094 auf der NIC eno2 ankommt auf diese Bridge geleitet werden soll.
iface eno2.1 inet static
address 10.10.0.11/24
gateway 10.10.0.1
[/code]
Mit der Einstellung erstellst du quasi eine "virtuelle NIC" die im VLAN1 sitzt und die IP 10.10.0.11 hat. Auf diese IP hört dein Proxmox-Host (also SSH, WebUI erreichbar, wird wegen Gateway-Eintrag für alle ausgehenden Verbindungen benutzt). VLANs sind isoliert, also kannst du auch nur von Rechnern auf das WebUI drauf, welche auch im VLAN1 sitzen.


Wenn eno2 auf tagged VLANs 1 bis 4096 hören soll dann musst du auch dafür sorgen, dass da überhaupt getaggte Pakete vom Switch an dem Port, der zu eno2 führt, versendet werden. Da muss es in deinem Switch eine Option für geben, wo du jedem einzelnen Port sagt, welche VLANs er wie taggen soll. Und ob er die überhaupt taggen soll. Der Port vom Switch muss dann so eingestellt werden, dass da die Annahme von allen mit VLAN 1 - 4094 getaggeten Paketen erlaubt werden soll. Und der Port muss so eingestellt sein, dass da alle Pakete aus den VLANs 1- 4096 auch aus dem Port rausgelassen werden.
 
Last edited:
Guten Morgen!
Ich habe gestern beim Nachlesen über meinen Switch dann folgendes "gelernt":
Man sollte versuche einen Bogen um VLAN1 zu machen, da das default VLAN gerne mal Zicken in diversen Kombinationen macht. Ich habe also einfach mal angefangen mein "Zielbild" zu entwerfen und habe mir VLAN 2 genommen, das wird dann in Zukunft VLAN_MANA (Management ist mir zu lang, was "Schutzbedarf" anfgeht von unten nach oben abfallend). Das war dann meine Konfiguration für Proxmox, die "unwichtigen" Dinge sind entfernt:
Code:
auto eno2.2
iface eno2.2 inet static
        address 10.2.0.11/24
        gateway 10.2.0.1

auto vmbr1
iface vmbr1 inet manual
        bridge-ports eno2
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094
Im Switch sieht das für VLAN1 folgendermassen aus:

Interface
Access
Trunk
General
Member
Tagged
Untagged
PVID
g1
o
x
o
x
o
x
x
g2
o
x
o
x
o
x
x
g3
o
x
o
x
o
x
x
g4
o
x
o
x
o
x
x
g5
o
x
o
x
o
x
x
g6
o
x
o
o
o
x
o
g7
o
x
o
x
o
x
x
g8
o
x
o
x
o
x
x

Und für VLAN2 folgendermassen:

Interface
Access
Trunk
General
Member
Tagged
Untagged
PVID
g1
o
x
o
x
o
x
o
g2
o
x
o
o
o
x
o
g3
o
x
o
o
o
x
o
g4
o
x
o
o
o
x
o
g5
o
x
o
o
o
x
o
g6
o
x
o
x
o
x
x
g7
o
x
o
x
x
o
o
g8
o
x
o
o
o
x
o

In OPNSense habe ich das VLAN 2 auch angelegt, aktiviert, assigned und DHCP4-fähig gemacht.
Das hatte dann 2 Ergebnisse:
Das Notebook an P6 hängend kommt ins Internet und hat eine 10.2.0.60 IP! (Ich stelle DHCP-Ranges immer auf 60-99 und will die VLANS mit dem zweiten Tupel des 10er Netzt benennen, das machts einfacher, bin dumm) - Success!
Jedoch, o weh - ich komme nicht mehr ins Internet von meiner Workstation und ich komme von nirgendswo auf meine Proxmox-Gui (aber immer noch auf den Switch) - aber Proxmox hat einer 10.2er IP. Das war der Moment an dem ich um viertel nach 1 abgebrochen habe und in Proxmox die alte Konfig eingespielt habe. Soweit so gut, sobald ich weiterteste, werde ich berichten, ich glaube ja ich muss einfach nur für Proxmox ins VLAN2 taggen und das dem Switch sagen. So wusste Proxmox ja garnichts mehr von den VLAN2-Paketen und wusste daher auch nicht wo das Gateway ist und kam deshalb nicht ins Internet und war auch nicht erreichbar. Der Rest kam aber noch ins interne Netz weil für VLAN1 getagged und wenn ich VLAN2 in OPNSense -> Firewall auf "allow all" stelle (daran hatte ich nicht mehr gedacht, war spät) müsste auch das Inernet wieder gehen. So jetzt meine Gedanken zum "Warum? Was habe ich jetzt wieder falsch gemacht?". Wenn die soweit richtig sind, beginne ich langsam zu verstehen. Also müssten diese Gedanken eigentlich falsch sein. :D

Edit: Xenforo verrafft "leere" Tabellenblöcke, großartig - not. Gonna fix that.
Edit2: This message is awaiting moderator approval, and is invisible to normal visitors. <- Why is that the case? Gonna check the rules, don't wanna create work for the staff...
 
Last edited:
Bei der Switch-Konfiguration kann ich dir leider auch nicht helfen. Da ist ja jeder Switch anders und jeder nennt leider Dinge anders (besonders Cisco).

Was du halt haben willst ist tagged VLAN (nennt Cisco "Trunking") für die Verbindung von Switch zu OPNsense und Switch zu Proxmox, da du sonst nicht mehrere VLANs über eine NIC schicken kannst.

Und die Firewall in der OPNsense ist auch recht kompliziert. Wenn ein Subnetz ins Internet können soll, dann musst du für das Subnetz auch manuell eine Regel erstellen, welche ausgehenden Traffic nach "any" erlaubt. Typisches vorgehen wäre da erst alle privaten Subnetze per Blacklisting zu blocken, zu welcher das Subnetz mit VLAN2 keinen Zugang haben soll und dann danach halt einfach alles an ausgehenden Traffic zu erlauben, was vorher nicht von einer der anderen Blacklisting-Regeln getriggert wurde.
 
Last edited:
Also nachdem ich jetzt jede mögliche Kombination ausprobiert habe und es nicht einmal funktionierte das proxmox irgendwie ins Netz kam solange es an diesem Switch hing und in einem VLAN steckte habe ich jetzt erst einmal frustriert aufgegeben. Ich habe jetzt einen unmanaged Switch statt dessen reingehängt und stehe jetzt vor der Wahl ein zweites Netz mit dem Cisco Switch aufzubauen oder mir etwas vernünftiges zu holen. Nunja. Frust.
 
Das wird schon funktionieren. Ist aber super komplex. Da muss alles perfekt passen. OPNsense-Einstellungen, Switch-Einstellungen, Proxmox-Einstellungen, Fritzbox-Einstellungen und VM-Einstellungen. Wenn da irgendwo auch nur ein Fehler ist läuft nichts. Am besten Schritt für Schritt durchtesten.
Wenn du einfach alles einstellst und dann nur guckst ob Proxmox ins Internet kommt, dann kann der Fehler quasi überall liegen. Stattdessen muss man da jedes Puzzlestück einzeln abchecken.

Mal ein paar Tipps:
1.) mit ping zwischen allen Verbindungen Testpakete senden und parallel per tcpdump an den Interfaces mithorchen, was da genau über die Interfaces läuft. Wenn du die Kommunikation mit tcpdump mitschneidest und dann mit Wireshark untersuchst, dann kannst du z.B. auch im Header der Pakete angucken ob die überhaupt getaggt sind und falls ja in welches VLAN die sollen.
2.) Nicht nur ganze Routen checken sondern Teilstecken. Also z.B. nicht einfach vom Proxmox-Host das Internet anpingen sondern erst einmal checken ob die Kommunikation von Proxmox zur OPNsense VM überhaupt klappt. Schafft es die Kommunikation von eno2.2 zur NIC der OPNsense? Falls ja, in der OPNsense gucken was die OPNsense dann mit den Paketen macht. Werden die vielleicht gedroppt? Du musst du in der OPNsense dann entsprechende Firewall-Regeln, Outbound-NAT etc mitloggen lassen und dann die Logs durchgehen und gucken, was OPNSense genau mit den Paketen macht. Wenn du sichergestellt hast, dass da die OPNsense die Pakete korrekt empfängt und über das WAN rauslässt, dann kannst du gucken, ob die VErbindung zwischen OPNsense und Fritzbox richtig klappt. Dann die Verbindung von Fritzbox ins Internet....und dann alles komplett noch einmal in die andere Richtung zurück von Internet zu Fritzbox, Fritzbox zu OPNsense, OPNsense zu Proxmox.
Und das musst du dann quasi für jedes VLAN und jede VM machen.

Halt Probleme eines nach dem anderen ausschließen und dich so Stück für Stück dem Ziel nähern.

Als erstes würde ich da gucken ob die Pakete zwischen Proxmox über den Switch zur OPNsense überhaupt richtig getaggt werden und ob da nicht dein Switch Pakete blockiert. Der Switch lässt ja nicht stupide alles durch. Ist ein Paket falsch getaggt oder die Regeln im Switch nicht passend eingestellt, dann blockt es der Switch und nichts kommt an.
 
Last edited:
Alles was du schreibst habe ich von vorne rein beherzigt - ich hab z.B. auf dem Proxmox-Host immer erst geschaut ob er auf sein Gateway kommt,nicht gleich wild ins Inertent gepingt. Bis auf Wireshark hab ich das quasi alles genauso gemacht die letzten 3 (?) Stunden. JEtzt hab ich kein Bock mehr auf den Drecks-Switch, denn:
Der letzte Absatz ist die Crux. Das Ding ist schlecht dokumentiert und Cisco-Benahmsung überaus seltsam. Und das man da 3 verschiedene Wege nach rom hat machts nicht besser. Da das ding eh zu klein ist und ich frustriert bin, wühle ich jetzt mal im Mikrotik-Regal, für den Rest such ich dann schon mal langsam was günstiges für Mellanox+Transceiver+Kabel.
 
Okay. 3 Wochen später sieht das ganze SEHR viel anders aus:
1. Der Cisco Switch ist hochkant raus geflogen, dafür steht dort jetzt ein Mikrotik- Exemplar, mit dem ich DEUTLICH besser zurecht komme
2. Die OPNsense ist nicht mehr virtualisiert, und sie ist zu zweit. Failover funktioniert hervorragend, auch VLANs laufen sauber so sie Physikalische NICs haben (egal ob VMs oder "echte" Rechner) - ich teste zur Zeit mit einem VLAN mit dem Tag "10" für den IP-Bereich 10.10.10.0/24, aber da sollen noch weitere hin
3. Meine interfaces-Datei sieht auch deutlich aufgeräumter aus:
Code:
auto lo
iface lo inet loopback

iface eno1 inet manual
iface eno2 inet manual

iface enp97s0f0 inet manual
iface enp97s0f1 inet manual

auto vmbr0
iface vmbr0 inet static
        address 10.10.0.11/24
        gateway 10.10.0.1
        bridge-ports enp97s0f0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094
Nur noch eine Bridge mit einer aktiven NIC, diese hängt am Switch an einem "Trunk" port - das funktioniert auch soweit.
Wie kriege ich jetzt am besten meine VMS in dieselben VLANs? Meine jetzige Idee dazu ist in etwa folgendes:
Code:
auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

iface enp97s0f0 inet manual

iface enp97s0f1 inet manual

auto vmbr0
iface vmbr0 inet static
        bridge-ports enp97s0f0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

iface enp97s0f0.1 inet static
        address 10.10.0.11/24
        gateway 10.10.0.1
       
iface enp97s0f0.10 inet static
        address 10.10.10.11/24

iface enp97s0f0.20 inet static
        address 10.10.20.11/24
Würde das so funktionieren?
 
Last edited:
Wie kriege ich jetzt am besten meine VMS in dieselben VLANs? Meine jetzige Idee dazu ist in etwa folgendes:
Code:
auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

iface enp97s0f0 inet manual

iface enp97s0f1 inet manual

auto vmbr0
iface vmbr0 inet static
        bridge-ports enp97s0f0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

iface enp97s0f0.1 inet static
        address 10.10.0.11/24
        gateway 10.10.0.1
       
iface enp97s0f0.10 inet static
        address 10.10.10.11/24

iface enp97s0f0.20 inet static
        address 10.10.20.11/24
[code]
Würde das so funktionieren?
Nein, deine VMs hängen an einer Bridge und können deine NIC nicht direkt benutzten. So wie du das da geschrieben hast erzeugst du nur VLAN interfaces womit dein Host (aber keine Gäste) in die VLANs kommen.
Deine Bridge ist aber auf VLAN aware eingestellt, kann also alle vlans kombinierte bridgen. In dem fall kannst du unter "VM -> Hardware -> nicX -> Edit die virtuellen NICs deiner VMs editieren und jeder virtuellen NIC dort eine VLAN ID verpassen. Dann kommen tagged Pakete aller VLANs über den Trunk gebündelt vom Switch zur physischen NIC, werden gehen weiter als tagged Traffic über die Bridge und dann zu den jeweiligen virtuellen NICs der VM. Wenn du für die virtuelle NIC die VLAN ID setzt, dann lässt die virtuelle NIC nur Pakete des richtigen VLAN rein in die VM und dabei werden die Pakete zu untagged Traffic umgewandelt (du musst dich in der VM also nicht mehr um VLANs kümmern). Und alles was als untagged Traffic aus der VM raus will wird dann automatisch mit der eingestellten VLAN ID getaggt.

Willst du das eine virtulle NIC in allen VLANs hängt, dann lässt du in den Einstellungen der virtuellen NIC die VLAN ID leer. Dann macht die virtuelle NIC keine Übersetzung zwischen tagged und untagged Traffic mehr und du muast dich innerhalb der VM selbst um die VLAN kümmern (was ja bei einer virtuellen OPNsense z. B. gewünscht und nützlich sein kann.
 
D.h. doch aber ich müsste an meiner Netzwerkkonfiguration des Hosts garnichts ändern und in den VMs jeweils nur das Tag setzen - wenn ich jetzt aber eine VM starte die an vmbr0 hängt und dieser sage "nimm VLAN tag 10" dann kriegt diese keine IP. Soweit war ich gefühlt schon 10mal. :(
 
D.h. doch aber ich müsste an meiner Netzwerkkonfiguration des Hosts garnichts ändern und in den VMs jeweils nur das Tag setzen - wenn ich jetzt aber eine VM starte die an vmbr0 hängt und dieser sage "nimm VLAN tag 10" dann kriegt diese keine IP. Soweit war ich gefühlt schon 10mal. :(
Nicht in den VMs selbst sondern an der virtuellen NIC über die WebGUI:
vlan.png


Über den Weg sollte deine VM ins VLAN kommen, aber du hast vom Host aus keinen Zugriff auf die VM, da der Host nicht an der Bridge hängt. Soll auch der Host an die VMs kommen müsstest du das VLAN Interface mit der IP hinter die Bridge und nicht hinter die NIC hängen.

Damit kommt dein Host in die VLANs aber nicht direkt an die VMs:
Code:
iface vmbr0 inet static
        bridge-ports enp97s0f0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

iface enp97s0f0.1 inet static
        address 10.10.0.11/24
        gateway 10.10.0.1
    
iface enp97s0f0.10 inet static
        address 10.10.10.11/24

iface enp97s0f0.20 inet static
        address 10.10.20.11/24

Damit kommt dein Host direkt an die VMs und in die VLANs:
Code:
iface vmbr0 inet static
        bridge-ports enp97s0f0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

iface vmbr0.1 inet static
        address 10.10.0.11/24
        gateway 10.10.0.1
     
iface vmbr0.10 inet static
        address 10.10.10.11/24

iface vmbr0.20 inet static
        address 10.10.20.11/24
 
Last edited:
Ja das meinte ich, sorry, war dumm ausgedrückt. Mit "nimm VLAN tag 10" meine ich genau das, also das setzen des tags in der virtuellen NIC der VM die an der vlan-aware bridge hängt. Bei mir ist aber der Haken "Firewall" nicht gesetzt (und meine VM hängt in nur einem vlan, logischerweise, ich teste ja noch), sonst siehts aus wie bei dir.
 
Hab nochmal editiert oben.

Hast du denn mal geguckt ob die Pakete wirklich vom Switch getagged werden wenn du bisher nur ein VLAN nutzt? Nicht dass da nur untagged traffic über die Bridge läuft. Und bei denen OPNsenses ist auch tagged VLAN richtig eingerichtet, dass da DHCP auch über VLANs läuft?

Versuch es doch sonst einmal so:
Code:
iface vmbr0 inet static
        bridge-ports enp97s0f0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

iface vmbr0.1 inet static
        address 10.10.0.11/24
        gateway 10.10.0.1
 
iface vmbr0.10 inet static
        address 10.10.10.11/24

iface vmbr0.20 inet static
        address 10.10.20.11/24

Starte den Server neu, verpasse einer VM mal eine Statische IP und versuch dann mal ob anpingen klappt (also z.B. vom Host über 10.10.10.11 zu der festen IP einer VM wo VLANID 10 gesetzt ist). Dann wüsstest du wenigstens ob der Host und die Gäste richtig mit VLANs umgehen können. Wenn das dann klappt könnte man Proxmox als Fehler ausschließen und gucken ob beim Switch oder den OPNsenses etwas falsch läuft.
 
Last edited:
Hab nochmal editiert oben.

Hast du denn mal geguckt ob die Pakete wirklich vom Switch getagged werden wenn du bisher nur ein VLAN nutzt? Nicht dass da nur untagged traffic über die Bridge läuft. Und bei denen OPNsenses ist auch tagged VLAN richtig eingerichtet, dass da DHCP auch über VLANs läuft?

Versuch es doch sonst einmal so:
Code:
iface vmbr0 inet static
        bridge-ports enp97s0f0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

iface vmbr0.1 inet static
        address 10.10.0.11/24
        gateway 10.10.0.1
 
iface vmbr0.10 inet static
        address 10.10.10.11/24

iface vmbr0.20 inet static
        address 10.10.20.11/24

Starte den Server neu, verpasse einer VM mal eine Statische IP und versuch dann mal ob anpingen klappt (also z.B. vom Host über 10.10.10.11 zu der festen IP einer VM wo VLANID 10 gesetzt ist). Dann wüsstest du wenigstens ob der Host und die Gäste richtig mit VLANs umgehen können. Wenn das dann klappt könnte man Proxmox als Fehler ausschließen und gucken ob beim Switch oder den OPNsenses etwas falsch läuft.
Wie schaue ich genau nach ob die Pakete richtig vom Switch getagged werden? Wie erkenne ich ob da nur untagged Traffic über die Bridge läuft? Prinzipiell würde ich sagen "nee, das passt schon" weil ich ja Clients ins VLAN10 physisch kriege, und die OPNSenses verpassen mir ja auch via DHCP IPs des "richtigen" VLANs.
Warum den Server neu starten? Mache ich bei nem Hypervisor eigentlich ungern.
Ich werd das mit der statischen IP mal testen und berichten, vielen Dank auf jeden Fall für die Hilfe.
Switch und OPNsense halte ich eigentlich für sauber, da ich beides ja am laufen habe für physische Clients...
 
Ich würde das wohl so machen falls dein Switch tagged VLAN (IEEE 802.1q) und LACP (IEEE 802.1ad) berherrscht:
View attachment 26105

Paar Anmerkungen:
1.) Wenn du einen LACP Bond auf dem Switch und in der OPNsense VM einrichtest und dann über den Bond alles als tagged VLAN laufen lässt, dann kannst du da zwischen beliebig vielen VLANs (ich habe da inzwischen über ein Dutzend^^) über nur 2 NICs routen. In der Summe würden dann alle VLANs zusammen auf max 2Gbit kommen, dass du da zwischen beliebigen VLANs mit annähernd 1Gbit routen könntest.

2.) Die Verbindung zwischen Proxmox-Host und Switch würde ich auch über ein tagged VLAN laufen lassen, damit du die verschiedensten VMs in unterschiedliche VLANs zuordnen kannst. Da könntest du dann auch beliebig viele VLANs mit 1Gbit über die Eno4 anbinden.

3.) andere Hosts kannst du dann über untagged VLAN mit dem Switch verbinden und die Ports am Switch so einstellen, dass da alles was am bestimmten Port rein-/rausgeht in ein bestimmten VLAN geleitet werden soll. Untagged Traffic ist ja nicht fix VLAN1, das kannst du normal für jeden Port einzeln einstellen, welche VLAN da für den Port als Standard-VLAN für untagged Traffic genutzt werden soll.

4.) Wenn du später eine andere NIC mit SR-IOV einbaust und alle VMs eine "virtuelle" NIC per PCI Passthrough durchgereicht bekommen haben brauchst du die vmbr0 ja eigentlich nicht mehr. Die könnte dann weg und du könntest auch eno4.1 wegnehmen und einfach Eno4 eine IP verpassen, dass da Proxmox eine IP für das WebUI, SSH und Internetzugang hat.

5.) Hättest du genügend Ports am Switch (also 24 statt 8) würde ich die Fritzbox auch nicht direkt an die NIC der OPNsense anschließen sondern die Fritzbox mit dem Router verbinden, Im Switch ein WAN Vlan anlegen was dem Port zugeteilt wird wo die Fritzbox dranhängt und dann würde ich das WAN Vlan mit auf den Trunk geben, dass es da parallel mit den anderen VLANs über den Bond läuft. Dann bräuchtest du auch Eno3 nicht mehr für die OPNsense VM und die würde mit 2 NICs auskommen. Kostet dich dann 2 Ports am Switch aber dafür hast du 1 NIC frei die anders benutzt werden könnte (z.B. um auch zwischen Proxmox-Host und Switch einen weiteren LACP Bond zu bilden).

Man könnte den LACP Bond ja auch auf dem Proxmox Host anlegen.
Frage:
Warum empfiehlst du den Bond auf der OPNsense?
Welchen Vorteil hat das gegenüber dem Bond auf Proxmox Host?
 
Man könnte den LACP Bond ja auch auf dem Proxmox Host anlegen.
Frage:
Warum empfiehlst du den Bond auf der OPNsense?
Welchen Vorteil hat das gegenüber dem Bond auf Proxmox Host?
Machst du den Bond in der VM kannst du die NICs per PCI Passthrough in die VM durchreichen und die NICs werden nicht durch die Virtualisierung gebremst. Ist jetzt bei Gbit nicht so kritisch aber spätestens bei 10Gbit wird die CPU schnell zum Flaschenhals. Dann gehen da nur noch 3-4Gbit statt 10Gbit (bei MTU 1500) durch, weil die NIC wegen der Virtualisierung einfach nicht mehr schafft, da alle Pakete von der CPU bearbeitet werden müssen.
 
  • Like
Reactions: cmonty14
Machst du den Bond in der VM kannst du die NICs per PCI Passthrough in die VM durchreichen und die NICs werden nicht durch die Virtualisierung gebremst. Ist jetzt bei Gbit nicht so kritisch aber spätestens bei 10Gbit wird die CPU schnell zum Flaschenhals. Dann gehen da nur noch 3-4Gbit statt 10Gbit (bei MTU 1500) durch, weil die NIC wegen der Virtualisierung einfach nicht mehr schafft, da alle Pakete von der CPU bearbeitet werden müssen.
Ich hatte bei Proxmox host mit 5 NICs dieses Setup geplant:
eth0, eth1:
bond0 + vmbr0, VLAN Proxmox VE Guest, VLAN DMZ, VLAN Smarthome, VLAN SAN, ...
eth2:
vmbr1, Proxmox VE Management
eth3:
PCI passthrough, WAN, OPNsense
eth4:
PCI passthrough, LAN, OPNsense

Meine Annahme war, dass der meiste Netzwerk Traffic über vmbr0 geht, weil dort die ganzen VLANs sind.
 
Ich hatte bei Proxmox host mit 5 NICs dieses Setup geplant:
eth0, eth1:
bond0 + vmbr0, VLAN Proxmox VE Guest, VLAN DMZ, VLAN Smarthome, VLAN SAN, ...
eth2:
vmbr1, Proxmox VE Management
eth3:
PCI passthrough, WAN, OPNsense
eth4:
PCI passthrough, LAN, OPNsense

Meine Annahme war, dass der meiste Netzwerk Traffic über vmbr0 geht, weil dort die ganzen VLANs sind.
Soll die OPNsense denn echt nur im LAN und WAN hängen? Die soll doch bestimmt auch eine virtuelle NIC in den ganzen anderen VLAN haben damit smarthome Sachen etc auch ins Internet kommen.

Eigene NIC fürs Management finde ich etwas überflüssig. Da könnte man auch ein MNGT VLAN für machen.

Da würde ich persönlich 4 NICs als LACP Bond auf dem Host einrichten an einer vlan aware Bridge vmbr0. Der vmbr0 verpasst du dann ein VLAN Interface für das Management (vmbr0.2 z.B. wenn das Management auf VLAN 2 soll) und gibst dem vmbr0.2 dann eine IP für SSH und das WebUI. Dann kommt nichts an Proxmox ran außer es sitzt auch im Management VLAN.

Die fünfte NIC kannst du dann ja für WAN lassen und an OPNsense durchreichen.

Alle VLANs und OPNsense würde ich dann über virtuelle NIC über vmbr0 laufen lassen. Dann haben alle VMs intern 10Gbit über Virtio und die VLANs können sich dann die 4Gbit vom Bond für die Außenkommunikation teilen.
Du kannst da ja dann beliebig viele VLANs über den Bond zum Switch laufen lassen wenn du tagged VLAN nutzt. Das gleiche mit vmbr0. Auf der kannst du auch beliebig viele VLANs parallel betreiben.
 
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 yours easily in our online shop.

Buy now!