← Documentación

Manual 06 · Red, VLAN y calidad de servicio

La zona WiFi es una red de desconocidos dentro de la infraestructura de un ISP. Este manual define cómo se aísla, cómo se direcciona y cómo se reparte el ancho de banda para que un visitante no pueda ver a otro, ni llegar a la red de gestión, ni ahogar la zona entera.

Aplica a cualquier fabricante; los ejemplos van en RouterOS porque es el conector de referencia.


1. Principio: la zona es una isla

Internet
   │
[ Router del ISP ]
   ├── VLAN 1   Gestión (APs, switches, cámaras)   ← NUNCA alcanzable desde la zona
   ├── VLAN 10  Red interna del negocio            ← NUNCA alcanzable desde la zona
   └── VLAN 60  Zona WiFi (invitados)              ← sólo puede salir a internet

Tres reglas que no se negocian:

  1. La zona no habla con ninguna otra VLAN. Ni con gestión, ni con la caja registradora del comercio, ni con las cámaras.
  2. Los visitantes no se ven entre ellos (aislamiento de clientes en el AP y en el bridge).
  3. La gestión de los equipos no se expone a la zona. El visitante no debe poder ni ver el login del AP.

2. Direccionamiento

Elemento Valor recomendado Por qué
Subred 10.60.0.0/22 (1.022 hosts) Una plaza llena agota un /24 y el síntoma —«conecta pero no navega»— nadie lo asocia a DHCP
Gateway 10.60.0.1
Pool DHCP 10.60.1.10 – 10.60.3.250 Deja el primer bloque libre para infraestructura
Concesión DHCP 45 minutos Más que la sesión de visitante (30 min), menos que la de cliente (2 h). Concesiones de 24 h llenan el pool de teléfonos que ya se fueron
DNS entregado El gateway de la zona Permite filtrar y permite que el portal resuelva

Una VLAN y una subred por zona. Dos zonas distintas del mismo operador no comparten VLAN aunque cuelguen del mismo router: cuando haya que diagnosticar una, no se toca la otra.


3. VLAN y bridge (RouterOS)

/interface bridge add name=bridge-zonaw vlan-filtering=no
/interface vlan add name=vlan60 vlan-id=60 interface=ether2 comment="Zona WiFi"
/interface bridge port add bridge=bridge-zonaw interface=vlan60

# Aislamiento entre clientes DENTRO del bridge:
/interface bridge port set [find bridge=bridge-zonaw] horizon=1

horizon=1 hace que los puertos con el mismo horizonte no se reenvíen tráfico entre sí. Es el aislamiento del lado cableado; el del lado del aire se activa en el AP:

  • MikroTik (CAPsMAN / wifiwave2): client-to-client-forwarding=no
  • UniFi: Client Device Isolation
  • Omada: Guest Network (ya lo implica) + Client Isolation
  • Ruijie: User Isolation / Layer 2 Isolation

Hay que activar los dos. Con sólo uno, dos teléfonos en el mismo AP se siguen viendo.


4. Cortafuegos

El orden importa: primero lo que se permite, al final se niega todo.

/ip firewall filter

# 1. Lo ya establecido pasa (si no, nada funciona)
add chain=forward connection-state=established,related action=accept comment="Establecidas"
add chain=forward connection-state=invalid action=drop

# 2. La zona NO entra a ninguna red privada
add chain=forward src-address=10.60.0.0/22 dst-address=10.0.0.0/8 action=drop comment="Zona no toca redes privadas"
add chain=forward src-address=10.60.0.0/22 dst-address=172.16.0.0/12 action=drop
add chain=forward src-address=10.60.0.0/22 dst-address=192.168.0.0/16 action=drop

# 3. La zona NO administra el router
add chain=input src-address=10.60.0.0/22 dst-port=22,23,80,443,8291,8728,8729 protocol=tcp action=drop comment="Sin gestión desde la zona"

# 4. DNS y DHCP del propio router, sí
add chain=input src-address=10.60.0.0/22 protocol=udp dst-port=53,67,68 action=accept
add chain=input src-address=10.60.0.0/22 protocol=tcp dst-port=53 action=accept

