Probleme mit VLANS / OPNSENSE

tobasium

Member
Mar 4, 2021
8
2
23
38
Moin Zusammen. ich benötige mal euer Schwarmwissen. Ich stecke leider gerade etwas fest.

Umgebung:

Proxmox VE
vmbr0 = WAN
vmbr1 = LAN / Trunk Richtung UniFi

VM OPNsense als Firewall (VLAN-Gateways)

hinter vmbnr1 -> UniFi Switche

Trunk-Port zu Proxmox: Native VLAN: 1 (Default)
Tagged VLANs: 10, 20, 30, 40, 50, 99, 120

Unraid -> eigener Switch-Port -> Native VLAN: 20 (SERVICES)

VLANs funktionieren für physische Clients, VMs und OPNsense einwandfrei.

ich würde nun gerne auch meinen LXC's / VM's ein VLAN zuweisen. Laufen alle über vmbr1 aktuell.

Leider scheitere ich an der Durchführung.

Reines VLAN Tag setzen im LXC bringt keinen Erfolg.
Sobald ich aber auf vmbr1 LXC-Aware aktiviere, ist mein z.B. mein Unraid-Server im VLAN20 direkt offline.
deaktiviere ich es wieder ist mein Unraid Server sofort wieder da.

Könnte mir jemand Hilfestellung geben?

Vielen Dank. 1769954334981.png
1769954342967.png
1769954351916.png
1769954394622.png1769954404388.png
 
Hi tobasium, etwas knifflig, weil die begrifflichkeiten nicht ganz zu meiner auffassung passen. Ich versuche es Malzu erklären und hoffe, dass es dir hilft:


VLAN:
Native VLAN bedeutet eigentlich etwas anderes und zwar, welchem VLAN Traffic ohne Tag zugeordnet wird. Du brauchst das nicht.

Untagged Ports in einem VLAN sind die Ports, wo Endgeräte dran hängen.
So wird gesteuert, dass die Frames nur an den Port gehen, der Untagged in dem VLAN ist. Das Gerät bekommt da keinen VLAN-tag mit. Wenn das Endgerät an den untagged-Port sendet, wird ein VLAN Tag angehängt.
Die getaggten Frames werden nur über die entsprechend konfigurierten Links geschickt. Also die Uplinks haben häufig viele tags auf den ports.

Also zuerst config-Backups machen,
dann schlage ich vor:

-Stelle den Port am Switch ein auf Untagged im VLAN 20 für dein Unraid

-Stelle die Ports am Switch, wo die VMs dran hängen auf tagged für alle VLANs und untagged fürs VLAN vom PVE-Management-Interface

- die virtuellen NICs an den VMs mit den jeweiligen Tags versehen (müsste denselben effekt haben wie untagged am Switch-Port)

vmbr1 auf VLAN-Aware setzen und alle VLANs zulassen

Alternativ gibt es glaube ich auch die Möglichkeit für Subinterfaces, wie vmbr1.10, womit du auch eine VM provisionieren kannst.

Kannst du damit etwas Anfangen?
 
Guten Morgen,

Vielen Dank.

Ich denke ich bin da schon etwas weiter gekommen. Ist zwar noch nicht ganz in meinem Kopf.

Aber wen ich alles richtig verstanden habe ist mein Problem, das proxmox bei vlan Aware an nicht weiß wohin es die tags hinschicken soll und sie somit verwirft. Aus dem Grund geht bei Aktivierung alles in meinem Netzwerk Außer die vlans.

Ich muss somit wohl die Netzwerkkarte der opnsense VM mit den passenden Tags versehen. Bsp: virtio=BC:24:11:60:6D:88,bridge=vmbr1,trunks=10;20;30;40;50;99;120

Die alternative ist wohl die z.B lxc-Konfig anzupassen.: name=eth0,bridge=vmbr1.20,hwaddr=XX:XX...,ip=dhcp,type=veth(Das .20 hinter der Bridge bewirkt, dass der Host ein virtuelles VLAN-Device erstellt und den LXC dort hineinhängt. Für die OPNsense sieht das Paket dann so aus, als käme es getaggt über den Trunk an.)

Mich wundert es nur das ich hierüber bis jetzt nicht viel gelesen hab. Die meisten Dokus aktivieren wohl Aware uns es läuft direkt in der VM ohne Zusatzkonfiguration.

