Introducción a la integración de WireGuard y FreeBSD en un NAS casero
Proveer acceso seguro y eficiente a la red doméstica es una prioridad para cualquier founder que administre su propia infraestructura. El artículo detalla un caso práctico de implementación de WireGuard VPN en un servidor NAS con FreeBSD 14.3, incluyendo la configuración avanzada de firewall y el enrutamiento entre redes de oficina y hogar, una opción robusta para equipos remotos y founders tech.
Arquitectura de red: un enfoque práctico
La topología planteada emplea un servidor FreeBSD 14.3 como núcleo del sistema, actuando como servidor WireGuard VPN. Se trabajan tres rangos principales:
- 10.8.0.0/24 – Subred VPN (wg0 interface)
- 192.168.0.0/24 – Red de oficina (FreeBSD – 192.168.0.2)
- 192.168.100.0/24 – Red del NAS en el hogar
Esto permite a dispositivos en cualquier red (incluyendo clientes Linux, como Arch) acceder entre sí, facilitando flujos de trabajo distribuidos y centralización de backups y servicios.
Configuración de WireGuard en FreeBSD
El proceso consiste en:
- Instalar el kernel module y herramientas de WireGuard: pkg install wireguard (FreeBSD 14+).
- Generar claves criptográficas para el servidor y clientes.
- Configurar wg0.conf, especificando:
- Dirección: 10.8.0.1/24
- Puerto de escucha: 51820/UDP (redirigido en el router)
- Pares autorizados con sus llaves públicas y AllowedIPs para enrutar tráfico.
- Habilitar el servicio en el arranque: sysrc wireguard_enable=YES wireguard_interfaces=wg0
Esto asegura flexibilidad para incorporar nuevos peers (laptops, otros servidores, home office, etc.) siguiendo una estructura segura y escalable.
Firewall y routing: reglas PF y NAT selectivas
La seguridad de la red se refuerza mediante un firewall Packet Filter (PF) en FreeBSD. Entre las reglas clave destacan:
- Permitir desde VPN (10.8.0.0/24) el acceso al host FreeBSD para ping y SSH en wg0.
- Tránsito controlado desde VPN a las redes internas (oficina y hogar).
- Apertura únicamente del puerto 51820/UDP desde Internet hacia FreeBSD.
El tráfico solo toma la ruta directa entre redes, limitando amenazas y manteniendo la eficiencia. También se emplean opciones como gateway_enable=YES para activar el reenvío IP necesario en el enrutamiento entre office y home.
Configuración del peer Linux (Arch) y conexión con múltiples dispositivos
La inclusión de clientes Linux es directa: basta con replicar la configuración peer-to-peer de WireGuard, asignando claves y AllowedIPs adecuados. De forma predeterminada, no se enruta tráfico de Internet completo, sólo paquetes destinados a las LAN target. Esto minimiza riesgos y ancho de banda consumido.
La conexión puede ser validada con pruebas de estado (wg show), ping entre peers y acceso remoto vía SSH entre dispositivos a través de la VPN.
Toma de decisiones y mejores prácticas para founders
El modelo expuesto prioriza la mínima exposición y máxima eficiencia. La administración granular del firewall, la segregación de subredes y la adopción de un stack abierto y auditable como FreeBSD y WireGuard, garantizan un entorno robusto para startups que priorizan control y seguridad en red. Recomiendo documentar cambios y mantener versiones de la configuración para evitar errores disruptivos, y monitorear el tráfico regularmente.
Conclusión
Implementar WireGuard y PF en FreeBSD para tu NAS casero es una estrategia óptima para founders y equipos distribuidos que quieren balancear seguridad, control y simplicidad operacional. Adopta estas prácticas para asegurar el acceso remoto y la gestión eficiente de tus servicios críticos.
Descubre cómo otros founders implementan estas soluciones para escalar sus operaciones y optimizar la seguridad de su red.
Fuentes
- https://rtfm.co.ua/en/freebsd-home-nas-part-3-wireguard-vpn-linux-peer-and-routing/ (fuente original)
- https://www.zenarmor.com/docs/network-security-tutorials/how-to-install-wireguard-on-freebsd (fuente adicional)
- https://freebsdfoundation.org/our-work/journal/browser-based-edition/networking-10th-anniversary/make-your-own-vpn-freebsd-wireguard-ipv6-and-ad-blocking-included (fuente adicional)
- https://vlads.me/post/create-a-wireguard-server-on-freebsd-in-15-minutes/ (fuente adicional)
- https://forums.truenas.com/t/how-to-setup-a-wireguard-vpn-server-in-a-jail/1178 (fuente adicional)
- https://genneko.github.io/playing-with-bsd/networking/freebsd-wireguard-jail/ (fuente adicional)
- https://forums.freebsd.org/threads/how-to-enable-wireguard-service-in-freebsd14-2.96022/ (fuente adicional)
- https://forum.level1techs.com/t/wireguard-perfect-remote-access/182250 (fuente adicional)















