Communitygithub.com

Homelab-VLAN-Segmentierung

Segmentierung eines Heimnetzwerks in VLANs für IoT, Gäste, vertrauenswürdige Geräte und Server mithilfe von UniFi, pfSense/OPNsense und MikroTik – inklusive Switch-Trunk-Konfiguration, Firewall-Regeln und SSID-zu-VLAN-Zuordnung. Zu verwenden, wenn ein Heimnetzwerk in IoT-, Gäste-, vertrauenswürdige und Server-VLANs auf UniFi, pfSense/OPNsense oder MikroTik aufgeteilt werden soll.

Was ist Homelab-VLAN-Segmentierung?

Diese Fertigkeit beschreibt, wie ein Heimnetzwerk mithilfe von VLANs (Virtual Local Area Networks) in isolierte Segmente unterteilt wird, um Sicherheit und Netzwerkperformance zu verbessern. Sie behandelt die Einrichtung auf drei gängigen Plattformen: UniFi (Controller, APs), pfSense/OPNsense (Firewall/Router) und MikroTik (Router/Switches). Der Benutzer lernt, wie man VLANs erstellt, Trunk- und Access-Ports konfiguriert und Firewall-Regeln anwendet, um den Datenverkehr zwischen den Segmenten zu steuern – zum Beispiel IoT-Geräte vom vertrauenswürdigen Netzwerk und Gäste von allen lokalen Netzwerken zu blockieren. Die Anleitung umfasst eine empfohlene VLAN-Aufteilung (Trusted, IoT, Servers, Guest, Management), Konfigurationsbeispiele für jede Plattform, eine Erklärung der Unterschiede zwischen Trunk- und Access-Ports sowie häufige Fehlermuster und Best Practices wie die Platzierung des Pi-hole DNS-Servers im Server-VLAN. Am Ende können Entwickler ein sicheres, segmentiertes Heimnetzwerk einrichten, das den Zugriff zwischen Geräten kontrolliert und das Risiko von Sicherheitsverletzungen über kompromittierte IoT-Geräte minimiert.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/homelab-vlan-segmentation

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Homelab-VLAN-Segmentierung?

Wie man ein Heimnetzwerk in isolierte VLANs aufteilt, sodass IoT-Geräte, Gäste und Ihre Haupt-PCs nicht miteinander kommunizieren können. Das wirkungsvollste Sicherheits-Upgrade für ein Heimnetzwerk.

Alle hier gezeigten Firewall-Regeln fügen Isolation zwischen den Segmenten hinzu – sie entfernen keine vorhandenen Schutzmaßnahmen. Führen Sie die Änderungen in einem Wartungsfenster durch und überprüfen Sie die Konnektivität zwischen den Segmenten nach jedem Schritt, bevor Sie fortfahren.

Wann verwenden

  • Erstmalige Einrichtung von VLANs in einem Heimnetzwerk
  • Isolierung von IoT-Geräten (intelligente Lampen, Kameras, Fernseher) von vertrauenswürdigen Geräten
  • Erstellung eines Gäste-WLANs, das keine Heimgeräte erreichen kann
  • Erklärung, wie VLANs funktionieren, für jemanden, der mit dem Konzept nicht vertraut ist
  • Konfiguration von Trunk-Ports, Access-Ports und SSID-zu-VLAN-Zuordnung
  • Fehlersuche bei Inter-VLAN-Routing- oder Firewall-Regelproblemen auf pfSense/OPNsense/UniFi

Funktionsweise

Ohne VLANs – flaches Netzwerk:
  Alle Geräte in 192.168.1.0/24
  Smart-TV (potenzielle Malware) → kann Ihr NAS, PCs, alles erreichen

Mit VLANs:
  VLAN 10 — Trusted    192.168.10.0/24  (PCs, Telefone, Laptops)
  VLAN 20 — IoT        192.168.20.0/24  (Smart-TV, Lampen, Kameras)
  VLAN 30 — Servers    192.168.30.0/24  (NAS, Pi, VMs)
  VLAN 40 — Guest      192.168.40.0/24  (Besucher-WLAN)
  VLAN 99 — Management 192.168.99.0/24  (Switch/AP-Weboberflächen)

  Smart-TV → blockiert, um 192.168.10.0/24 und 192.168.30.0/24 zu erreichen
  Gäste → nur Internet, können keine Heimgeräte sehen

