Ir al contenido

VLAN y segmentación: varias redes en el mismo cable

Imagina una red donde están, todos juntos, el ordenador de la oficina, el TPV, las cámaras, el NAS con todos los documentos y el móvil de cada cliente que se conecta al Wi-Fi. Todos en la misma red, viéndose entre ellos. Si cualquiera de esos equipos tiene un problema de seguridad, tiene acceso directo a todo lo demás.

La solución es segmentar: dividir la red en varias redes separadas y decidir con reglas quién puede hablar con quién. Y la forma de hacerlo sin poner un switch y un cableado distintos para cada red son las VLAN.

Una VLAN (Virtual LAN) es una red lógica separada dentro del mismo switch. Los equipos de la VLAN 10 y los de la VLAN 20 pueden estar enchufados al mismo switch, incluso en puertos contiguos, y aun así es como si estuvieran en switches distintos: no se ven entre ellos.

Cada VLAN se identifica con un número, el VLAN ID, del 1 al 4094. Y lo normal es que cada VLAN tenga su propia subred:

VLAN Uso Subred
10 Gestión (switches, AP, controladora) 192.168.10.0/24
20 Servidores 192.168.20.0/24
30 Equipos de trabajo 192.168.30.0/24
40 Cámaras e IoT 192.168.40.0/24
50 Wi-Fi de invitados 192.168.50.0/24

Un truco que ayuda mucho: hacer coincidir el número de VLAN con el tercer octeto de la subred. Ves 192.168.40.x y sabes al momento que es la VLAN 40.

Cómo sabe el switch de qué VLAN es cada trama: 802.1Q

Sección titulada «Cómo sabe el switch de qué VLAN es cada trama: 802.1Q»

Cuando una trama tiene que viajar por un cable que lleva varias VLAN, el switch le añade una etiqueta (tag) de 4 bytes según el estándar IEEE 802.1Q. Dentro de esa etiqueta va el VLAN ID.

Trama normal: [ MAC destino | MAC origen | | Tipo | Datos | FCS ]
Trama etiquetada: [ MAC destino | MAC origen | 802.1Q VID=40 | Tipo | Datos | FCS ]
└── 4 bytes ──┘

El equipo de destino nunca ve la etiqueta: el último switch se la quita antes de entregarle la trama.

Esto es lo que más cuesta al principio, y lo más importante. Cada puerto del switch se configura de una de estas dos formas:

  1. Access (sin etiqueta / untagged) → el puerto pertenece a una sola VLAN. Aquí van los equipos finales: un PC, una impresora, una cámara. El equipo no sabe nada de VLAN; es el switch el que sabe que todo lo que entra por ese puerto es, por ejemplo, de la VLAN 30.
  2. Trunk (con etiqueta / tagged) → el puerto lleva varias VLAN a la vez, cada trama con su etiqueta. Aquí van los enlaces entre switches, entre switch y router, entre switch y AP, y hacia servidores de virtualización como Proxmox.
Router / firewall
│ trunk: VLAN 10, 20, 30, 40, 50
┌──────┴───────┐
│ Switch │
└┬────┬────┬──┬┘
access VLAN 30│ │ │ │trunk: VLAN 10, 40, 50
PC │ │ AP ── SSID "Oficina" → VLAN 30
access VLAN 40│ │ SSID "Invitados" → VLAN 50
Cámara │trunk: VLAN 20, 30
Proxmox (cada VM o LXC en su VLAN)

En un puerto trunk puede haber una VLAN que viaje sin etiqueta: la VLAN nativa. En muchos switches es la VLAN 1 por defecto, y en algunos el campo se llama PVID. Las tramas sin etiqueta que entran por un trunk se asignan a esa VLAN.

La VLAN nativa tiene que coincidir en los dos extremos del cable. Si no coincide, el tráfico se mezcla entre VLAN, y eso es de las averías más raras de diagnosticar que hay.

Por definición, dos VLAN no se ven. Si un equipo de la VLAN 30 tiene que llegar al NAS de la VLAN 20, alguien tiene que enrutar entre ellas: un router o un switch de capa 3. A esto se le llama enrutamiento entre VLAN (inter-VLAN routing).

Y aquí está la gracia de la segmentación: como todo el tráfico entre VLAN pasa por el router/firewall, ahí es donde pones las reglas:

Origen Destino Acción
Invitados Internet PERMITIR
Invitados Cualquier VLAN BLOQUEAR
Cámaras NVR (grabador) PERMITIR
Cámaras Internet BLOQUEAR --> que no "llamen a casa"
Trabajo Servidores 445 PERMITIR
Gestión -- solo desde un equipo de administración

El enfoque más seguro es bloquear todo entre VLAN por defecto y abrir solo lo que haga falta.

Cada VLAN necesita su propio DHCP, o al menos su propio rango. Como el DHCP funciona por broadcast y el broadcast no sale de su VLAN, hay dos opciones:

  1. El router hace de servidor DHCP en cada VLAN, con un rango distinto en cada una. Es lo más habitual.
  2. Un servidor DHCP central y el router reenviando las peticiones de cada VLAN hacia él con un DHCP relay (en Cisco, ip helper-address).

Y no te olvides de una cosa: si tienes un DNS propio (un Pi-hole, por ejemplo) en la VLAN de servidores, las demás VLAN tienen que poder llegar a él por el puerto 53. Es de las reglas que siempre se olvidan al bloquear todo.

