Saltar al contenido

Diagrama de red para homelab: VLAN, cortafuegos, proxy inverso y servicios autoalojados

Una red de homelab recuperable: plan de VLAN, reglas de cortafuegos entre VLAN, proxy inverso con certificados reales, acceso remoto seguro, DNS y copias de seguridad.

· Fundador y desarrollador

Publicado el

Diagrama de red. Internet llega a un cortafuegos OPNsense o pfSense que solo acepta WireGuard en UDP 51820. Un switch gestionable lleva las VLAN 10–50 por troncal. La VLAN 30 tiene proxy inverso, host Proxmox y NAS. El punto de acceso asigna SSID a las VLAN Trusted, IoT y Guest.

La mayoría de los homelabs empiezan con una red plana: una Raspberry Pi con Pi-hole, un NAS, un mini PC con Proxmox y una docena de contenedores, todo en la red 192.168.1.0/24 que repartió el router del proveedor. El televisor inteligente y una cámara que ya no recibe actualizaciones de firmware la comparten con la página de administración de tu NAS, y la redirección de puertos de Jellyfin de hace dos años sigue abierta.

Este artículo diseña una red de homelab que aísla los dispositivos IoT y a los invitados, expone los servicios de forma segura y es fácil de recuperar, y después la dibuja.

Qué tiene que hacer la red

  • Aislamiento. Los televisores, las cámaras y los teléfonos de los invitados llegan a internet, no a tu NAS ni a tu hipervisor.
  • Exposición segura. Una sola entrada autenticada y cifrada, no un puerto por servicio.
  • Recuperabilidad. Cuando muere un disco, reconstruyes a partir de las copias de seguridad y de un diagrama, no de memoria.

El hardware: un módem del proveedor en modo bridge, para que no haya doble NAT; un cortafuegos OPNsense o pfSense CE, ambos de código abierto, que enruta entre VLAN y ejecuta DHCP, DNS y VPN; un switch gestionable con soporte de VLAN 802.1Q; un punto de acceso que asigna SSID a VLAN; un host Proxmox VE para máquinas virtuales y contenedores LXC; y un NAS.

El plan de VLAN

Elige un /16 de los rangos privados de la RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) y asigna un /24 a cada VLAN. Evita 192.168.0.0/24 y 192.168.1.0/24, habituales en las redes desde las que te conectarás a casa, además de 172.17.0.0/16 (el bridge por defecto habitual de Docker) y 100.64.0.0/10 (las direcciones de Tailscale). Este ejemplo usa 10.23.0.0/16 con el ID de la VLAN como tercer octeto.

VLAN Nombre Subred Qué hay ahí Salida permitida
10 Management (gestión) 10.23.10.0/24 Interfaces de administración del cortafuegos, el switch, el AP y Proxmox Solo actualizaciones
20 Trusted (de confianza) 10.23.20.0/24 Tus portátiles y teléfonos Internet, proxy, gestión desde dispositivos de administración
30 Servers (servidores) 10.23.30.0/24 VM, contenedores, NAS, proxy, Pi-hole Internet para actualizaciones
40 IoT 10.23.40.0/24 Televisor, altavoces, cámaras, enchufes inteligentes Solo internet
50 Guest (invitados) 10.23.50.0/24 Visitas Solo internet

Los enlaces del cortafuegos al switch, del switch al punto de acceso y del switch a Proxmox son enlaces troncales etiquetados; la documentación de OPNsense advierte que no se mezclen VLAN sin etiquetar en el enlace troncal del cortafuegos. Los demás dispositivos reciben puertos de acceso sin etiquetar.

En Proxmox, haz que el bridge sea VLAN-aware y pon la dirección de gestión del host en la VLAN 10, como en la documentación de red de Proxmox VE. Así, cada VM recibe su propia etiqueta de VLAN:

auto vmbr0
iface vmbr0 inet manual
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094

auto vmbr0.10
iface vmbr0.10 inet static
    address 10.23.10.5/24
    gateway 10.23.10.1

Crea un SSID por cada VLAN inalámbrica: Trusted, IoT y Guest. Cisco Meraki recomienda como máximo tres por punto de acceso, porque cada SSID envía su propia baliza cada 100 ms a la velocidad de datos más baja.

Reglas de cortafuegos entre VLAN