VLAN-Design-Vorlage

VLAN  Name        Subnet              Gateway         Zweck
10    trusted     192.168.10.0/24     192.168.10.1    PCs, Telefone, Laptops
20    iot         192.168.20.0/24     192.168.20.1    Smart-Home-Geräte
30    servers     192.168.30.0/24     192.168.30.1    NAS, Pi, selbst gehostete Dienste
40    guest       192.168.40.0/24     192.168.40.1    Besucher-WLAN
99    management  192.168.99.0/24     192.168.99.1    Weboberflächen der Netzwerkgeräte

Beispiele

Typisches Homelab mit UniFi-AP und Managed Switch:

Szenario: 3-Zimmer-Haus, UniFi Dream Machine + UniFi 8-Port-Switch + 2 APs

VLAN 10 — Trusted    192.168.10.0/24   MacBook, iPhones, iPad
VLAN 20 — IoT        192.168.20.0/24   Nest-Thermostat, Philips Hue, Ring-Türklingel, Smart-TVs
VLAN 30 — Servers    192.168.30.0/24   Synology NAS (192.168.30.10), Pi-hole (192.168.30.2)
VLAN 40 — Guest      192.168.40.0/24   Besucher-WLAN — nur Internet

SSID → VLAN-Zuordnung:
  "Home"      → VLAN 10 (WPA2, starkes Passwort, nur vertrauenswürdige Geräte)
  "IoT"       → VLAN 20 (WPA2, separates Passwort, für die Einrichtung am Router ausgedruckt)
  "Guest"     → VLAN 40 (WPA2, einfaches Passwort, das Sie frei teilen können)

Switch-Port-Verhalten:
  Port 1  → Trunk zum Router (getaggte VLANs 10,20,30,40,99)
  Port 2  → Trunk zu APs (getaggte VLANs 10,20,40; AP übernimmt die SSID-spezifische Tagging)
  Port 3  → Access VLAN 30 (NAS — ungetaggt, keine VLAN-Kenntnis erforderlich)
  Port 4  → Access VLAN 30 (Pi-hole — ungetaggt)
  Port 5–8 → Access VLAN 10 (verdrahtete Arbeitsplätze)

Angewandte Firewall-Regeln (alle Regeln fügen Isolation hinzu, entfernen keine vorhandenen Schutzmaßnahmen):
  IoT → Trusted: BLOCKIEREN
  IoT → Servers: BLOCKIEREN außer 192.168.30.2:53 (Pi-hole DNS erlaubt)
  IoT → Internet: ZULASSEN
  Guest → Lokale Netzwerke: BLOCKIEREN
  Guest → Internet: ZULASSEN
  Trusted → überall: ZULASSEN

UniFi-Konfiguration

Netzwerke im UniFi-Controller erstellen

Einstellungen → Netzwerke → Neues Netzwerk erstellen

Für jedes VLAN:
  Name: IoT
  Zweck: Corporate  (bietet DHCP + Routing)
  VLAN-ID: 20
  Netzwerk: 192.168.20.0/24
  Gateway-IP: 192.168.20.1
  DHCP: Aktivieren
  DHCP-Bereich: 192.168.20.100 – 192.168.20.254

SSIDs VLANs zuordnen (UniFi)

Einstellungen → WiFi → Neues WiFi erstellen

  Name: IoT-Network
  Passwort: <separates Passwort>
  Netzwerk: IoT  ← wählen Sie hier Ihr VLAN aus
  # Alle Geräte, die eine Verbindung zu dieser SSID herstellen, landen in VLAN 20

  Name: Guest
  Passwort: <Gästepasswort>
  Netzwerk: Guest
  Gastrichtlinie: Aktivieren  ← isoliert Gäste auch untereinander

UniFi-Firewall-Regeln (Verkehrsregeln)

Einstellungen → Verkehr & Sicherheit → Verkehrsregeln

# IoT am Erreichen des Trusted-VLAN hindern
  Aktion: Blockieren
  Kategorie: Lokales Netzwerk
  Quelle: IoT (192.168.20.0/24)
  Ziel: Trusted (192.168.10.0/24)

