Trunk zwischen OPNSense und Unifi-XG16 (VLANs tagged/untagged)

Started by white_rabbit, October 27, 2025, 10:58:00 AM

Previous topic - Next topic
Hallo.
Ich möchte einen Trunk zwischen unserer OPNSense (noch auf 25.1.12) und einem Unifi-US-16-XG (10 GBit Ports) neu konfigurieren, weil ich glaube, dass da bei uns ein Konfigurationsfehler vorliegt.

Im Moment ist es so, dass ich auf der OPNsense-Seite unter den Zuweisungen für alle VLANs, die auf der OPNSense ankommen sollen, eine Schnittstelle eingerichtet habe, die immer so lautet: ax0_vlan<xy> Nach meinem Verständnis werden diese VLANs damit tagged über den Trunk übertragen, richtig?

"Aus Gründen" (leider weiß ich nicht mehr warum) gibt es die Ausnahme für VLAN1. Dort haben wir lediglich die Zuweisung ax0 gemacht (also ganz ohne VLAN). Ist es richtig, dass damit über diese Schnittstelle VLAN1 (automatisch?) untagged übertragen wird? Ich denke, dass das ungünstig bzw sogar falsch ist, da z.B. bei den Statistiken zu den Schnittstellen viel zu viel Traffic über VLAN1 angezeigt wird, der da eigentlich gar nicht hingehört.

Wenn man es richtig/vernünftig machen will, muss offensichtlich auf beiden Seiten die gleiche Konfiguration eingestellt werden und hier kommen meine Fragen ins Spiel: Reicht es aus, wenn man auch für vlan1 die Zuordnung  ax0_vlan1  erstellt?
Auf der Unifi-Seite sieht das ganze so aus wie im angehängten Screenshot zu sehen. Ich habe dort schon mal vorab ein Profil erzeugt, bei dem alle VLANs tagged übertragen werden sollen. Was ich aber nicht weiß: Wie ist es mit den Optionen ganz unten? Welche davon sind notwendig und welche nicht?

Leider weiß ich nicht mehr, warum wir das damals zunächst anders eingerichtet hatten. Ist es möglich, dass eine ältere Version des Unifi-Controllers immer ein VLAN untagged mit übertragen will?
Über kurze Hilfe würde ich mich freuen.
Vielen Dank.




Unifi interpretiert - wie viele Hersteller - implizit VLAN 1 "intern" als "untagged". Deswegen kann / sollte man bei Unifi das VLAN 1 nicht nutzen und nur VLANs 2-4095 verwenden.

Allerdings kann Unifi neben tagged VLANs auf Trunk Ports auch ein untagged Netzwerk nutzen, es heißt meist "Default". FreeBSD kommt mit diesem Mix nicht so gut klar, es gibt ein paar Probleme - darunter das von Dir beobachtete, dass das untagged "Parent"-Interface ax0 den Traffic aller VLANs mitzählt.

Aufgrund der Tatsache, dass das Anlernen von Unifi-Geräten über "untagged" deutlich einfacher geht, sollte man es dennoch "mixed", d.h. mit tagged und untagged VLANs, betreiben (ist jedenfalls meine Meinung und ich mache es so).

Was bei Dir offenbar schiefgeht, ist, dass dass "Native VLAN/Network" auf "None" steht - somit wird der untagged traffic gar nicht durchgelassen. Du müsstest das auf "Default" stellen, damit der Verkehr von ax0 durchkommt.
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 450 up, Bufferbloat A+

Oder wenn man einen Port an der Sense frei hat, dann steckt man da das VLAN1 untagged vom Switch rein. Mache ich hier im Büro.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Quote from: meyergru on October 27, 2025, 02:03:56 PMWas bei Dir offenbar schiefgeht, ist, dass dass "Native VLAN/Network" auf "None" steht - somit wird der untagged traffic gar nicht durchgelassen. Du müsstest das auf "Default" stellen, damit der Verkehr von ax0 durchkommt.
Danke für die Erklärung. Also im Moment funktioniert es schon ... ich habe nicht die laufende Konfiguration des Unifi-Switches sondern die geplante Konfig geschickt. Im Moment ist es so eingestellt wie von Dir beschrieben: VLAN1 ist untagged und alles andere kommt tagged mit. Wenn nur die falsche Statistik auf der OPNSense ein Problem ist, kann ich es vielleicht ja doch so lassen wie es ist (Stichwort "Never touch a running system!")?? Falls es mit diesem Aufbau aber noch weitere Probleme auf der OPNSense gibt (???), wäre eine Änderung vielleicht doch ganz gut?!

Wir sind irgendwann mal mit dem Management-Netz in das VLAN.1 umgezogen. Vermutlich war der Grund genau wie von Dir beschriben: "Nur" da wurden die Accesspoints ohne größere Klimmzüge sofort gefunden?!?

Quote from: Patrick M. Hausen on October 27, 2025, 02:14:02 PMOder wenn man einen Port an der Sense frei hat, dann steckt man da das VLAN1 untagged vom Switch rein. Mache ich hier im Büro.
Das geht hier leider nicht, da sich zwischen dem Unifi-Switch und der OPNSense 6 Etagen befinden und "nur" eine 10GBit-Glasfaser-Leitung als direkte Verbindung zwischen den beiden zur Verfügung steht.

Bei mir ist es so ähnlich, ich will auch nur einen 10 Gbit-Link zwischen OpnSense und Switch.