OPNsense y pfSense evalúan las reglas en la interfaz por la que entra el tráfico, de arriba abajo: gana la primera coincidencia, y todo lo que no coincide con ninguna regla cae en la denegación por defecto. Ambos son stateful, así que permitir que Trusted llegue al proxy por el 443 también deja pasar las respuestas.

Para cada VLAN, permite lo que necesita, bloquea todos los rangos privados con un alias llamado RFC1918 y después permite internet. En la interfaz IoT:

# Acción Origen Destino Puerto Motivo
1 Pass IoT net Pi-hole, 10.23.30.53 53 DNS filtrado
2 Block IoT net Las direcciones propias del cortafuegos any Sin páginas de administración
3 Block IoT net Alias RFC1918 any Sin otras VLAN
4 Pass IoT net any any Internet

La regla 2 cubre la dirección WAN pública del cortafuegos, que el alias no incluye; pfSense llama a este destino This firewall (self). Las excepciones concretas van encima de los bloqueos: Trusted al proxy por el 443, tu portátil de administración a la interfaz web de Proxmox por el 8006, Home Assistant a IoT. El alias solo cubre IPv4, así que, si tus VLAN reciben prefijos IPv6, bloquéalos también.

La transmisión a la TV es la sorpresa habitual. AirPlay y Google Cast descubren los dispositivos con DNS multicast en 224.0.0.251, que, como señala Apple, normalmente no se enruta entre subredes. Ejecuta un repetidor mDNS entre Trusted e IoT, como el plugin os-mdns-repeater de OPNsense, y permite que Trusted llegue al televisor.

Servicios detrás de un proxy inverso

Un único proxy inverso en la VLAN Servers, como Caddy, Traefik o Nginx Proxy Manager, termina TLS y enruta por nombre de host, así que el cortafuegos solo permite el 443 hacia una dirección.

Usa nombres bajo un dominio que sea tuyo, como jellyfin.home.example.com. Evita .local, que la RFC 6762 reserva para DNS multicast; los nombres bajo .internal o home.arpa funcionan en local, pero ninguna CA pública emite certificados para ellos.

Obtén los certificados de Let's Encrypt con el desafío DNS-01: tu cliente ACME crea un registro TXT en _acme-challenge.<name> a través de la API de tu proveedor de DNS, así que nada tiene que ser accesible desde internet. También es el único tipo de desafío que emite certificados wildcard, y te conviene uno. Let's Encrypt envía cada certificado a los registros públicos de Certificate Transparency, así que *.home.example.com publica un solo nombre en lugar de tu lista de servicios. Desde Caddy 2.10, los demás sitios reutilizan un certificado wildcard que coincida:

*.home.example.com {
	tls {
		dns cloudflare {env.CF_API_TOKEN}
	}
	abort
}

jellyfin.home.example.com {
	reverse_proxy 10.23.30.21:8096
}

Esto requiere una compilación de Caddy con el módulo caddy-dns/cloudflare y un token limitado a Zone.Zone:Read y Zone.DNS:Edit. Hoy los certificados duran 90 días y para febrero de 2028 durarán 45, así que automatiza la renovación.

Opciones de acceso remoto

Opción Qué ve internet Esfuerzo Contrapartidas
Redirigir el puerto 443 al proxy Tu IP y la página de inicio de sesión de cada app Bajo El inicio de sesión de cada app es la única barrera; no funciona detrás de carrier-grade NAT
WireGuard en el cortafuegos Un puerto UDP que ignora los paquetes no autenticados Medio Necesita una IP pública accesible y un par de claves por dispositivo
Tailscale Nada entrante Bajo Depende del servicio de coordinación de Tailscale o de un Headscale autoalojado; plan Personal gratuito en el momento de escribir esto (noviembre de 2026)
Cloudflare Tunnel Nada entrante De bajo a medio Cloudflare termina TLS y ve tu tráfico; tu dominio tiene que estar en Cloudflare

WireGuard es una buena opción por defecto para ti: según el artículo de WireGuard, nunca responde a paquetes no autenticados, así que los escáneres no pueden verlo. Aun así necesita un puerto entrante, algo que el carrier-grade NAT impide; una dirección WAN en 100.64.0.0/10, el rango compartido de la RFC 6598, es la señal que lo delata.

