VPN de sitio a sitio segura con WireGuard en VyOS 1.5 para conectividad entre sitios
Conectar varios sitios de oficina o centros de datos de forma segura y eficiente es un reto fundamental para las empresas modernas. Las soluciones VPN tradicionales como IPsec u OpenVPN pueden ser complejas de configurar y mantener, sobre todo en entornos con varios sitios. WireGuard ofrece una alternativa ligera y rápida, más sencilla de configurar. VyOS 1.5 admite WireGuard por completo, lo que lo convierte en una excelente opción para organizaciones que buscan interconectar varios centros de datos o sitios. En esta guía te mostramos cómo configurar un túnel WireGuard de sitio a sitio en VyOS 1.5. Cubrimos el enrutamiento, la configuración del firewall y las buenas prácticas. Al final, tus sitios estarán conectados de forma segura a través de internet, con el tráfico enrutado eficazmente entre las LAN.
Loading...
Requisitos previos
Antes de empezar, asegúrate de tener lo siguiente:
- VyOS 1.5 instalado en cada router perimetral que actúe como extremo de la VPN
- Direcciones IP públicas en cada sitio/servidor
- Acceso administrativo para configurar reglas de firewall en VyOS
- Conocimientos básicos de enrutamiento y conceptos de redes en Linux
Topología de red
Partimos de la siguiente disposición de red:
| Sitio | Subred LAN | IP del túnel WireGuard | IP pública |
|---|---|---|---|
| Site A | 10.10.1.0/24 | 10.200.1.1 | 198.51.100.1 |
| Site B | 10.10.2.0/24 | 10.200.1.2 | 203.0.113.2 |
Diagrama ASCII
| 10.10.1.0/24 | | 10.200.1.1 <--> 10.200.1.2 | | 10.10.2.0/24 |
| Site A LAN | WireGuard Tunnel | Site B LAN |
------------------- ------------------------- -------------------
| VyOS Router A |-----------| UDP Port 51820 |-----| VyOS Router B |
| Public IP: | | Public IP: |
| 198.51.100.1 | | 203.0.113.2 |
------------------- -------------------
Este diagrama muestra la conectividad lógica: el túnel WireGuard conecta de forma segura las LAN de ambos sitios, lo que permite enrutar el tráfico entre ellas a través de internet.
Paso 1: generar las claves de WireGuard
WireGuard usa pares de claves pública y privada para la autenticación. Genera las claves en cada extremo VyOS:
lachlanr@ams-01:~$ generate pki wireguard key-pair
Private key: UBpynSyGezhb9pp3Bddk/g/gdl3SM+oai02HeQ5a11E=
Public key: a/oSvpcQ3BFzmtavPT+D8Rukdc7L+eYLig3zr0wnMGU=
Este comando genera una clave privada y una clave pública. Guarda ambas de forma segura. La clave privada permanece en el router local, mientras que la clave pública se comparte con el peer remoto.
No uses estas claves exactas; usa las que genere la salida cuando ejecutes tú mismo los comandos.
Paso 2: configurar las interfaces WireGuard
En Site A, crea una interfaz WireGuard wg0 con la IP de túnel local y el puerto de escucha:
set interfaces wireguard wg0 address '10.200.1.1/24'
set interfaces wireguard wg0 listen-port '51820'
set interfaces wireguard wg0 private-key '<Site A Private Key>'
Añade Site B como peer:
set interfaces wireguard wg0 peer office-b allowed-ips '10.10.2.0/24'
set interfaces wireguard wg0 peer office-b address '203.0.113.2'
set interfaces wireguard wg0 peer office-b port '51820'
set interfaces wireguard wg0 peer office-b public-key 'a/oSvpcQ3BFzmtavPT+D8Rukdc7L+eYLig3zr0wnMGU='
Repite la configuración en Site B, intercambiando las direcciones y claves locales y remotas.
Paso 3: configurar rutas estáticas
Asegúrate de que el tráfico destinado a la LAN remota se enrute a través de la interfaz WireGuard.
- En Site A:
set protocols static route 10.10.2.0/24 next-hop 10.200.1.2
- En Site B:
set protocols static route 10.10.1.0/24 next-hop 10.200.1.1
Diagrama ASCII: flujo de tráfico
Site A LAN 10.10.1.0/24
|
|---[WireGuard wg0 10.200.1.1]---> Tunnel ---> [wg0 10.200.1.2]---|
|
Site B LAN 10.10.2.0/24
Esto garantiza que el tráfico LAN a LAN pase por el túnel en lugar de ir directamente por internet público.
Paso 4: configurar reglas de firewall (opcional, según la configuración)
WireGuard requiere que el tráfico UDP atraviese tu firewall, siguiendo el mismo enfoque de denegación por defecto con lista blanca que usarías en cualquier servidor. En cada sitio:
- Permite el tráfico UDP en el puerto de WireGuard desde la IP pública del sitio remoto
- Permite el tráfico entre las LAN a través de la interfaz WireGuard
Ejemplo para Site A:
set firewall name WAN_LOCAL rule 10 action accept
set firewall name WAN_LOCAL rule 10 protocol udp
set firewall name WAN_LOCAL rule 10 destination port 51820
set firewall name WAN_LOCAL rule 10 source address 203.0.113.2
Aplica las reglas de firewall a la interfaz WAN:
set interfaces ethernet eth0 firewall in name WAN_LOCAL
Paso 5: comprobar que el túnel está activo
Comprueba el estado de la interfaz WireGuard:
show interfaces wireguard
Comprueba la conectividad haciendo ping a hosts de la LAN remota:
ping 10.10.2.1
Si los pings fallan:
- Verifica que las claves públicas y las IP de túnel sean correctas
- Comprueba las reglas de firewall para asegurarte de que el tráfico UDP esté permitido
- Asegúrate de que las rutas estáticas apunten a la interfaz WireGuard
También puedes configurar PMTU (Path MTU Discovery), que determina el valor de MSS correcto para el clamping.
set interfaces wireguard wg0 ip adjust-mss 'clamp-mss-to-pmtu'
Opcional: ajusta el MTU/MSS si experimentas fragmentación:
set interfaces wireguard wg0 mtu 1420
Paso 6: buenas prácticas de seguridad
- Activa opcionalmente una clave precompartida para mayor seguridad (lo veremos en una próxima entrada)
- Restringe
allowed-ipsestrictamente a las subredes necesarias - Monitoriza el túnel con regularidad para garantizar la conectividad y el rendimiento (con herramientas como tcpdump)
Conclusión
WireGuard en VyOS 1.5 ofrece una solución VPN ligera y de alto rendimiento para la conectividad entre sitios y centros de datos. Tras este tutorial, tus sitios ya están conectados de forma segura, con el tráfico enrutado eficazmente entre las LAN.
La simplicidad de WireGuard, el mismo protocolo detrás de las VPN mesh como Tailscale, Headscale y NetBird, combinada con las sólidas capacidades de enrutamiento de VyOS, garantiza una arquitectura de red segura y fácil de mantener, adecuada para organizaciones modernas con varios sitios.

Escrito por
Network Engineer, Serverside.com
Lachlan is a network engineer at Serverside.com, where he works on the Arista backbone, public IPv4/IPv6 address space and real-time gNMI network telemetry. He also operates his own autonomous system (AS25735) and writes hands-on guides on routing, VPNs and network automation on bare metal.
Seguir leyendo
Ver todos los artículos¿Te ha gustado este artículo?
Recibe nuevas guías y artículos técnicos en tu correo. Sin spam, cancela cuando quieras.