En la práctica: VLAN con una controladora (Omada)

Sección titulada «En la práctica: VLAN con una controladora (Omada)»

En equipos domésticos, las VLAN se configuran aparato por aparato: entras al router, creas la VLAN; entras al switch, configuras cada puerto; entras al AP, asocias cada SSID… En cuanto tienes varios equipos es fácil que algo no cuadre.

Los sistemas con controladora (Omada de TP-Link, UniFi de Ubiquiti, Meraki…) lo resuelven configurándolo todo desde un solo panel. Yo he trabajado con Omada, así que lo explico con sus nombres, pero la lógica es la misma en todos.

  1. Redes (LAN) → en la controladora creas cada red con su VLAN ID, su subred, su puerta de enlace y su DHCP. El router Omada crea automáticamente una interfaz para cada una.
  2. Perfiles de puerto → en vez de configurar puerto a puerto, defines perfiles: “solo VLAN 40 sin etiqueta” para una cámara, “todas las VLAN etiquetadas” para un trunk… y se los asignas a los puertos de cualquier switch Omada.
  3. SSID con VLAN → cada red Wi-Fi lleva su VLAN, y todos los AP la emiten igual.
  4. ACL en tres niveles → reglas en el router (entre VLAN y hacia internet), en los switches (dentro de la red, más cerca del equipo) y en los AP (para el Wi-Fi).

La controladora solo gestiona sus propios equipos. Si en la red hay un switch de otra marca (por ejemplo, uno que venía con la instalación del operador), ese hay que configurarlo a mano, y aquí es donde aparecen los problemas:

  1. Los mismos VLAN ID en todos los equipos → si en la controladora la red de servidores es la VLAN 20, en el otro switch también tiene que ser la 20. Las VLAN se identifican solo por el número, no por el nombre.
  2. El enlace entre los dos switches es un trunk → tiene que llevar etiquetadas todas las VLAN que deban pasar de un lado a otro. Si falta una, los equipos de esa VLAN que están en el otro switch se quedan sin red.
  3. La misma VLAN nativa en los dos extremos → si no, el tráfico sin etiqueta acaba en VLAN distintas a cada lado.
  4. Documentarlo → la controladora no sabe nada de ese switch. Si mañana cambias algo en el panel, hay que acordarse de replicarlo también allí.

En el negocio que administro, toda la red está montada sobre Omada, y no es casualidad:

  1. Un router Omada → hace de puerta de enlace y firewall para todas las VLAN, y gestiona las dos salidas a internet con failover. Esto lo explico en Conexiones a internet.
  2. Una controladora → desde la que se gestiona todo: router, switches y puntos de acceso.
  3. Switches Omada → todos compatibles con la controladora, incluido el PoE+ que alimenta los AP. Cada switch tiene sus puertos con el perfil que toca según lo que tiene conectado: trunk hacia los AP y entre switches, y access en los equipos finales.

Elegí que todos los switches fueran compatibles con Omada precisamente para no caer en el problema del apartado anterior. Una VLAN nueva se crea una vez en el panel y llega a todos los equipos, sin estar entrando por consola a cada switch para picar la configuración a mano. Para el día a día, eso es media vida.

Las VLAN están separadas por tipo de uso: servidores, gestión, personal y clientes, con una VLAN aparte prevista para los terminales de pago. Cada SSID va a su VLAN, y las reglas siguen la lógica de “bloquear todo entre VLAN y abrir lo justo”.

El Wi-Fi de clientes, además, pasa por un portal cautivo (la página de bienvenida al conectarte al Wi-Fi de un hotel o una cafetería).

  • Usar la VLAN 1 para todo → es la VLAN por defecto de casi todos los switches. Mejor dejarla vacía y usar VLAN propias, también para la gestión.
  • VLAN nativa distinta en cada extremo de un trunk → tráfico mezclado entre VLAN.
  • Un switch no gestionable en medio de un trunk → no entiende las etiquetas y rompe la segmentación.
  • Olvidar el DHCP o el DNS en una VLAN nueva → los equipos se conectan y “no hay internet”. Mira si tienen IP 169.254.x.x.
  • Segmentar y no poner reglas → si el router deja pasar todo entre VLAN, has hecho mucho trabajo para nada.
  • Bloquearte a ti mismo → cambiar la VLAN del puerto por el que estás gestionando el switch. Ten siempre un puerto o un acceso de gestión de reserva antes de tocar nada.
  • Segmentar → dividir la red en varias para que un problema en una no afecte a las demás.
  • VLAN → red lógica dentro del mismo switch, con un ID del 1 al 4094. Normalmente, una VLAN = una subred.
  • 802.1Q → la etiqueta de 4 bytes que dice a qué VLAN pertenece cada trama.
  • Access → una VLAN, sin etiqueta, para equipos finales. Trunk → varias VLAN etiquetadas, entre switches, routers, AP y servidores.
  • Entre VLAN → enruta el router/firewall, y ahí van las reglas. Bloquea por defecto y abre solo lo necesario.
  • Cada VLAN necesita su DHCP y acceso a su DNS.

Siguiente: Conexiones a internet Relacionado: Equipos de red, Direcciones IP y subredes, Índice de Redes