Tailscale y Cloudflare Tunnel, en cambio, se conectan hacia fuera. Los relés DERP de Tailscale solo reenvían paquetes que siguen cifrados con WireGuard, y un subnet router llega a la VLAN Servers sin un cliente en cada VM. Un túnel encaja con servicios que compartes con personas que no instalarán una VPN; Cloudflare Access puede añadir un inicio de sesión. El diagrama de arquitectura zero trust explica por qué la identidad pesa más que la ubicación en la red.

DNS y DHCP por VLAN

El cortafuegos sirve DHCP en cada VLAN, con reservas para los servidores. OPNsense activa por defecto Unbound, un resolvedor recursivo con validación. Ejecuta Pi-hole o AdGuard Home en la VLAN Servers para Trusted e IoT: ambos filtran anuncios y rastreadores, guardan los registros locales que apuntan *.home.example.com al proxy y reenvían las demás consultas a Unbound (cómo funciona el DNS sigue una consulta de principio a fin). Los invitados usan directamente el cortafuegos. Ejecuta una segunda instancia de filtrado en otra máquina: si se detiene la única, esas VLAN se quedan sin resolución de nombres.

Copias de seguridad y alimentación

Sigue la regla 3-2-1: tres copias, dos tipos de almacenamiento, una fuera de casa. Tus VM son la primera copia; las copias nocturnas al NAS o a un Proxmox Backup Server, la segunda; y una copia cifrada en un bucket en la nube, la tercera. Proxmox Backup Server hace copias incrementales, deduplicadas y cifradas que Proxmox considera seguras incluso en destinos en los que no confías del todo. Ni el RAID ni las instantáneas son copias de seguridad. Exporta la configuración del cortafuegos (un archivo XML en OPNsense y pfSense), guárdala junto a este diagrama y prueba las restauraciones; el diagrama de arquitectura de recuperación ante desastres cubre el RPO y el RTO.

Conecta el cortafuegos, el switch, el host Proxmox y el NAS a un UPS. Con Network UPS Tools (NUT), la máquina conectada al UPS avisa a las demás por la red para que se apaguen, así que el switch también tiene que estar en el UPS. Dimensiónalo a partir del consumo medido en el enchufe y de la gráfica de autonomía de la hoja de datos: necesitas minutos, no horas.

El diagrama de red del homelab

Diagrama de red. Internet llega a un cortafuegos OPNsense o pfSense que solo acepta WireGuard en UDP 51820. Un switch gestionable lleva las VLAN 10–50 por troncal. La VLAN 30 tiene proxy inverso, host Proxmox y NAS. El punto de acceso asigna SSID a las VLAN Trusted, IoT y Guest.

22 componentes · 11 conexiones

Abrir en Archboard
Contenido del diagrama
  • Internet
  • OPNsense or pfSense
  • Managed switch
  • Access point
  • VLAN 20 · Trusted
  • Laptops and phones
  • VLAN 40 · IoT
  • TV, cameras, plugs
  • VLAN 50 · Guest
  • VLAN 30 · Servers
  • Reverse proxy (Caddy)
  • Proxmox VE host
  • NAS (backups)
  • Links
  • deny inbound
  • WireGuard UDP 51820
  • trunk: 10–50
  • trunk: 10, 20, 40, 50
  • trunk: 10, 30
  • HTTPS 443 from Trusted and VPN
  • HTTP to apps
  • nightly backups
  • SSID home
  • SSID iot
  • SSID guest
Un homelab detrás de un cortafuegos OPNsense o pfSense. Un switch gestionable lleva cinco VLAN por enlaces troncales, el punto de acceso asigna tres SSID a VLAN y un proxy inverso en la VLAN de servidores es el único camino a las apps. Todo lo demás entre VLAN está bloqueado.

Cómo leerlo:

  • Fila superior: internet, cortafuegos, switch. La WAN rechaza todo el tráfico entrante salvo WireGuard en UDP 51820 (discontinuo).
  • Los enlaces troncales llevan VLAN etiquetadas: de la 10 a la 50 al switch, 10, 20, 40 y 50 al punto de acceso por PoE, 10 y 30 a Proxmox.
  • Los marcos son VLAN con ID, nombre y CIDR. Management, la VLAN 10, es la etiqueta bajo el switch.
  • Las aristas verde azulado son flujos permitidos: HTTPS 443 desde Trusted y los clientes VPN al proxy, y luego HTTP a las apps. El gris discontinuo es la copia nocturna.
  • El punto de acceso asigna los SSID home, iot y guest a las VLAN 20, 40 y 50.
  • El bloque Markdown contiene el plan de VLAN y los ajustes; la leyenda explica los colores de los enlaces.

