Ir al contenido
  1. Posts/

VLANs en tu homelab: cómo segmenté mi red y dejé de preocuparme

·2458 palabras·12 mins

Tengo 47 dispositivos conectados a mi red. Entre servidores, móviles, tablets, bombillas Hue, enchufes inteligentes, impresoras, la TV… es un caos. Y hasta hace un mes, todos estaban en la misma red. Todos podían verse entre sí.

Eso incluye la bombilla del salón pudiendo hablar con mi Synology donde guardo contratos y documentos fiscales. No es que la bombilla vaya a hackearme, pero el firmware lo fabrica una empresa china que nunca ha oído hablar de actualizaciones de seguridad.

Montar VLANs fue de esas cosas que llevaba postponiendo porque parecía complicado. No lo es. Tardé una tarde y ahora duermo más tranquilo.

Qué es una VLAN (explicado como si tuvieras prisa)
#

Una VLAN es una red virtual dentro de tu red física. Tu router/switch sigue siendo el mismo, pero creas “redes separadas” lógicamente.

Imagina que tienes un edificio de oficinas. Puedes poner paredes de verdad para separar departamentos, o puedes usar mamparas invisibles que solo existen en un plano. Las VLANs son las mamparas. Sigues usando los mismos cables, pero los dispositivos no se ven entre sí a no ser que tú lo permitas.

Ventajas reales:

  1. Seguridad: los dispositivos IoT no pueden acceder a tus servidores.
  2. Rendimiento: puedes priorizar tráfico (QoS) por VLAN.
  3. Organización: ves de un vistazo qué dispositivo está en qué red.
  4. Troubleshooting: si algo va mal, puedes aislar una VLAN entera en segundos.

Mi red antes y después
#

ANTES: Una sola red (192.168.0.0/24)

  • Todo mezclado: servidores, móviles, IoT, invitados
  • Cualquier dispositivo puede hablar con cualquier otro
  • Si hackean una bombilla, potencialmente tienen acceso a todo

DESPUÉS: Cuatro VLANs separadas

  • VLAN 10 (Principal): Mac, iPhone, iPad, dispositivos de confianza
  • VLAN 20 (Servidores): NAS, Unraid, Proxmox, servicios críticos
  • VLAN 30 (IoT): Hue, enchufes, TV, impresora
  • VLAN 40 (Invitados): red WiFi para visitas

Las reglas del firewall permiten que VLAN 10 acceda a VLAN 20 (yo puedo acceder a los servidores). VLAN 30 solo puede salir a internet, no puede hablar con nadie interno. VLAN 40 solo internet, totalmente aislada.

Qué hardware necesitas
#

No hace falta cambiar todo tu setup. Solo necesitas:

1. Un switch managed o semi-managed

Los switches “tontos” no saben lo que son las VLANs. Necesitas uno que permita configurar tags 802.1Q. Opciones baratas:

  • TP-Link TL-SG108E: 8 puertos, semi-managed, 35€. Es el que tengo yo, funciona perfecto.
  • Netgear GS308E: similar, 40€.
  • TP-Link TL-SG116E: 16 puertos si tienes más cacharros, 60€.

Si ya tienes Ubiquiti o MikroTik, estás sobrado.

2. Un router/firewall que soporte VLANs

Si usas el router del ISP… probablemente no puede. Necesitas algo como:

  • OPNsense/pfSense en un mini PC (mi caso)
  • MikroTik (RouterOS soporta VLANs nativamente)
  • Ubiquiti UniFi (Dream Machine, UDR, etc.)

Yo tengo OPNsense corriendo en un Protectli VP2420 (mini PC con 4 puertos Ethernet). No hace falta esto, cualquier PC viejo con dos tarjetas de red vale.

3. Un access point que soporte VLAN tagging

Si quieres WiFi en varias VLANs (ej: WiFi principal en VLAN 10, WiFi invitados en VLAN 40), necesitas un AP managed.

Opciones:

  • Ubiquiti U6 Lite: 90€, fácil de configurar.
  • TP-Link EAP245: 70€, interfaz Omada decente.
  • MikroTik cAP ax: 100€, más avanzado.

Yo tengo un U6 Pro porque ya tenía el ecosistema UniFi. Si empiezas de cero, el U6 Lite es el sweet spot.

Planificar las VLANs (antes de tocar nada)
#

Este paso lo salté la primera vez y tuve que rehacer todo. No seas yo.

