VPN

Cómo Configurar VPN WireGuard en MikroTik: Tutorial Paso a Paso

19 de Mayo de 2025 · 10 min de lectura · Equipo Mikrosinc

WireGuard llegó al RouterOS en la versión 7.1 y rápidamente se convirtió en el protocolo VPN preferido para interconectar routers MikroTik. Es más rápido que OpenVPN, más simple que IPSec, usa criptografía moderna (ChaCha20, Curve25519, BLAKE2) y funciona incluso en redes inestables.

En este tutorial, configurarás un túnel VPN WireGuard site-to-site entre dos routers MikroTik — un escenario clásico para interconectar sede con sucursal o acceso remoto a la red de un cliente.

Requisitos previos

Versión del RouterOS: usa /system resource print para verificar. Si estás en la versión 6.x, WireGuard no está disponible — es necesario actualizar a la serie 7.x.

Arquitectura del túnel

En el ejemplo de este tutorial:

Configuración paso a paso

1

Generar claves en el Router A

WireGuard usa criptografía de clave pública. Cada peer necesita un par de claves privada/pública.

# En el Router A — crear interfaz WireGuard
# El RouterOS genera automáticamente el par de claves
/interface wireguard add \
  name=wg-site \
  listen-port=13231

# Ver la clave pública generada
/interface wireguard print
# Anota el valor de "public-key" — lo necesitarás en el Router B
2

Generar claves en el Router B

# En el Router B — crear interfaz WireGuard
/interface wireguard add \
  name=wg-site \
  listen-port=13231

# Anota la clave pública del Router B también
/interface wireguard print
3

Agregar direcciones IP a las interfaces de túnel

# En el Router A
/ip address add \
  address=10.0.0.1/30 \
  interface=wg-site

# En el Router B
/ip address add \
  address=10.0.0.2/30 \
  interface=wg-site
4

Configurar los peers (intercambiar claves públicas)

Cada router necesita conocer la clave pública del otro para autenticar la conexión.

# En el Router A — agregar Router B como peer
/interface wireguard peers add \
  interface=wg-site \
  public-key="CHAVE_PUBLICA_DO_ROTEADOR_B" \
  allowed-address=10.0.0.2/32,192.168.2.0/24 \
  persistent-keepalive=25

# En el Router B — agregar Router A como peer
/interface wireguard peers add \
  interface=wg-site \
  public-key="CHAVE_PUBLICA_DO_ROTEADOR_A" \
  endpoint-address=203.0.113.1 \
  endpoint-port=13231 \
  allowed-address=10.0.0.1/32,192.168.1.0/24 \
  persistent-keepalive=25

El persistent-keepalive=25 es esencial cuando el Router B está detrás de CGNAT — mantiene el mapeo NAT activo enviando un paquete cada 25 segundos.

5

Configurar rutas para las redes remotas

# En el Router A — ruta hacia la red del Router B
/ip route add \
  dst-address=192.168.2.0/24 \
  gateway=10.0.0.2

# En el Router B — ruta hacia la red del Router A
/ip route add \
  dst-address=192.168.1.0/24 \
  gateway=10.0.0.1
6

Liberar puerto WireGuard en el firewall

# En el Router A (el que recibe conexiones)
/ip firewall filter add \
  chain=input \
  protocol=udp \
  dst-port=13231 \
  action=accept \
  comment="WireGuard VPN" \
  place-before=0

Verificar que el túnel está funcionando

# Verificar estado del peer — "last-handshake" debe aparecer
/interface wireguard peers print

# Probar conectividad por el túnel
/ping 10.0.0.2          # IP del túnel del Router B
/ping 192.168.2.1       # Gateway de la red del Router B

Si el last-handshake muestra un timestamp reciente (menos de 2 minutos) y el ping responde, el túnel está activo.

Escenario CGNAT: ambos sin IP pública

Cuando ninguno de los dos routers tiene IP pública (ambos detrás de CGNAT), la conexión directa no es posible. Las opciones son:

  1. Contratar IP fija — solución más simple, costo adicional con el operador
  2. VPS como relay — un servidor con IP pública en el medio, haciendo de concentrador
  3. DDNS + port-forwarding en el router del operador — funciona en CGNAT leve (CGN sin mapeo doble)
  4. Plataforma con relay integrado — como Mikrosinc, que provisiona automáticamente el túnel incluso en CGNAT total sin exigir VPS ni IP fija

Atención: la gran mayoría de los proveedores de internet regionales utiliza CGNAT (Carrier-Grade NAT) para ahorrar direcciones IPv4. Si tus clientes están en esa situación, el método de configuración manual descrito no funcionará sin un relay externo.

Errores comunes y cómo resolverlos

Handshake no se establece

Handshake se establece pero el ping no funciona

El túnel cae después de unos minutos

Configura WireGuard en cientos de routers en minutos

Mikrosinc automatiza toda esta configuración — genera las claves, provisiona los peers, configura las rutas y resuelve CGNAT automáticamente. Para flotas de routers, lo que lleva horas manualmente toma segundos en la plataforma.

Ver el VPN Orchestrator en acción