Dibujar con claridad diagramas de red de homelab

  • Etiqueta cada VLAN con su ID, nombre y CIDR en el propio marco.
  • Marca los enlaces troncales con las VLAN que llevan. Una VLAN que falta en un enlace troncal es el fallo clásico.
  • Dibuja el cortafuegos como el único camino entre VLAN, con los flujos permitidos etiquetados por puerto.
  • Muestra la vía de entrada desde fuera, aunque sea un solo puerto UDP.
  • Deja fuera los contenedores, las direcciones MAC y los números de puerto del switch. Corresponden a un diagrama físico, como explica la guía del diagrama de topología de red.
  • Guárdalo con tus copias de la configuración y actualízalo cuando cambie una regla.

Constrúyelo en Archboard

  1. Inicia sesión con Google o GitHub y crea un diagrama.
  2. Del pack Red, añade en una fila Internet, un Cortafuegos con la etiqueta OPNsense o pfSense y un Conmutador, y un nodo Inalámbrico para el punto de acceso, abajo a la derecha.
  3. Añade cuatro marcos Subred para las VLAN 20, 30, 40 y 50, cada uno con su nombre y su CIDR.
  4. En Servers, añade un Balanceador de carga como proxy inverso (el pack no tiene un tipo proxy), un Servidor para Proxmox y un Dispositivo cuyo Tipo sea NAS. Añade un Dispositivo de portátil en Trusted y un Dispositivo IoT en IoT.
  5. Conéctalos, ajusta el tipo de enlace de cada arista a WAN, Ethernet, PoE o Wi-Fi y etiquétala con sus VLAN o su SSID. Dibuja los flujos permitidos en verde azulado, y WireGuard y las copias de seguridad con línea discontinua.
  6. Añade una Leyenda de red del pack Red, un bloque Markdown del pack Básico con el plan de VLAN y etiquetas Texto del pack Básico con la regla de cada VLAN.

Si tus apps están en un compose.yaml, la herramienta Docker Compose a diagrama hace un borrador de la parte de servicios, y la página de diagramas de red muestra el pack completo. El ejemplo usa 15 nodos de diagrama, dentro del plan Free, que es también el límite de Free por diagrama.

Preguntas frecuentes

¿Qué VLAN debería tener un homelab? Normalmente cinco: gestión, dispositivos de confianza, servidores, IoT e invitados. Añade más solo cuando haya dispositivos que necesiten reglas distintas; cada VLAN suma reglas y, a menudo, un SSID.

¿Necesito un switch gestionable para usar VLAN? Sí, un switch gestionable o smart con soporte de 802.1Q, además de un punto de acceso que asigne SSID a VLAN. Los switches no gestionables no pueden asignar puertos a VLAN.

¿Debería ejecutar OPNsense o pfSense como VM en Proxmox? Te ahorras un equipo, pero cada reinicio del host deja a toda la casa sin conexión. Un pequeño cortafuegos dedicado es más fácil de recuperar. Si virtualizas, dale a la WAN su propia NIC y guarda una exportación de la configuración fuera del host.

¿Es seguro abrir un puerto para un servicio autoalojado? Pone la página de inicio de sesión de la app en internet, así que sus actualizaciones de seguridad pasan a ser tu defensa. Mejor usa una VPN; si tienes que redirigir un puerto, envía solo el 443 al proxy inverso y añade autenticación delante.

¿Puedo usar Let's Encrypt para servicios solo internos? Sí, con DNS-01: un registro TXT demuestra que controlas el dominio, así que el servicio nunca tiene que ser accesible desde internet. Un certificado wildcard mantiene los nombres de los servicios fuera de los registros de Certificate Transparency.

Empieza gratis — un puesto, sin tarjeta de crédito.

Artículos relacionados

← Volver al blog

Abre un lienzo en un minuto

Inicia sesión con Google o GitHub. Gratis para un asiento. Mejora el plan cuando se una el equipo.