Anota:

  1. Qué VLANs necesitas (yo: principal, servidores, IoT, invitados)
  2. Qué ID/tag usarás (10, 20, 30, 40… evita el 1, suele ser la default)
  3. Qué rangos IP (192.168.10.0/24, 192.168.20.0/24, etc.)
  4. Qué dispositivos van en cada VLAN (haz una lista, en serio)
  5. Qué reglas de firewall necesitas (ej: principal puede acceder a servidores, IoT no puede acceder a nada interno)

Yo usé una hoja de cálculo. Quedó así:

VLANIDSubredDispositivosAcceso
Principal10192.168.10.0/24Mac, iPhone, iPadInternet + Servidores
Servidores20192.168.20.0/24NAS, Unraid, ProxmoxInternet
IoT30192.168.30.0/24Hue, TV, impresoraSolo internet
Invitados40192.168.40.0/24WiFi invitadosSolo internet

Configurar VLANs en OPNsense (paso a paso)
#

Voy a documentar mi setup con OPNsense porque es lo que uso. Si tienes pfSense, es casi idéntico. Si tienes UniFi, hay mil tutoriales en YouTube (busca “UniFi VLAN setup”).

1. Crear las VLANs
#

OPNsense > Interfaces > Other Types > VLAN

Para cada VLAN:

  • Parent: igb0 (o el puerto LAN de tu firewall)
  • VLAN tag: 10 (luego 20, 30, 40)
  • Description: VLAN_Principal (o lo que sea)
  • Save

Repites para cada VLAN.

2. Asignar interfaces
#

OPNsense > Interfaces > Assignments

Verás las VLANs que creaste (aparecen como igb0.10, igb0.20, etc.). Les das “Add” a cada una.

Luego vas a cada interfaz (OPT1, OPT2, etc.) y:

  • Enable interface
  • IPv4 Configuration Type: Static
  • IPv4 address: 192.168.10.1/24 (gateway de esa VLAN)
  • Description: VLAN_Principal
  • Save

Repites para todas.

3. Configurar DHCP en cada VLAN
#

OPNsense > Services > DHCPv4

Para cada VLAN (aparecen como tabs):

  • Enable DHCP server
  • Range: 192.168.10.50 a 192.168.10.200 (ajusta al tamaño de tu red)
  • DNS servers: 192.168.10.1 (el propio OPNsense) o 1.1.1.1 si prefieres
  • Save

Ahora cada VLAN tiene su propio servidor DHCP. Cuando conectas un dispositivo, recibe IP automáticamente del rango correcto.

4. Reglas de firewall
#

Aquí defines quién puede hablar con quién.

OPNsense > Firewall > Rules

Para cada VLAN creas reglas. Ejemplos:

VLAN Principal (10):

  • Allow: any to any (acceso total, es mi red de confianza)

VLAN Servidores (20):

  • Allow: any to any (los servidores pueden comunicarse entre sí y salir a internet)

VLAN IoT (30):

  • Allow: any to any on port 53 (DNS)
  • Allow: any to any on port 123 (NTP, para que los dispositivos tengan hora correcta)
  • Allow: any to internet only (bloqueas acceso a redes locales)

Para esta última regla, creas un alias en Firewall > Aliases con tus rangos privados (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12) y haces una regla “Block: VLAN_IoT to RFC1918_alias”.

VLAN Invitados (40):

  • Allow: any to internet only
  • Block: any to RFC1918 (redes privadas)

El orden importa. OPNsense procesa las reglas de arriba abajo. Pon las reglas de bloqueo antes que las de permitir.

5. Aplicar cambios
#

Le das a “Apply changes” en la esquina. OPNsense recarga las reglas. Ya está. Las VLANs existen a nivel de firewall.

Configurar el switch (TP-Link TL-SG108E)#

Ahora el switch tiene que saber qué puertos llevan qué VLAN.

Entras a la interfaz web del switch (por defecto 192.168.0.1). User/pass: admin/admin.

1. Crear las VLANs
#

VLAN > 802.1Q VLAN

Creas las VLANs con los mismos IDs que en OPNsense (10, 20, 30, 40).

2. Asignar puertos
#

Para cada puerto, defines:

  • Tagged: el puerto lleva tráfico de múltiples VLANs con tags. Esto lo usas en:

    • Puerto que va al firewall (trunk)
    • Puerto que va al access point (si quieres múltiples SSIDs)
  • Untagged: el puerto lleva tráfico de una sola VLAN, sin tag. Esto lo usas en dispositivos normales (ordenadores, NAS, etc.).

Mi configuración:

PuertoDispositivoVLANs
1OPNsense (trunk)10T, 20T, 30T, 40T
2Access point10T, 40T
3NAS20U
4Mini PC (Proxmox)20U
5TV30U
6Mac10U

