Ein Virtual Local Area Network (VLAN) ist eine logische Segmentierung eines physischen Netzwerks auf Layer 2 des OSI-Modells. Ohne VLANs bildet ein Switch eine einzige Broadcast-Domäne: Jedes Gerät empfängt Broadcasts aller anderen Geräte. Mit VLANs lassen sich Geräte in isolierte Gruppen aufteilen, die sich verhalten, als wären sie an getrennten physischen Switches angeschlossen – selbst wenn sie am selben Hardware-Switch hängen.
VLANs lösen mehrere praktische Probleme gleichzeitig:
Sicherheit: IoT-Geräte, Gäste oder unsichere Server werden von kritischen Systemen getrennt. Ein kompromittiertes Gerät in einem VLAN kann nicht ohne weiteres auf Geräte in einem anderen VLAN zugreifen.
Broadcast-Kontrolle: In großen Netzen erzeugen Protokolle wie ARP, DHCP oder Spanning Tree erheblichen Broadcast-Traffic. VLANs begrenzen diesen Traffic auf die jeweilige Broadcast-Domäne.
Flexibilität: Abteilungen oder Funktionsgruppen können logisch zusammengefasst werden, unabhängig davon, wo die Geräte physisch stehen.
Ressourcenteilung: Mehrere logische Netze teilen sich dieselbe physische Infrastruktur, ohne sich gegenseitig zu beeinflussen.
Im Homelab ist VLAN-Segmentierung besonders wertvoll: Ein separates IoT-VLAN verhindert, dass eine kompromittierte Glühbirne auf den NAS zugreifen kann. Ein Management-VLAN schützt den Zugang zu Switches und Routern. Ein Gäste-VLAN bietet Internetzugang, ohne das private Heimnetz zu exponieren.
2. IEEE 802.1Q – VLAN-Tagging
Der Standard IEEE 802.1Q definiert, wie VLAN-Informationen in Ethernet-Frames kodiert werden. Ohne diesen Standard hätte jeder Hersteller sein eigenes Tagging-Verfahren entwickelt und Interoperabilität wäre unmöglich. Mit 802.1Q gibt es eine einheitliche Methode, mit der jeder Frame einem bestimmten VLAN zugeordnet werden kann.
2.1 Tag-Format
Ein 802.1Q-Tag wird in den Ethernet-Frame zwischen der Quell-MAC-Adresse und dem EtherType/Length-Feld eingefügt. Der Tag umfasst 4 Byte:
TPID (Tag Protocol Identifier): 2 Byte, immer 0x8100 – signalisiert, dass ein VLAN-Tag folgt.
PCP (Priority Code Point): 3 Bit – ermöglicht Quality-of-Service-Priorisierung (0–7).
DEI (Drop Eligible Indicator): 1 Bit – zeigt an, ob der Frame bei Überlast verworfen werden darf.
VID (VLAN Identifier): 12 Bit – die eigentliche VLAN-ID, Wertebereich 0–4095. VLAN 0 ist reserviert, VLAN 4095 ebenfalls. Nutzbar sind also die IDs 1–4094.
Da die Frame-Größe durch den Tag um 4 Byte wächst, müssen Switches und Netzwerkkarten Jumbo Frames oder zumest eine MTU von 1522 Byte unterstützen, um getaggte Frames vollständig transportieren zu können.
2.2 Native VLAN
Das Native VLAN ist ein Sonderfall auf Trunk-Ports: Frames, die zu diesem VLAN gehören, werden ohne Tag übertragen. Dies dient der Abwärtskompatibilität mit Geräten, die kein 802.1Q verstehen. Standardmäßig ist VLAN 1 das Native VLAN bei Cisco-Geräten.
Das Native VLAN birgt ein Sicherheitsrisiko: Bei einem sogenannten VLAN-Hopping-Angriff (Double Tagging) kann ein Angreifer durch das Einfügen eines doppelten Tags Frames in ein anderes VLAN schleusen. Die Gegenmaßnahme ist einfach: Das Native VLAN sollte niemals ein produktiv genutztes VLAN sein. Weise Trunk-Ports ein dediziertes, ansonsten ungenutztes VLAN (z. B. VLAN 999) als Native VLAN zu.
3. Access- und Trunk-Ports
Switches unterscheiden grundlegend zwischen zwei Port-Typen, die bestimmen, wie mit VLAN-Tags umgegangen wird.
3.1 Access-Port
Ein Access-Port gehört genau einem VLAN an. Frames, die von einem Endgerät (PC, Drucker, IP-Kamera) ankommen, haben keinen VLAN-Tag – das Endgerät weiß nichts von VLANs. Der Switch fügt intern den Tag des konfigurierten VLANs hinzu, wenn er den Frame weiterleitet. Beim Ausgang zum Endgerät entfernt der Switch den Tag wieder.
Typische Anwendung: Ein PC im Büro-VLAN (z. B. VLAN 10) ist an einem Access-Port angeschlossen. Er sendet und empfängt normale Ethernet-Frames ohne jegliche VLAN-Kennzeichnung.
3.2 Trunk-Port
Ein Trunk-Port überträgt Frames aus mehreren VLANs gleichzeitig. Jeder Frame trägt dabei seinen 802.1Q-Tag, damit der empfangende Switch weiß, zu welchem VLAN er gehört. Trunk-Ports werden typischerweise zwischen Switches untereinander oder zwischen Switch und Router/Firewall eingesetzt.
Auf einem Trunk-Port wird konfiguriert, welche VLANs erlaubt sind (allowed VLANs). Nicht benötigte VLANs sollten explizit ausgeschlossen werden – das reduziert unnötigen Broadcast-Traffic und verbessert die Sicherheit (Principle of Least Privilege).
Typische Anwendung: Die Uplink-Verbindung zwischen einem Access-Switch im Büro und einem Core-Switch im Serverraum ist ein Trunk-Port, der VLANs 10 (Büro), 20 (Server), 30 (Management) und 40 (IoT) trägt.
4. Inter-VLAN-Routing
VLANs sind per Definition voneinander isoliert – Geräte in VLAN 10 können nicht direkt mit Geräten in VLAN 20 kommunizieren. Sobald Kommunikation zwischen VLANs nötig ist (z. B. ein Client im Büro-VLAN will auf einen Server im Server-VLAN zugreifen), muss ein Layer-3-Gerät (Router oder Layer-3-Switch) eingesetzt werden. Dieser Vorgang heißt Inter-VLAN-Routing.
4.1 Router-on-a-Stick
Beim Router-on-a-Stick-Verfahren ist ein Router mit einem einzigen physischen Trunk-Port am Switch angeschlossen. Auf dem Router werden logische Subinterfaces konfiguriert – je eines pro VLAN. Jedes Subinterface trägt die Gateway-IP-Adresse für sein VLAN.
Beispiel: Ein Router hat das physische Interface eth0, darauf werden konfiguriert:
eth0.10 – Gateway für VLAN 10: 192.168.10.1/24
eth0.20 – Gateway für VLAN 20: 192.168.20.1/24
eth0.30 – Gateway für VLAN 30: 192.168.30.1/24
Der gesamte Inter-VLAN-Traffic läuft über dieselbe physische Leitung. Das ist ein Bottleneck bei hohem Traffic, für kleinere Homelab-Setups aber vollkommen ausreichend. OPNsense und viele andere Firewall-Distributionen setzen genau dieses Modell ein.
4.2 Layer-3-Switch
Ein managed Layer-3-Switch kann nicht nur auf Layer 2 switchen, sondern auch auf Layer 3 routen. Pro VLAN wird ein Switch Virtual Interface (SVI) konfiguriert, das als Gateway dient. Da das Routing direkt im Switch-ASIC erfolgt, ist die Performance erheblich besser als beim Router-on-a-Stick – der Traffic muss nicht erst durch einen externen Router.
Auf einem Cisco-Switch sieht ein SVI so aus:
interface Vlan10
ip address 192.168.10.1 255.255.255.0
no shutdown
!
interface Vlan20
ip address 192.168.20.1 255.255.255.0
no shutdown
!
ip routing
Layer-3-Switches sind die bevorzugte Wahl in größeren Homelab-Umgebungen oder kleinen Unternehmensnetzwerken, wenn hoher VLAN-übergreifender Traffic erwartet wird.
5. VLAN-Design-Prinzipien
Ein durchdachtes VLAN-Design ist die Grundlage eines stabilen, sicheren Netzwerks. Die folgenden Prinzipien haben sich in der Praxis bewährt:
5.1 Standardisierte VLAN-IDs
Vergib VLANs nach einem konsistenten Schema, das du dokumentierst. Ein bewährtes Beispiel für ein Homelab:
VLAN 99: Native VLAN / Unused (dediziert für Trunk-Native)
5.2 Management-VLAN schützen
Das Management-VLAN sollte niemals von Client-VLANs aus erreichbar sein. Firewall-Regeln müssen sicherstellen, dass nur autorisierte Hosts (z. B. dein Admin-PC) auf die Management-Interfaces von Switches, APs und Servern zugreifen können. Ein gesondertes Management-VLAN verhindert, dass ein kompromittierter Client-PC direkt auf Switch-Webinterfaces zugreifen kann.
5.3 IoT-Isolation
IoT-Geräte sind häufig schlecht gepflegt, erhalten seltene Firmware-Updates und haben bekannte Schwachstellen. Sie sollten in einem eigenen VLAN isoliert sein, das lediglich Internetzugang erhält. Kommunikation zum Heimnetz oder Server-VLAN sollte durch explizite Firewall-Regeln auf das Minimum beschränkt werden (z. B. nur ein bestimmter Smart-Home-Hub darf auf Port 8123 des Home-Assistant-Servers zugreifen).
5.4 Trunk-Ports minimal halten
Trunk-Ports sollten nur die VLANs erlauben, die tatsächlich benötigt werden. Ein Access-Switch im Wohnzimmer, der nur Client-Geräte und einen AP bedient, braucht kein Server-VLAN oder Management-VLAN im Trunk. Minimiere die Angriffsfläche durch explizite VLAN-Allow-Listen.
6. Konfigurationsbeispiele
6.1 Cisco IOS
VLANs auf einem Cisco Catalyst Switch konfigurieren:
! VLANs anlegen
vlan 10
name LAN
vlan 20
name Server
vlan 30
name IoT
vlan 40
name Gaeste
vlan 50
name Management
vlan 99
name NativeUnused
! Access-Port für Client-PC (VLAN 10)
interface GigabitEthernet0/1
switchport mode access
switchport access vlan 10
spanning-tree portfast
! Trunk-Port zum Router/Firewall
interface GigabitEthernet0/24
switchport mode trunk
switchport trunk native vlan 99
switchport trunk allowed vlan 10,20,30,40,50
6.2 Linux
Linux unterstützt 802.1Q nativ über das Kernel-Modul 8021q. Mit ip link lassen sich VLAN-Subinterfaces erstellen:
# Modul laden (einmalig)
modprobe 8021q
# VLAN-Interface für VLAN 10 auf eth0 erstellen
ip link add link eth0 name eth0.10 type vlan id 10
ip link set eth0.10 up
ip addr add 192.168.10.2/24 dev eth0.10
# Für persistente Konfiguration unter Debian/Ubuntu (/etc/network/interfaces):
# auto eth0.10
# iface eth0.10 inet static
# address 192.168.10.2/24
# gateway 192.168.10.1
# vlan-raw-device eth0
In modernen Linux-Systemen (Netplan, systemd-networkd) erfolgt die VLAN-Konfiguration deklarativ. Für Proxmox-VMs empfiehlt sich die Konfiguration über die Bridge im Proxmox-Host, nicht direkt in der VM.
6.3 OPNsense
In OPNsense werden VLANs unter Interfaces → Other Types → VLAN angelegt. Der Workflow:
VLAN erstellen: Parent Interface (z. B. igb1), VLAN Tag (z. B. 30), Beschreibung (z. B. IoT).
Interface zuweisen: Unter Interfaces → Assignments das neue VLAN-Interface einer Interface-Bezeichnung zuweisen (z. B. OPT1 → IoT).
Interface konfigurieren: IPv4-Adresse als Gateway setzen (z. B. 192.168.30.1/24).
DHCP aktivieren: Unter Services → DHCPv4 für das IoT-Interface einen DHCP-Pool anlegen.
Firewall-Regeln: Unter Firewall → Rules → IoT explizit erlauben, was nötig ist, und den Rest blocken.
7. Troubleshooting
VLAN-Probleme äußern sich oft dadurch, dass Geräte sich gegenseitig nicht erreichen oder unerwarteten Traffic empfangen. Die häufigsten Ursachen und ihre Diagnose:
7.1 Häufige Fehler
VLAN-ID-Mismatch: Access-Port hat VLAN 10 konfiguriert, aber der Switch kennt VLAN 10 nicht (nicht in der VLAN-Datenbank angelegt). Diagnose: show vlan brief auf Cisco.
Trunk erlaubt VLAN nicht: Das VLAN ist konfiguriert, aber auf dem Trunk-Port nicht in der Allow-Liste. Diagnose: show interfaces trunk.
Native-VLAN-Mismatch: Beide Seiten eines Trunk-Links haben unterschiedliche Native VLANs konfiguriert. Cisco warnt hiervor mit einem CDP/LLDP-Log. Diagnose: show interfaces trunk, native VLAN vergleichen.
STP-Blocking: Spanning Tree blockiert einen Port, weil er eine Schleife vermutet. Diagnose: show spanning-tree vlan 10.
Fehlende Firewall-Regeln: VLANs sind korrekt konfiguriert, aber die Firewall (OPNsense, pfSense) blockt den Inter-VLAN-Traffic. Diagnose: Firewall-Logs prüfen.
7.2 Diagnose-Tools
tcpdump -i eth0.10 -e – zeigt Ethernet-Frames mit MAC-Adressen; -e zeigt VLAN-Tags.
tcpdump -i eth0 vlan 10 – filtert nur Frames mit VLAN-Tag 10.
bridge vlan show – Linux Bridge VLAN-Status (für Proxmox-Hosts nützlich).
ip -d link show eth0.10 – zeigt Details des VLAN-Subinterfaces inkl. VLAN-ID.
show vlan brief / show interfaces trunk / show spanning-tree – auf Cisco-Switches.
8. Zusammenfassung
VLANs sind ein unverzichtbares Werkzeug für jedes gut strukturierte Netzwerk – ob in kleinen Homelab-Umgebungen oder in größeren Unternehmensnetzwerken. Sie ermöglichen logische Segmentierung auf Layer 2, ohne zusätzliche Hardware zu benötigen, und bilden die Grundlage für sicherheitsorientiertes Netzwerkdesign.
Die wichtigsten Punkte im Überblick:
IEEE 802.1Q definiert das standardisierte Tag-Format (4 Byte, VLAN-IDs 1–4094).
Access-Ports verbinden Endgeräte mit einem VLAN; Trunk-Ports transportieren mehrere VLANs zwischen Netzwerkkomponenten.
Inter-VLAN-Routing erfordert Layer-3-Geräte: entweder Router-on-a-Stick oder Layer-3-Switch mit SVIs.
Ein durchdachtes VLAN-Schema (Management, IoT, Gäste, Server getrennt) erhöht Sicherheit und Übersicht erheblich.
Native VLAN sollte ein dediziertes, ungenutztes VLAN sein – nie VLAN 1 und nie ein produktiv genutztes VLAN.
Trunk-Ports sollten nur die explizit benötigten VLANs erlauben.