# IoT nur Zugriff auf Internet erlauben
  Aktion: Zulassen
  Quelle: IoT
  Ziel: Internet

# Gäste von allen lokalen Netzwerken blockieren
  Aktion: Blockieren
  Quelle: Guest
  Ziel: Lokale Netzwerke

pfSense / OPNsense-Konfiguration

VLANs erstellen

Schnittstellen → Zuweisungen → VLANs → Hinzufügen

  Übergeordnete Schnittstelle: em1  (Ihre LAN-NIC)
  VLAN-Tag: 20
  Beschreibung: IoT

# Für jedes VLAN wiederholen, dann jedes VLAN einer Schnittstelle zuweisen:
Schnittstellen → Zuweisungen → Hinzufügen
  Wählen Sie das erstellte VLAN aus → klicken Sie auf Hinzufügen
  Aktivieren Sie die Schnittstelle, setzen Sie die IP auf die Gateway-Adresse (192.168.20.1/24)

DHCP für jedes VLAN

Dienste → DHCP-Server → Wählen Sie Ihre VLAN-Schnittstelle

  DHCP aktivieren
  Bereich: 192.168.20.100 bis 192.168.20.254
  DNS-Server: 192.168.30.2  ← Pi-hole-IP, falls vorhanden

Firewall-Regeln (pfSense/OPNsense)

# Regeln werden von oben nach unten verarbeitet, die erste Übereinstimmung gewinnt.

# Auf der IoT-Schnittstelle (VLAN 20):
  Regel 1: IoT → Pi-hole DNS zulassen  ← MUSS vor der RFC1918-Block-Regel kommen
    Protokoll: UDP/TCP
    Quelle: IoT net
    Ziel: 192.168.30.2 Port 53
    Aktion: Zulassen

  Regel 2: IoT → RFC1918 (alle privaten IP-Bereiche) blockieren
    Protokoll: beliebig
    Quelle: IoT net
    Ziel: RFC1918  (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12)
    Aktion: Blockieren

  Regel 3: IoT → Internet zulassen
    Protokoll: beliebig
    Quelle: IoT net
    Ziel: beliebig
    Aktion: Zulassen

# Auf der Trusted-Schnittstelle (VLAN 10):
  Alles zulassen (vertrauenswürdige Geräte können alles erreichen)
    Quelle: Trusted net
    Ziel: beliebig
    Aktion: Zulassen

# Zusätzliche Ausnahmen für IoT-Geräte, die bestimmte lokale Dienste benötigen:
  Vor Regel 2 (dem RFC1918-Block) einfügen:
    Protokoll: TCP
    Quelle: IoT net
    Ziel: 192.168.30.x Port 8123  ← Home Assistant
    Aktion: Zulassen

MikroTik-Konfiguration

# Schritt 1: Bridge mit VLAN-Filterung erstellen
/interface bridge
add name=bridge vlan-filtering=yes

# Schritt 2: Physische Ports zur Bridge hinzufügen
# Trunk-Port zum Router/Uplink (getaggt für alle VLANs)
/interface bridge port
add bridge=bridge interface=ether1 frame-types=admit-only-vlan-tagged

# Access-Port für vertrauenswürdige Geräte (ungetaggt VLAN 10)
/interface bridge port
add bridge=bridge interface=ether2 pvid=10 frame-types=admit-only-untagged-and-priority-tagged

# Access-Port für IoT-Geräte (ungetaggt VLAN 20)
/interface bridge port
add bridge=bridge interface=ether3 pvid=20 frame-types=admit-only-untagged-and-priority-tagged

# Schritt 3: Definieren, welche VLANs auf welchen Ports erlaubt sind
/interface bridge vlan
add bridge=bridge tagged=ether1 untagged=ether2 vlan-ids=10
add bridge=bridge tagged=ether1 untagged=ether3 vlan-ids=20

# Schritt 4: VLAN-Schnittstellen auf der Bridge erstellen (Gateway-IPs)
/interface vlan
add interface=bridge name=vlan10 vlan-id=10
add interface=bridge name=vlan20 vlan-id=20

# Schritt 5: Gateway-IPs zuweisen
/ip address
add interface=vlan10 address=192.168.10.1/24
add interface=vlan20 address=192.168.20.1/24

