Communitygithub.com

segmentación-vlan-homelab

Segmentación de redes domésticas en VLANs para tráfico IoT, invitados, confiado y servidores usando UniFi, pfSense/OPNsense y MikroTik: incluye configuración de puertos trunk, reglas de firewall y mapeo SSID-VLAN. Útil al dividir una red doméstica en VLANs IoT, invitados, confiada y servidores en UniFi, pfSense/OPNsense o MikroTik.

¿Qué es segmentación-vlan-homelab?

Esta habilidad proporciona una guía completa para segmentar una red doméstica en VLANs aisladas, mejorando significativamente la seguridad al evitar que dispositivos IoT, invitados y equipos confiados se comuniquen entre sí. Está diseñada para usuarios de plataformas como UniFi, pfSense/OPNsense y MikroTik, e incluye ejemplos detallados de configuración, como la creación de redes VLAN, el mapeo de SSID a VLANs y la aplicación de reglas de firewall. La habilidad explica el diseño típico de VLANs (confiado, IoT, servidores, invitados, gestión) y proporciona plantillas de configuración para cada plataforma, incluyendo scripts de MikroTik y pasos para pfSense/OPNsense. También advierte sobre antipatrones comunes como omitir reglas de firewall o usar la misma contraseña Wi-Fi para diferentes segmentos, y ofrece mejores prácticas como poner Pi-hole en la VLAN de servidores y probar el aislamiento tras cada cambio. Es útil tanto para principiantes como para administradores que buscan una solución robusta y bien documentada para redes domésticas avanzadas.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/homelab-vlan-segmentation

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Segmentación VLAN Homelab

Cómo dividir una red doméstica en VLANs aisladas para que los dispositivos IoT, invitados y tus PCs principales no puedan comunicarse entre sí. La mejora de seguridad más impactante para una red doméstica.

Todas las reglas de firewall mostradas aquí añaden aislamiento entre segmentos — no eliminan protecciones existentes. Aplica los cambios en una ventana de mantenimiento y verifica la conectividad entre segmentos después de cada paso antes de continuar.

Cuándo Usar

  • Configurar VLANs en una red doméstica por primera vez
  • Aislar dispositivos IoT (bombillas inteligentes, cámaras, TVs) de dispositivos confiados
  • Crear una red Wi-Fi para invitados que no pueda acceder a dispositivos domésticos
  • Explicar cómo funcionan las VLANs a alguien no familiarizado con el concepto
  • Configurar puertos trunk, puertos de acceso y mapeo SSID a VLAN
  • Solucionar problemas de enrutamiento entre VLANs o reglas de firewall en pfSense/OPNsense/UniFi

Cómo Funciona

Sin VLANs — red plana:
  Todos los dispositivos en 192.168.1.0/24
  Smart TV (posible malware) → puede acceder a tu NAS, PCs, todo

Con VLANs:
  VLAN 10 — Confiado    192.168.10.0/24  (PCs, teléfonos, laptops)
  VLAN 20 — IoT         192.168.20.0/24  (Smart TV, bombillas, cámaras)
  VLAN 30 — Servidores  192.168.30.0/24  (NAS, Pi, VMs)
  VLAN 40 — Invitados   192.168.40.0/24  (Wi-Fi visitantes)
  VLAN 99 — Gestión     192.168.99.0/24  (interfaces web switch/AP)

  Smart TV → bloqueado para acceder a 192.168.10.0/24 y 192.168.30.0/24
  Invitados → solo internet, no pueden ver ningún dispositivo doméstico

Plantilla de Diseño VLAN

VLAN  Nombre        Subred              Puerta de enlace   Propósito
10    confiado      192.168.10.0/24     192.168.10.1       PCs, teléfonos, laptops
20    iot           192.168.20.0/24     192.168.20.1       Dispositivos domésticos inteligentes
30    servidores    192.168.30.0/24     192.168.30.1       NAS, Pi, auto-alojado
40    invitados     192.168.40.0/24     192.168.40.1       Wi-Fi visitantes
99    gestión       192.168.99.0/24     192.168.99.1       Interfaces web del equipo de red

Ejemplos

Homelab típico con AP UniFi y switch gestionado:

Escenario: Casa de 3 habitaciones, UniFi Dream Machine + switch UniFi 8 puertos + 2 APs

VLAN 10 — Confiado    192.168.10.0/24   MacBook, iPhones, iPad
VLAN 20 — IoT         192.168.20.0/24   Termostato Nest, Philips Hue, timbre Ring, Smart TVs
VLAN 30 — Servidores  192.168.30.0/24   Synology NAS (192.168.30.10), Pi-hole (192.168.30.2)
VLAN 40 — Invitados   192.168.40.0/24   Wi-Fi visitantes — solo internet

