Hallo @riseofdead,
weshalb definierst Du den Port überhaupt als GENERAL? Das normale Verhalten eines TRUNK-Ports würde genau das machen, was Du willst. Aus dem Handbuch:
TRUNK:
When receiving frames:
• The port adds a VLAN tag with the PVID to the untagged frames, and then decides to accept or drop the frame according to whether the PVID is in the port’s allowed VLAN list
[...]
When forwarding frames:
• Normally, the port forwards the frames with tags. If the frames’ VLAN tags match its PVID, the port will forward the frames without tag.
Das ist das Verhalten, welches man für ein Default oder auch Native genanntes VLAN möchte: Wenn ein untagged frame am Trunk-Port des Switches eintrifft, wird eine VLAN-ID gemäß der PVID vergeben. Damit der Frame weitergeleitet wird, muss der Trunk-Port auch Mitglied in diesem VLAN sein. Wenn ein tagged frame am Trunk-Port ausgegeben wird und die VLAN-ID der PVID entspricht, wird der VLAN-Tag entfernt. Innerhalb des Switches existieren also keine untagged frames.
Wenn ich das richtig verstehe, definiert bei einem GENERAL-Port die egress rule, ob ein Tag entfernt wird oder nicht. Leider lässt sich das Handbuch nicht genauer darüber aus, ob nur ein der PVID entsprechender Tag entfernt wird oder alle (die GENERAL/TRUNK-Unterscheidung wird auf meinem T1600G-28TS nicht getroffen und sie ist auch nur in sehr speziellen Fällen nötig, nämlich dann, wenn man auf einem Trunk-Port ein von sonstwoher untagged frame bekam, der via PVID dem Default-VLAN zugewiesen wurde und dessen VLAN-Tag eben bei Weiterleitung von einem Trunk-Port nach aussen hin nicht entfernt, sondern ausnahmsweise beibehalten werden soll). Die Entfernung von VLAN-Tags, die der PVID entsprechen, ist eigentlich das »normale« und gewünschte Verhalten eines Trunk-Ports.
Kurzum:
- Du definierst zuerst ein Default-VLAN für's Management, das ist in der Voreinstellung das VLAN 1. Kann aber auch jede andere VID sein.
- Deine Endgeräte (PC usw.) sind an Ports, die nur Mitglied in einem VLAN sind und deren PVID die selbe ID hat wie das VLAN = Netz für eine SSID des APs, in diesem Falle das Netz, in dem diese Geräte sein sollen, z.B. VLAN 10 (sogenannter »Access-Port«).
- Dein AP-Controller - oder wer auch immer untagged frames für's Management des APs braucht - kann wie ein sog. Access-Port konfiguriert werden, also Mitglied im Default-VLAN 1 mit PVID 1.
- Der AP muss im VLAN 1 und 10 zuhause sein. PVID ist 1, damit frames aus dem Default-VLAN untagged an ihn rausgehen und umgekehrt eintreffende untagged frames vom AP die VID 1 spendiert bekommen.
- Der Port zum Router hin wird den VLANs 1 und 10 zugeordnet und seine PVID ist 1. Der Router muss ein untagged Interface (VID 1) und ein tagged Interface (VID 10) definieren, wenn er Traffic aus beiden Netzen erhalten soll. Alternativ - wenn er nur im VLAN 10 erreichbar sein soll - halt nur dem VLAN 10 zuweisen und die PVID auch auf 10 stellen (»Access-Port«) sowie untagged frames verwenden (kein Management-Traffic dann zum Router hin).
Ob Du nun Daten in VLAN 10 auch an den AP-Controller (oder sonstiges Management-Gerät) ausleiten willst, hast ja nicht definiert, geht aber im Zweifelsfalle auch wie mit dem Router-Port skizziert.
Nebenbei: Wenn ich das richtig verstanden habe, hast Du im Switch ein Interface für das VLAN 10 mit der IP 192.168.10.2 eingerichtet. Welche IP hat der Router? Dessen IP muss das Gateway für das Netz sein, nicht die 192.168.10.2, das ist ja nur ein virtuelles Interface für's Routing in das VLAN, aber nicht das Default-Gateway, das der DHCP-Server den Clients im VLAN 10 anbieten soll. Oder habe ich was falsch verstanden? Falls ja, zeichne mal ein Bild der genauen Topologie mit AP, Controller und Router.
Ehrlich gesagt, ein Default- bzw. eigentlich korrekter: Native-VLAN wie auch die deswegen (!) eingeführte Unterscheidung in GENERAL/TRUNK-Ports ist m.E. ein ziemlicher Krampf. Wenn man an einen Controller nur untagged frames eines Management-Netzes weiterleiten will, kann man auch einen normalen Access-Port dafür nutzen. Wenn der Controller aber Mitglied in allen Netzen sein muss, ist's m.E. Blödsinn, das Management-Netz als einziges untagged zu behandeln. Native-VLANs wurden mal eingeführt für gemischte Netze, in denen konkurierend zu VLAN-fähigen Maschinen weitere, ältere Kisten laufen, die kein VLAN können, sowie für eine Handvoll (meist Hersteller-spezifischer) Protokolle, die auch auf Trunk-Ports eines Servers untagged ausgegeben werden müssen.
Natürlich ist irgendein VLAN immer ein Default-VLAN in dem Sinne, dass die Ports einem VLAN zugewiesen sein müssen, aber zum Native-VLAN kommt halt noch die spezielle Semantik bei Trunk-Ports dazu (PVID-Tags auch egress entfernen). Wie gesagt, innerhalb eines VLAN-fähigen Switches gibt es gar keine untagged frames, obwohl es technisch mit der VID 0 möglich wäre.
Ansonsten gilt für's Native-VLAN: wenn möglich, vermeiden in einem VLAN-fähigen Netz mit nur VLAN-fähigen Geräten. Bei UBNT-APs geht das ja nun leider nicht - ein Grund für mich, deren WLAN-APs zu vermeiden, obwohl ich ihre EdgeRouter-Produkte ganz gerne einsetze.