# Schritt 6: DHCP-Pools und -Server
/ip pool
add name=pool-trusted ranges=192.168.10.100-192.168.10.254
add name=pool-iot ranges=192.168.20.100-192.168.20.254

/ip dhcp-server
add interface=vlan10 address-pool=pool-trusted name=dhcp-trusted
add interface=vlan20 address-pool=pool-iot name=dhcp-iot

/ip dhcp-server network
add address=192.168.10.0/24 gateway=192.168.10.1
add address=192.168.20.0/24 gateway=192.168.20.1

# Schritt 7: Firewall – IoT am Erreichen des Trusted-VLAN hindern
/ip firewall filter
add chain=forward src-address=192.168.20.0/24 dst-address=192.168.10.0/24 \
    action=drop comment="Block IoT to Trusted"

Switch-Trunk- vs. Access-Ports

# Trunk-Port: Überträgt mehrere VLANs (getaggt) – verbindet Switch-mit-Switch, Switch-mit-Router, Switch-mit-AP
# Access-Port: Überträgt ein VLAN (ungetaggt) – verbindet Endgeräte (PC, Kamera, NAS)

# Ein Port eines Managed Switches, der mit Ihrem Router verbunden ist, sollte ein Trunk sein:
  Erlaubte VLANs: 10, 20, 30, 40, 99

# Ein Port, der mit einem PC verbunden ist, sollte ein Access-Port sein:
  VLAN: 10 (trusted)
  Kein Tagging – der PC weiß nichts über VLANs und kümmert sich nicht darum

# Ein Port, der mit einem AP verbunden ist, muss ein Trunk sein:
  Der AP taggt den Datenverkehr von jeder SSID mit der richtigen VLAN-ID
  Erlaubte VLANs: 10, 20, 40  (je nachdem, welche SSIDs der AP bedient)

Anti-Patterns

# SCHLECHT: VLANs erstellen, ohne Firewall-Regeln hinzuzufügen
# VLANs ohne Firewall-Regeln bieten keine Sicherheit – Inter-VLAN-Routing ist standardmäßig offen
# GUT: Fügen Sie sofort nach der Erstellung von VLANs explizite Block-Regeln hinzu

# SCHLECHT: Den Pi-hole in das IoT-VLAN setzen
# IoT-Geräte können ihn erreichen, aber vertrauenswürdige Geräte nicht (ohne zusätzliche Regeln)
# GUT: Pi-hole im Server-VLAN mit einer Regel, die allen VLANs den Zugriff auf Port 53 erlaubt

# SCHLECHT: Das native VLAN ist gleich dem Management-VLAN
# Ungetaggter Datenverkehr, der in Ihrem Management-VLAN landet, ermöglicht VLAN-Hopping-Angriffe
# GUT: Verwenden Sie ein dediziertes, ungenutztes VLAN als nativ (z. B. VLAN 999), halten Sie Management-Verkehr getaggt

# SCHLECHT: Gleiches WLAN-Passwort für IoT-SSID und vertrauenswürdige SSID
# Jeder, der das Passwort kennt, kann IoT-Geräte mit dem falschen Segment verbinden

Best Practices

  • Beginnen Sie mit 4 VLANs: Trusted, IoT, Servers, Guest – fügen Sie nach Bedarf weitere hinzu
  • Setzen Sie den Pi-hole in das Server-VLAN (192.168.30.x)
  • Fügen Sie eine Firewall-Regel hinzu, die DNS (Port 53) von allen VLANs zur Pi-hole-IP erlaubt – vor jeder RFC1918-Block-Regel
  • Testen Sie die Isolation nach jeder Regeländerung: Versuchen Sie, vom IoT-VLAN aus ein vertrauenswürdiges Gerät anzupingen – es sollte fehlschlagen
  • Verwenden Sie ein Management-VLAN für die Weboberflächen von Switch und AP und beschränken Sie den Zugriff auf das Trusted-VLAN
  • Dokumentieren Sie Ihr VLAN-Design in einer Tabelle (VLAN-ID, Name, Subnetz, Zweck)

Verwandte Fertigkeiten

  • homelab-network-setup
  • homelab-pihole-dns
  • homelab-wireguard-vpn

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Verwandte Skills