Mapeo SSID → VLAN:
  "Home"      → VLAN 10 (WPA2, contraseña fuerte, solo dispositivos confiados)
  "IoT"       → VLAN 20 (WPA2, contraseña separada, impresa en el router para configuración)
  "Guest"     → VLAN 40 (WPA2, contraseña simple que puedes compartir libremente)

Comportamiento de puertos del switch:
  Puerto 1  → trunk al router (VLANs etiquetadas 10,20,30,40,99)
  Puerto 2  → trunk a APs (VLANs etiquetadas 10,20,40; el AP maneja el etiquetado por SSID)
  Puerto 3  → acceso VLAN 30 (NAS — sin etiquetar, no necesita conocer VLANs)
  Puerto 4  → acceso VLAN 30 (Pi-hole — sin etiquetar)
  Puerto 5–8 → acceso VLAN 10 (estaciones de trabajo cableadas)

Reglas de firewall aplicadas (todas añaden aislamiento, ninguna elimina protecciones existentes):
  IoT → Confiado: BLOQUEAR
  IoT → Servidores: BLOQUEAR excepto 192.168.30.2:53 (DNS Pi-hole permitido)
  IoT → Internet: PERMITIR
  Invitados → Redes locales: BLOQUEAR
  Invitados → Internet: PERMITIR
  Confiado → todos lados: PERMITIR

Configuración UniFi

Crear Redes en el Controlador UniFi

Configuración → Redes → Crear Nueva Red

Para cada VLAN:
  Nombre: IoT
  Propósito: Corporativa  (proporciona DHCP + enrutamiento)
  ID VLAN: 20
  Red: 192.168.20.0/24
  IP de puerta de enlace: 192.168.20.1
  DHCP: Habilitar
  Rango DHCP: 192.168.20.100 – 192.168.20.254

Mapear SSIDs a VLANs (UniFi)

Configuración → WiFi → Crear Nuevo WiFi

  Nombre: IoT-Network
  Contraseña: <contraseña separada>
  Red: IoT  ← selecciona tu VLAN aquí
  # Todos los dispositivos que se conecten a este SSID caen en VLAN 20

  Nombre: Invitados
  Contraseña: <contraseña de invitado>
  Red: Invitados
  Política de invitados: Habilitar  ← también aísla a los invitados entre sí

Reglas de Firewall UniFi (Reglas de Tráfico)

Configuración → Tráfico y Seguridad → Reglas de Tráfico

# Bloquear IoT de llegar a VLAN Confiado
  Acción: Bloquear
  Categoría: Red Local
  Origen: IoT (192.168.20.0/24)
  Destino: Confiado (192.168.10.0/24)

# Permitir que IoT llegue solo a internet
  Acción: Permitir
  Origen: IoT
  Destino: Internet

# Bloquear Invitados de todas las redes locales
  Acción: Bloquear
  Origen: Invitados
  Destino: Redes Locales

Configuración pfSense / OPNsense

Crear VLANs

Interfaces → Asignaciones → VLANs → Agregar

  Interfaz padre: em1  (tu NIC LAN)
  Etiqueta VLAN: 20
  Descripción: IoT

# Repite para cada VLAN, luego asigna cada VLAN a una interfaz:
Interfaces → Asignaciones → Agregar
  Selecciona la VLAN que creaste → haz clic en Agregar
  Habilita la interfaz, configura IP como dirección de puerta de enlace (192.168.20.1/24)

DHCP para Cada VLAN

Servicios → Servidor DHCP → Selecciona tu interfaz VLAN

  Habilitar DHCP
  Rango: 192.168.20.100 a 192.168.20.254
  Servidores DNS: 192.168.30.2  ← IP de Pi-hole si tienes uno

Reglas de Firewall (pfSense/OPNsense)

# Las reglas se procesan de arriba a abajo, la primera coincidencia gana.

# En la interfaz IoT (VLAN 20):
  Regla 1: Permitir IoT → DNS Pi-hole  ← DEBE venir antes de la regla de bloqueo RFC1918
    Protocolo: UDP/TCP
    Origen: red IoT
    Destino: 192.168.30.2 puerto 53
    Acción: Permitir

  Regla 2: Bloquear IoT → RFC1918 (todos los rangos IP privados)
    Protocolo: cualquiera
    Origen: red IoT
    Destino: RFC1918  (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12)
    Acción: Bloquear

  Regla 3: Permitir IoT → internet
    Protocolo: cualquiera
    Origen: red IoT
    Destino: cualquiera
    Acción: Permitir

# En la interfaz Confiado (VLAN 10):
  Permitir todo (los dispositivos confiados pueden acceder a todo)
    Origen: red Confiado
    Destino: cualquiera
    Acción: Permitir