T = Tagged, U = Untagged

El puerto 1 (trunk a OPNsense) lleva todas las VLANs con tags. El puerto 6 (mi Mac) solo lleva VLAN 10 sin tag, el Mac no sabe que hay VLANs, simplemente recibe IP de 192.168.10.x.

3. PVID (importante)
#

PVID = Port VLAN ID. Es la VLAN “default” de ese puerto. Para puertos untagged, PVID tiene que coincidir con la VLAN que asignaste.

Ejemplo: Puerto 6 (Mac) tiene VLAN 10 untagged. PVID del puerto 6 = 10.

Puerto 1 (trunk) suele tener PVID 1 (o 10, da igual, no se usa porque todo va con tag).

Si te equivocas aquí, el dispositivo no obtiene IP. Me pasó con la impresora la primera vez, tardé media hora en darme cuenta de que el PVID estaba mal.

4. Guardar configuración
#

Save > System > Save Config

Reinicia el switch para que aplique todo.

Configurar el access point (Ubiquiti U6)
#

Si usas UniFi, esto va desde el controlador (UniFi Network app o self-hosted).

  1. Settings > Networks > Create New Network

  2. Para cada VLAN:

    • Name: VLAN_Principal (o lo que sea)
    • VLAN ID: 10
    • Gateway IP: 192.168.10.1
    • DHCP: None (lo gestiona OPNsense)
  3. Settings > WiFi > Create New Network

  4. Para cada red WiFi:

    • Name: Casa (SSID)
    • Password: tu password
    • Network: VLAN_Principal (la vinculas a la VLAN 10)

Creas otra WiFi para invitados:

  • Name: Invitados
  • Password: otra password
  • Network: VLAN_Invitados (vinculada a VLAN 40)

Cuando alguien se conecta a “Casa”, recibe IP de 192.168.10.x. Si se conecta a “Invitados”, recibe IP de 192.168.40.x y no puede acceder a nada interno.

Si usas TP-Link Omada o MikroTik, el proceso es similar. Buscas “multiple SSID VLAN” + tu modelo.

Mover dispositivos a sus VLANs
#

Ahora toca el trabajo manual: mover cada dispositivo a su VLAN correcta.

Dispositivos cableados: enchúfalos al puerto del switch que configuraste para esa VLAN. Si es untagged, el dispositivo no nota nada, simplemente recibe IP del nuevo rango.

Dispositivos WiFi: conéctalos al SSID correcto. Si es un dispositivo IoT (bombilla Hue, enchufe Koogeek), hay que re-emparejarlos. Algunos no se conectan a redes diferentes a la del móvil (problema de Hue, por ejemplo).

El problema de Hue y otros IoT
#

Philips Hue busca el bridge en la misma red. Si tu móvil está en VLAN 10 y el bridge en VLAN 30, no lo encuentra.

Soluciones:

  1. mDNS reflector: OPNsense puede reflejar tráfico mDNS entre VLANs. Así Hue anuncia su presencia en VLAN 10 aunque esté en VLAN 30. Esto funciona, pero es un parche.

  2. Poner el bridge en VLAN principal temporalmente: lo emparejas, luego lo mueves a IoT. Después funciona por IP directa o via app en la nube.

Yo hice la opción 2. Emparejé todo el IoT estando en la misma VLAN, luego moví el Hue bridge a IoT. La app sigue funcionando porque usa la nube de Philips.

Si usas Home Assistant, no hay problema. Home Assistant puede estar en VLAN Servidores y hablar con dispositivos IoT por IP directa, no necesita mDNS.

Reglas de firewall avanzadas
#

Una vez que todo funciona básico, puedes refinar las reglas.

Permitir acceso selectivo de Principal a IoT:

Quieres poder acceder a la interfaz web del Hue bridge (192.168.30.10) desde tu Mac (VLAN 10), pero sin abrir acceso total a IoT.

Firewall > Rules > VLAN_Principal

Add rule:

  • Action: Pass
  • Interface: VLAN_Principal
  • Source: VLAN_Principal network
  • Destination: Single host 192.168.30.10
  • Destination port: 80, 443
  • Description: “Acceso a Hue bridge”

Ahora puedes abrir http://192.168.30.10 desde tu Mac, pero no tienes acceso genérico a toda la VLAN IoT.

Logging:

Activa logging en las reglas de bloqueo para ver qué intentos hay. Firewall > Log Files > Live View.

Verás cosas tipo “blocked: 192.168.30.15 -> 192.168.20.5” (TV intentando hablar con el NAS). Tranquilizador saber que está bloqueado.