Ich werde mich da die Tage nochmal dran versuchen. Das ganze Eilt nicht. Will es aber Grundsätzlich immer verstehen bevor ich weiter mache.
 
Ich habe eigentlich 1:1 dasselbe Setup, was du (glaube ich) versuchst, zu erstellen.
Das ganze Thema Bond und Co. lasse ich hier mal weg...

Proxmox-Host mit
- vmbr0 (WAN) an vmbr0 hängt direkt der WAN Access.
- vmbr1 (LAN) vmbr1 geht auf einen Unifi-Switch.
1770190543183.png
vmbr1 ist VLAN-aware (damit es die VLANS der OPNsense weitergibt).

In der OPNsense-VM selbst ist nix konfiguriert.
1770190503472.png

Im Unifi musst du alle VLANs anlegen, die du nutzen willst, sonst switcht er diese nicht.
und auf dem Port habe ich dann alle VLAN's erlaubt
1770190856909.png



Andere VM's haben dan wenn sie in ein VLAN isoliert sein sollen auf dem Proxmox einen Tag
1770190921001.png

Andere Geräte die in ein VLAN sollen, haben dann am Switch einen Tag.
1770191007143.png

in der Opnsense sieht es so aus:
1770191125165.png
 
  • Like
Reactions: ITMader and beisser
Ich habe eigentlich 1:1 dasselbe Setup, was du (glaube ich) versuchst, zu erstellen.
Das ganze Thema Bond und Co. lasse ich hier mal weg...

Proxmox-Host mit
- vmbr0 (WAN) an vmbr0 hängt direkt der WAN Access.
- vmbr1 (LAN) vmbr1 geht auf einen Unifi-Switch.
View attachment 95481
vmbr1 ist VLAN-aware (damit es die VLANS der OPNsense weitergibt).

In der OPNsense-VM selbst ist nix konfiguriert.
View attachment 95480

Im Unifi musst du alle VLANs anlegen, die du nutzen willst, sonst switcht er diese nicht.
und auf dem Port habe ich dann alle VLAN's erlaubt
View attachment 95482



Andere VM's haben dan wenn sie in ein VLAN isoliert sein sollen auf dem Proxmox einen Tag
View attachment 95483

Andere Geräte die in ein VLAN sollen, haben dann am Switch einen Tag.
View attachment 95484

in der Opnsense sieht es so aus:
View attachment 95485

Ich glaub der Hauptunterschied bei mir ist das ich in der Bridge vmbr1 2 NIC'S zusammen fasse. Aktuell läuft bei mir ein Großteil der Endgeräte noch über Unifi Netzwerk Default

1770198301974.png

Oder opnsense Schnittstelle LAN

1770198452822.png
1770199256332.png

Also sollte meine config im Unifi Switch so schon passen, Ohne VLan-Aware passt das auch soweit, Meine Endgeräte landen sauber im VLAN nach Portprofil:
1770198685543.png

Problem wird eher der Mischverkehr sein. Hart gesagt hängt an enp2s0 der Unifi Switch am enp3s0 hängt ein LAN Client im 192.168.178. Netz


Vielleicht gehe ich hier wirklich mal in den Testmodus. Ob das ganze geht wen in vmbr1 nur 1 NIC drin ist. Brauche aber leider aktuell in der Praxis diesen 1 Zusatzport am Proxmox.
 

Attachments

  • 1770198490265.png
    1770198490265.png
    69.9 KB · Views: 1
Last edited:
Guten Morgen,

Vielen Dank.

Ich denke ich bin da schon etwas weiter gekommen. Ist zwar noch nicht ganz in meinem Kopf.

Aber wen ich alles richtig verstanden habe ist mein Problem, das proxmox bei vlan Aware an nicht weiß wohin es die tags hinschicken soll und sie somit verwirft. Aus dem Grund geht bei Aktivierung alles in meinem Netzwerk Außer die vlans.

Ich muss somit wohl die Netzwerkkarte der opnsense VM mit den passenden Tags versehen. Bsp: virtio=BC:24:11:60:6D:88,bridge=vmbr1,trunks=10;20;30;40;50;99;120

