Introducción
En esta guía aprenderás a configurar una VPN con WireGuard en un router MikroTik que cuente con IP pública. WireGuard es un protocolo moderno, ligero y seguro que ofrece un rendimiento superior al de otros protocolos tradicionales como L2TP, SSTP u OpenVPN, y es fácil de implementar tanto en routers como en dispositivos móviles y computadoras.
La configuración se realizará en un RouterBoard con RouterOS versión 7, ya que WireGuard está disponible únicamente a partir de esta versión del sistema operativo de MikroTik. A lo largo de la guía se explicará cómo:
- Crear y habilitar la interfaz WireGuard en el MikroTik.
- Generar las claves necesarias para la comunicación segura.
- Asignar direcciones IP a la red VPN.
- Configurar reglas de firewall y NAT.
- Agregar clientes (peers) y permitir su conexión desde cualquier parte del mundo usando la IP pública del router.
Requisitos previos
- Router MikroTik con RouterOS v7.1 o superior .
- Dirección IP pública configurada en el MikroTik.
- Acceso a Winbox , WebFig o SSH .
- Un dispositivo cliente (PC, móvil o router remoto) con soporte para WireGuard.
Paso 1 — Verificar versión de RouterOS
En consola:
/system resource print
Si no estás en la versión 7.x, actualiza:
/system package update check-for-updates
/system package update install
Paso 2 — Crear la interfaz WireGuard
Ejecuta:
/interface wireguard add name=wg0 listen-port=51820
Nota: puedes cambiar el puerto UDP si lo deseas; asegúrate de abrirlo en el firewall/ISP.
Paso 3 — Asignar IP a la interfaz WireGuard
Usaremos la subred de ejemplo 10.10.10.0/24
:
/ip address add address=10.10.10.1/24 interface=wg0
Paso 4 — Configurar firewall y NAT
Permite el puerto WireGuard (ej. 51820):
/ip firewall filter add chain=input action=accept protocol=udp dst-port=51820 comment="Allow WireGuard"
Si quieres que los clientes salgan a Internet por la VPN (NAT):
/ip firewall nat add chain=srcnat src-address=10.10.10.0/24 action=masquerade
Paso 5 — Agregar un cliente (peer)
Ejemplo para un cliente con IP 10.10.10.2
:
/interface wireguard peers add interface=wg0 public-key="PUBLIC_KEY_CLIENTE" allowed-address=10.10.10.2/32
Paso 6 — Configuración en el cliente
Ejemplo de configuración en la app WireGuard (Windows, Linux, Android, iOS):
[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.10.10.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = PUBLIC_KEY_MIKROTIK
Endpoint = TU_IP_PUBLICA:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Notas:
- AllowedIPs = 0.0.0.0/0 envía todo el tráfico por la VPN (opcionales: para solo acceso a red local usar
10.10.10.0/24
). - PersistentKeepalive = 25 ayuda con traversal de NAT en clientes móviles.
Paso 7 — Verificar la conexión
En MikroTik verifica peers:
/interface wireguard peers print
Comprueba el handshake y prueba un ping:
/ping 10.10.10.2
Paso 8 — Agregar más clientes
Repite el Paso 6 y 7 para cada cliente, asignando IPs diferentes (10.10.10.3, 10.10.10.4, ...).
Script ejemplo (lista para pegar)
Script básico que puedes adaptar: reemplaza las claves y la IP pública donde corresponda.
# --- Script WireGuard MikroTik (adaptar claves y valores) ---
/interface wireguard add name=wg0 listen-port=51820
/ip address add address=10.10.10.1/24 interface=wg0
/ip firewall filter add chain=input action=accept protocol=udp dst-port=51820 comment="Allow WireGuard"
/ip firewall nat add chain=srcnat src-address=10.10.10.0/24 action=masquerade
# Añadir peer (cliente ejemplo)
# public-key = clave pública del cliente
/interface wireguard peers add interface=wg0 public-key="PUBLIC_KEY_CLIENTE_1" allowed-address=10.10.10.2/32
# -------------------------------
Conclusión
Con estos pasos tendrás una VPN WireGuard funcionando en tu MikroTik con IP pública. WireGuard es más rápido y moderno que protocolos tradicionales y es ideal para acceso remoto y navegación segura. Recuerda mantener RouterOS actualizado y gestionar correctamente las claves privadas.