Problemas que tuve (y cómo los arreglé)
#

1. Impresora no aparecía en el Mac

La impresora estaba en VLAN IoT, el Mac en VLAN Principal. Bonjour (mDNS) no cruza VLANs por defecto.

Solución: moví la impresora a VLAN Principal. No tiene sentido ponerla en IoT si necesito impresión directa. Las impresoras modernas son razonablemente seguras.

Alternativa: mDNS reflector en OPNsense, pero lo vi overkill para esto.

2. TV no podía hacer streaming desde el NAS

TV en VLAN IoT, NAS en VLAN Servidores. Bloqueado por firewall.

Solución: regla específica permitiendo VLAN IoT -> NAS en puertos de Plex (32400) y SMB (445). Ahora la TV puede ver Plex, pero no puede acceder al resto del NAS.

3. Home Assistant no veía dispositivos IoT

Home Assistant en VLAN Servidores, dispositivos IoT en VLAN IoT. mDNS no funcionaba.

Solución: configuré los dispositivos por IP directa en Home Assistant. En vez de auto-discovery, añadí cada integración manualmente con su IP (Hue: 192.168.30.10, etc.). Funciona perfecto.

4. Me quedé sin acceso al switch

Cambié el PVID de un puerto sin querer, perdí acceso a la interfaz web del switch.

Solución: reseteo de fábrica (botón en el switch). Perdí la config, tuve que rehacerla. Desde entonces, exporto la config del switch después de cada cambio (System > Backup).

Monitorización
#

Para ver qué pasa en cada VLAN, uso:

OPNsense Dashboard: muestra gráficas de tráfico por interfaz. Puedes ver cuánto consume cada VLAN.

ntopng (plugin de OPNsense): análisis detallado de tráfico. Ves qué IPs hablan con quién, qué puertos usan, cuánto ancho de banda. Brutal para troubleshooting.

UniFi Controller: si tienes Ubiquiti, el panel muestra clientes por VLAN, uso de ancho de banda, etc.

¿Realmente mejora la seguridad?
#

Sinceridad: depende de cómo lo uses.

Si montas VLANs pero luego abres reglas tipo “permitir todo entre todas las VLANs”, no ganaste nada. La seguridad está en las reglas de firewall, no en el hecho de tener VLANs.

Pero si lo haces bien (IoT bloqueado de redes internas, invitados totalmente aislados), sí. Un dispositivo comprometido en VLAN IoT no puede pivotar a tus servidores. Tiene que romper el firewall, y OPNsense es bastante más duro de crackear que una bombilla china.

Además, visibilidad. Antes, si veía tráfico raro, no sabía de dónde venía. Ahora puedo filtrar por VLAN en los logs y saber exactamente qué dispositivo está haciendo el tonto.

¿Vale la pena para un homelab pequeño?
#

Si tienes 5 dispositivos, probablemente no.

Si tienes IoT (bombillas, enchufes, cámaras), sí. Estos cacharros son agujeros de seguridad con patas. Aislarlos cuesta una tarde y te ahorras disgustos.

Si tienes servidores con datos importantes (NAS con documentos, Nextcloud, Vaultwarden), también. Separarlos de la red general es básico.

Si recibes visitas y les das WiFi, la VLAN de invitados es obligatoria. No quieres que el móvil de tu cuñado pueda ver tu NAS.

Conclusión: VLANs como deberían enseñarse
#

VLANs suenan complicadas porque los tutoriales hablan de trunks, tags, PVID, 802.1Q, y otra jerga que asusta.

La realidad: es crear redes separadas con el mismo cable. Defines las VLANs en el firewall, las mapeas a puertos del switch, y ya. No necesitas entender el estándar 802.1Q completo para que funcione.

Mi consejo: empieza con dos VLANs (principal + IoT). Cuando eso funcione, añade invitados. Luego servidores. No intentes montar 8 VLANs el primer día porque te vas a liar.

Y exporta las configs. Firewall, switch, access point. Todo. Cuando la cagues (y la cagarás, todos lo hacemos), agradecerás tener un backup para volver atrás.

Ahora mi red tiene 47 dispositivos, cuatro VLANs, y reglas de firewall que controlan quién habla con quién. Es más seguro, más organizado, y cuando algo falla, puedo aislar la VLAN problemática en 30 segundos.

Si tienes un homelab y sigues con todo en una sola red, dale una oportunidad a las VLANs. No es tan difícil como parece, y la tranquilidad que te da vale la tarde que inviertes en montarlo.