Die alternative ist wohl die z.B lxc-Konfig anzupassen.: name=eth0,bridge=vmbr1.20,hwaddr=XX:XX...,ip=dhcp,type=veth(Das .20 hinter der Bridge bewirkt, dass der Host ein virtuelles VLAN-Device erstellt und den LXC dort hineinhängt. Für die OPNsense sieht das Paket dann so aus, als käme es getaggt über den Trunk an.)

Mich wundert es nur das ich hierüber bis jetzt nicht viel gelesen hab. Die meisten Dokus aktivieren wohl Aware uns es läuft direkt in der VM ohne Zusatzkonfiguration.

Ich werde mich da die Tage nochmal dran versuchen. Das ganze Eilt nicht. Will es aber Grundsätzlich immer verstehen bevor ich weiter mache.
Richtig, Proxmox verwirft bei VLAN aware die getaggten Frames, weil die NICs der VMs nicht getaggt sind. Du kannst direkt pro VM-NIC einen VLAN-Tag konfigurieren.

Richtig, die Netzwerkkarte der opnsense VM braucht alle Tags. Das solltest du in OPNSense einstellen können. Also
OPNSense NIC: Tagged 10;20;30;40;50;99;120
-> Proxmox vmbr1: VLAN-aware 2-4094 oder eingeschränkt: 10;20;30;40;50;99;120
-> Physische Ports -> Switch-Ports tagged 10;20;30;40;50;99;120

So können die getaggten Pakete dann über die so konfigurierten Links in dein Netzwerk wandern.

Für VM Kommunikation ins Netzwerk:
Eine neue Bridge ohne physisches Interface erstellen, z.B. vmbr2 und dort auch vlan-aware für alle VLANs einstellen. An diese bridge die VMs und auch die OPNSense anschließen und nur die NICs der VMs mit tag versehen. Damit kommunizieren die VMs untereinander und über die OPNSense in andere VLANS und ins physikalische netzwerk.
 
Richtig, Proxmox verwirft bei VLAN aware die getaggten Frames, weil die NICs der VMs nicht getaggt sind. Du kannst direkt pro VM-NIC einen VLAN-Tag konfigurieren.

Richtig, die Netzwerkkarte der opnsense VM braucht alle Tags. Das solltest du in OPNSense einstellen können. Also
OPNSense NIC: Tagged 10;20;30;40;50;99;120
-> Proxmox vmbr1: VLAN-aware 2-4094 oder eingeschränkt: 10;20;30;40;50;99;120
-> Physische Ports -> Switch-Ports tagged 10;20;30;40;50;99;120

So können die getaggten Pakete dann über die so konfigurierten Links in dein Netzwerk wandern.

Für VM Kommunikation ins Netzwerk:
Eine neue Bridge ohne physisches Interface erstellen, z.B. vmbr2 und dort auch vlan-aware für alle VLANs einstellen. An diese bridge die VMs und auch die OPNSense anschließen und nur die NICs der VMs mit tag versehen. Damit kommunizieren die VMs untereinander und über die OPNSense in andere VLANS und ins physikalische netzwerk.
Vielen Dank.

Das ganze mit den Tags auf dem NIC für opnsense geht aber nicht über die gui, sondern erfordert händische Bearbeitung oder habe ich nur was übersehen?
 
Vielen Dank.

Das ganze mit den Tags auf dem NIC für opnsense geht aber nicht über die gui, sondern erfordert händische Bearbeitung oder habe ich nur was übersehen?
Auf der virtuellen NIC für OPNsense kein Tag einrichten. Die Tags richtest du im OPNSense ein und werden dann über die interne vlan-aware Bridge weitergeleitet.
So sollte es eigentlich laufen.

Bitte um kurze Rückmeldung, wie sich die Umgebung verhält :)
 
Last edited:
Auf der virtuellen NIC für OPNsense kein Tag einrichten. Die Tags richtest du im OPNSense ein und werden dann über die interne vlan-aware Bridge weitergeleitet.
So sollte es eigentlich laufen.

Bitte um kurze Rückmeldung, wie sich die Umgebung verhält :)
Ok, das verwirrt ein wenig. Kannst du mir noch sagen wo ich das in der opnsense machen könnte?

Ich sehe hier tatsächlcih keine Möglichkeit.

1770207373879.png
 