# Excepciones adicionales para dispositivos IoT que necesitan servicios locales específicos:
  Insertar antes de la Regla 2 (el bloqueo RFC1918):
    Protocolo: TCP
    Origen: red IoT
    Destino: 192.168.30.x puerto 8123  ← Home Assistant
    Acción: Permitir

Configuración MikroTik

# Paso 1: Crear un bridge con filtrado VLAN habilitado
/interface bridge
add name=bridge vlan-filtering=yes

# Paso 2: Agregar puertos físicos al bridge
# Puerto trunk hacia router/enlace ascendente (etiquetado para todas las VLANs)
/interface bridge port
add bridge=bridge interface=ether1 frame-types=admit-only-vlan-tagged

# Puerto de acceso para dispositivos confiados (sin etiquetar VLAN 10)
/interface bridge port
add bridge=bridge interface=ether2 pvid=10 frame-types=admit-only-untagged-and-priority-tagged

# Puerto de acceso para dispositivos IoT (sin etiquetar VLAN 20)
/interface bridge port
add bridge=bridge interface=ether3 pvid=20 frame-types=admit-only-untagged-and-priority-tagged

# Paso 3: Definir qué VLANs están permitidas en qué puertos
/interface bridge vlan
add bridge=bridge tagged=ether1 untagged=ether2 vlan-ids=10
add bridge=bridge tagged=ether1 untagged=ether3 vlan-ids=20

# Paso 4: Crear interfaces VLAN en el bridge (IPs de puerta de enlace)
/interface vlan
add interface=bridge name=vlan10 vlan-id=10
add interface=bridge name=vlan20 vlan-id=20

# Paso 5: Asignar IPs de puerta de enlace
/ip address
add interface=vlan10 address=192.168.10.1/24
add interface=vlan20 address=192.168.20.1/24

# Paso 6: Pools DHCP y servidores
/ip pool
add name=pool-confiado 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-confiado name=dhcp-confiado
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

# Paso 7: Firewall — bloquear IoT de llegar a VLAN confiado
/ip firewall filter
add chain=forward src-address=192.168.20.0/24 dst-address=192.168.10.0/24 \
    action=drop comment="Bloquear IoT a Confiado"

Puertos Trunk vs Acceso en el Switch

# Puerto trunk: lleva múltiples VLANs (etiquetadas) — conecta switch-a-switch, switch-a-router, switch-a-AP
# Puerto de acceso: lleva una VLAN (sin etiquetar) — conecta a dispositivos finales (PC, cámara, NAS)

# Un puerto de switch gestionado conectado a tu router debe ser trunk:
  VLANs permitidas: 10, 20, 30, 40, 99

# Un puerto que conecta a un PC debe ser de acceso:
  VLAN: 10 (confiado)
  Sin etiquetado — el PC no sabe ni le importan las VLANs

# Un puerto que conecta a un AP debe ser trunk:
  El AP etiqueta el tráfico de cada SSID con el ID de VLAN correcto
  VLANs permitidas: 10, 20, 40  (los SSIDs que el AP sirva)

Antipatrones

# MALO: Crear VLANs sin agregar reglas de firewall
# Las VLANs sin reglas de firewall no proporcionan seguridad — el enrutamiento entre VLANs está abierto por defecto
# BIEN: Agregar reglas de bloqueo explícitas inmediatamente después de crear las VLANs

# MALO: Poner Pi-hole en la VLAN IoT
# Los dispositivos IoT pueden alcanzarlo pero los confiados no (sin reglas adicionales)
# BIEN: Pi-hole en la VLAN de Servidores con una regla que permita a todas las VLANs acceder al puerto 53

# MALO: VLAN nativa igual a VLAN de gestión
# El tráfico sin etiquetar que cae en tu VLAN de gestión permite ataques de salto VLAN
# BIEN: Usar una VLAN no utilizada dedicada como nativa (ej. VLAN 999), mantener el tráfico de gestión etiquetado

# MALO: Misma contraseña Wi-Fi para SSID IoT y SSID confiado
# Cualquiera que aprenda la contraseña puede conectar dispositivos IoT al segmento incorrecto

Mejores Prácticas

  • Comienza con 4 VLANs: Confiado, IoT, Servidores, Invitados — agrega más según sea necesario
  • Coloca Pi-hole en la VLAN de Servidores (192.168.30.x)
  • Agrega una regla de firewall que permita DNS (puerto 53) desde todas las VLANs a la IP de Pi-hole — antes de cualquier regla de bloqueo RFC1918
  • Prueba el aislamiento después de cada cambio de regla: desde la VLAN IoT, intenta hacer ping a un dispositivo confiado — debe fallar
  • Usa una VLAN de gestión para las interfaces web del switch y AP y restringe el acceso solo a la VLAN Confiado
  • Documenta tu diseño VLAN en una tabla (ID VLAN, nombre, subred, propósito)

Habilidades Relacionadas

  • 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/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

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.

Skills relacionados