# 5. Salida a internet
add chain=forward src-address=10.60.0.0/22 out-interface=ether1 action=accept comment="Zona a internet"
add chain=forward src-address=10.60.0.0/22 action=drop comment="Lo demás, no"

La regla 3 es la que impide que alguien sentado en la plaza abra el login del router. Que el icono no esté a la vista no es protección: si el puerto responde, alguien lo va a encontrar.

Puertos que conviene cerrar en una red pública

# SMTP saliente: una zona abierta es un paraíso para el spam
add chain=forward src-address=10.60.0.0/22 protocol=tcp dst-port=25,465,587 action=drop comment="Sin SMTP directo"
# NetBIOS/SMB: ruido y riesgo
add chain=forward src-address=10.60.0.0/22 protocol=tcp dst-port=135,139,445 action=drop
add chain=forward src-address=10.60.0.0/22 protocol=udp dst-port=137,138 action=drop

Bloquear SMTP saliente evita que la IP pública de la zona termine en listas negras por culpa de un teléfono infectado. Es una de las lecciones más caras del oficio.


5. Calidad de servicio

IPSmart Z ya le pasa el límite por cliente al equipo (4 Mbps de bajada al visitante, 8 al cliente, configurable por zona). Lo que falta es proteger el retorno:

# Techo de toda la zona: que nunca se coma más que esto del enlace
/queue simple add name=techo-zonaw target=10.60.0.0/22 max-limit=200M/200M

# Y priorizar lo pequeño e interactivo sobre lo grande
/queue type add name=zonaw-pcq-bajada kind=pcq pcq-rate=0 pcq-classifier=dst-address
/queue type add name=zonaw-pcq-subida kind=pcq pcq-rate=0 pcq-classifier=src-address
/queue simple set techo-zonaw queue=zonaw-pcq-subida/zonaw-pcq-bajada

pcq-rate=0 reparte el ancho de banda disponible en partes iguales entre quienes estén usándolo, que es exactamente lo que quieres en una plaza: cuando hay 5 personas cada una vuela, cuando hay 200 nadie se queda sin nada.

No pongas el techo igual a la capacidad del enlace. Deja un 10–15 % libre: si la cola satura el enlace por completo, el propio portal y la gestión se ponen lentos.


6. DNS

  • El DNS lo entrega el gateway de la zona; así se puede filtrar contenido si el cliente lo pide (DNS con categorías, listas de bloqueo).
  • Activa la caché del router: /ip dns set allow-remote-requests=yes cache-size=4096KiB
  • Ojo con DoH/DoT: los teléfonos modernos usan DNS cifrado y se saltan el filtro. Si el filtrado es un requisito del cliente, hay que bloquear el puerto 853 y los resolutores conocidos — y aun así no es perfecto. Decirlo antes, no después.

7. Lo que se rompe cuando falta algo

Falta Síntoma que reporta el cliente
Aislamiento de clientes «Veo las carpetas compartidas de otro» / robo de sesiones
Regla de gestión (input drop) Alguien entra al AP desde la plaza
Pool DHCP pequeño «Conecta pero no navega» a la hora pico
Concesión DHCP larga Lo mismo, pero sólo los fines de semana
Techo de zona Una descarga deja la plaza entera inservible
PCQ Dos personas con video y los demás sin nada
Bloqueo de SMTP La IP pública termina en lista negra
Bloqueo de redes privadas Un visitante alcanza las cámaras del comercio

8. Lista de comprobación

  • La zona tiene VLAN propia, distinta de gestión y de la red del negocio.
  • Subred /22 con pool amplio y concesión de 45 minutos.
  • Aislamiento de clientes activo en el AP y en el bridge.
  • Reglas de cortafuegos: sin redes privadas, sin gestión, sin SMTP, sin SMB.
  • Techo de zona con PCQ configurado y probado con dos dispositivos.
  • DNS del gateway funcionando y con caché.
  • Prueba real: desde un teléfono conectado a la zona, intentar abrir la IP del router → debe fallar.
  • Prueba real: dos teléfonos en la zona, uno intenta hacer ping al otro → debe fallar.