du hast da ja die VLAN*-Schnittstellen.
leider habe ich kein OPNSENSE, deshalb hier keine 1:1 anleitung aber so meine ich das:
Du hast die Interfaces vom Typ VLAN --- (VLAN*)... Du musst diese jetzt einer neuen Schnittstelle zuweisen z.B. Name intern, Gerät vtnet2
Außerdem musst du die VLANs auch dem LAN-Interface vtnet1 zuweisen, damit auch draußen Geräte mit den gleichen VLANs sein können.

also:
- neue Schnittstelle für OPNSense erstellen, die am host mit vmbr2 verbunden ist
- Unter "Zuweisungen" die VLANs den LAN und INTERN-Schnittstellen zuweisen

So sollten die VMs nur über INTERN mit OPNSense verbunden sein und OPNSense filtert dann und leitet den Traffic in andere VLANs und ins physische Netzwerk

macht das so Sinn?
 
Last edited:
du hast da ja die VLAN*-Schnittstellen.
leider habe ich kein OPNSENSE, deshalb hier keine 1:1 anleitung aber so meine ich das:
Du hast die Interfaces vom Typ VLAN --- (VLAN*)... Du musst diese jetzt einer neuen Schnittstelle zuweisen z.B. Name intern, Gerät vtnet2
Außerdem musst du die VLANs auch dem LAN-Interface vtnet1 zuweisen, damit auch draußen Geräte mit den gleichen VLANs sein können.

also:
- neue Schnittstelle für OPNSense erstellen, die am host mit vmbr2 verbunden ist
- Unter "Zuweisungen" die VLANs den LAN und INTERN-Schnittstellen zuweisen

So sollten die VMs nur über INTERN mit OPNSense verbunden sein und OPNSense filtert dann und leitet den Traffic in andere VLANs und ins physische Netzwerk

macht das so Sinn?

Hi,

zugewiesen habe ich die Schnittstellen ja bereits.
1770217303501.png

Trotzdem wird es mit Vlan Aware nicht geroutet. So als kommen die Tags dan nicht mehr zur Sense. Mein Unraid Server ist ja ohne VLAN-Aware jetzt Sauber im VLAN20. Daher ging ich tatsächlcih davon aus ich mach das in der VM. an der Netzwerkkarte net1.

Denke ich komme an mehreren Testversuchen nicht vorbei.
 
Also ich habe jetzt heute noch ein wenig getestet.

Egal wie meine config von vmbr1 aussieht. Sobald VLAN-aware angeht blockt proxmox den VLAN Traffic sodas er nciht bei der opnsense landet.

Mein weg war jetzt wie folgt.

Auf Proxmox wurde die Bridge vmbr1 VLAN-aware aktiviert und als Trunk-Bridge konfiguriert.

Damit getaggte VLANs zuverlässig an der OPNsense ankommen, wurde an der virtuellen Netzwerkkarte der OPNsense-VM explizit festgelegt, welche VLAN-Tags erlaubt sind (Trunk-Konfiguration auf der VM-NIC, z. B. trunks=10;20;30;40;50;99;120).
Ohne diese explizite Freigabe würden getaggte Frames von Proxmox verworfen.


Die VLAN-Tags werden ausschließlich an der OPNsense terminiert:
  • VLAN-Interfaces (10, 20, 30, …) liegen auf vtnet1
  • IP-Adressen, DHCP, Routing und Firewall erfolgen nur dort

Proxmox selbst wertet VLANs nicht inhaltlich aus, sondern:

  • fungiert als reiner L2-Transport

Untagged Geräte oder VMs/LXC ohne VLAN-Tag auf vmbr1 befinden sich weiterhin im klassischen LAN.
 
Ok, interessantes Vorgehen. Danke für die Infos
Bei mir sind VLANs direkt an den VM Interfaces konfiguriert, die Bridge ist VLAN-Aware und die Switchports, an denen der Host hängt getagged.
Ich möchte auch eine OPNSense zu installieren, um die Firewall-Virtualisierung zu üben. (Und damit ich zuhause eine eigene Firewall habe) =)
 
  • Like
Reactions: tobasium
Ich werde hier den Thread noch weiter offen lassen. Aktuell beobachte ich alles. Aber es scheint so tatsächlich alles zu laufen. Ich gebe in 1 Woche nochmal ein Feedback.