Man kann das Unifi-Management-LAN schon auf ein VLAN konfigurieren und dann den Network Controller auch auf das VLAN verlegen. Die Unifi-Geräte können das - das Umschalten ist allerdings ein bisschen kitzlig, weil man erst die Geräte und dann den Controller umschalten muss. Mit einer VM als Controller habe ich das schon mal gemacht - zuerst falsch herum, was ein großer Spaß war, weil ich nicht bedacht hatte, dass ich zunächst nichts mehr ändern konnte, als der Controller erstmal weg war.

Problematisch wird es dann nur beim Anlernen von neuen Unifi-Geräten - die lauschen anfangs nur auf "untagged". Was man tun kann, ist, einen Switch-Ports als Access-Port auf das Management-VLAN zu konfigurieren und neue Unifi-Geräte an diesem Port anzulernen.

Damit hätte man nur noch getaggte VLANs.
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 450 up, Bufferbloat A+

Quote from: white_rabbit on October 27, 2025, 03:34:16 PMWir sind irgendwann mal mit dem Management-Netz in das VLAN.1 umgezogen. Vermutlich war der Grund genau wie von Dir beschriben: "Nur" da wurden die Accesspoints ohne größere Klimmzüge sofort gefunden?!?

Das ist so richtig und der Grund, weshalb man das in der ganzen Unifi-Infrastruktur auch haben will.

Es sollte aber möglich sein, nur für den Port zur OPNsense auch das VLAN 1 auf "tagged" zu stellen. Evtl. musst du dazu ein Dummy-VLAN (ich nehme gerne 99 oder 999 oder ...) anlegen, das du dann untagged konfigurierst, weil der Switch ohne PVID nicht mag. Da das dann nirgend wo anders verwendet wird, richtet das keinen Schaden an.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Sooooo. Ich komme nochmal auf das Thema zurück, weil ich jetzt die ultimative Lösung für das Problem "Unifi mit OpnSense" gefunden habe:

Technisch ist es offenbar so, dass Unifi "intern" das VLAN 1 nutzt, wenn Ports einfach als Access Ports aufgeschaltet werden. Dabei ist eben VLAN 1 das "Native VLAN" und VLANs stehen auf "Block All". Das "Native VLAN" wird einfach egress vom Tag 1 befreit und ingress wird das Tag 1 hinzugefügt. Dadurch ist das Standard-VLAN 1 an Access Ports verfügbar und sonst nichts. Will man ein anderes VLAN an diesem Access Port nutzen, nimmt man eben das als "Native VLAN".

You cannot view this attachment.

Der Normalfall für Trunk Ports (also z.B. andere Unifi Switche oder APs) ist, dass "Allow All" für VLANs genutzt wird, und weiterhin das VLAN 1 das "Native VLAN" ist - obwohl man das im Netzwerk gar nicht manuell auswählen kann: man lässt das Feld dann leer:



und nur in der Übersicht der Netzwerke steht unter VLAN ID dann die 1:

You cannot view this attachment.

Das Port-Profil dazu sieht etwa so aus:

You cannot view this attachment.

Somit wird das Native VLAN an solchen Ports untagged angeboten, zusätzlich werden aber alle VLANs entsprechend verteilt - bis auf VLAN 1, denn das Tag dafür wird egress entfernt und ingress hinzugefügt.

Hierdurch ergibt sich das beschriebene "Problem": Unifi rechnet damit, dass das Management VLAN untagged an allen Ports zur Verfügung steht, was das einfache Anlernen neuer Unifi-Devices ermöglicht. Weitere VLANs werden dann getaggt.

OpnSense hingegen hat bekanntlich in bestimmten Bereichen Probleme mit dem Mischen von tagged und untagged VLANs auf dem selben physischen Port.

Zwar kann man auch bei Unifi das Management VLAN auf ein getaggtes VLAN legen, dazu müssen die Geräte aber erstmal worden angelernt sein - ein typischer Catch22.

Die Lösung ist eigentlich ganz einfach, ähnlich wie Patrick es beschrieb: Man kann nämlich auch ein Profil für Trunk Ports anlegen, bei dem das "Native VLAN" = "none" ist. Dann findet einfach kein egress/ingress-Tagging mehr statt - aber das Endgerät kann selbst jedes VLAN nutzen - inkl. VLAN 1. Wenn man dann das Management-Interface in OpnSense als VLAN 1 anlegt und das physische Parent-Interface nicht konfiguriert, funktioniert alles auf einmal: Unifi behandelt die Ports, wie es will und OpnSense taggt alle VLANs.

You cannot view this attachment.

Ich beschreibe jetzt absichtlich NICHT Schritt-für-Schritt, wie man den Übergang schafft, ohne sich dabei wegzuschießen, aber als Hinweis:

1. Man sollte sich zuerst das VLAN 1 in OpnSense anlegen und sicherstellen, dass man mindestens Zugriff auf die Konsole hat (oder Layer-2-Zugriff auf ein anderes Netzwerkinterface, als das untagged), um dort agieren zu können.

2. Man sollte ebenfalls dafür sorgen, dass man Layer-2-Zugriff auf die Unifi Console hat, der nicht von der OpnSense abhängig ist. Zuerst sollte man sich ein neues Trunk Profil mit "Default VLAN" = "none" und "Allow All" für den OpnSense-Port bauen, auf das man dann umschalten kann.

3. Vorsichtig, wenn man die Assigments der Interfaces ändert - der DHCP-Server bekommt die Änderung nicht mit, den muss man selbst neu starten (oder OpnSense rebooten), anderenfalls verlieren die Unifi-Devices nach Ablauf des Leases die IP-Adressen und sind nicht mehr erreichbar.

Das ist notwendig, weil man nacheinander beide Ports (am Switch und an der OpnSense) umschalten muss - wenn etwas schiefgeht, kann man sonst nicht mehr zurück (been there, done that).
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 450 up, Bufferbloat A+