← Volver al inicio

Importar rutas en MikroTik mediante script .rsc

MikroTik puede importar scripts .rsc que contienen comandos de enrutamiento. NetRoute Pro genera exactamente ese formato — solo tienes que descargar, subir e importar.

Sintaxis del comando

Sintaxis:

/ip route add dst-address=<CIDR> gateway=<GATEWAY> distance=1

Ejemplo:

/ip route add dst-address=1.1.1.0/24 gateway=wg-out distance=1

NetRoute Pro genera estos comandos como archivo .rsc importado mediante /import file=routes.rsc en el terminal.

Notas sobre versiones de RouterOS: Los ejemplos siguientes asumen una RouterOS razonablemente reciente — ajusta los comandos a tu versión si es necesario.

Requisitos previos

Paso 1. Genera .rsc en NetRoute Pro

  1. Abre el sitio objetivo en Chrome
  2. Lanza la extensión NetRoute Pro
  3. Selecciona la plataforma MikroTik
  4. En el campo gateway, indica el nombre de la interfaz VPN (por ejemplo wg-out, ovpn-out, l2tp-out1) — forma recomendada. La forma con nombre de interfaz funciona independientemente de cómo el proveedor VPN asigne la IP del peer. Usar una IP gateway (10.0.0.1) sólo funciona si esa IP es “directly reachable”; para configuraciones WireGuard comerciales típicas (Mullvad, ProtonVPN, IVPN) el peer se asigna como /32 y la forma con IP fallará con gateway not directly reachable.
  5. Elige máscara de agregación /24 (recomendado)
  6. Haz clic en Analyze Website
  7. Descarga el archivo .rsc generado
Consejo: activa optimización RIPE BGP en la extensión para sustituir IPs individuales con prefijos BGP anunciados reales. Esto da rutas estables frente a rotaciones de IPs de Cloudflare/Fastly. Importante: RIPE BGP devuelve todos los prefijos anunciados por el AS — para CDN multi-tenant (Cloudflare AS13335, AWS AS16509, DigitalOcean AS14061) son decenas de miles de IPs cubriendo sitios sin relación. Usa optimización BGP para AS single-tenant; mantén /24 CIDR para CDN compartidos.

Paso 2. Sube el archivo a MikroTik

Tienes dos formas principales:

Paso 3. Importa en terminal

Abre una terminal (WinBox → New Terminal, WebFig → Terminal, o vía SSH) y ejecuta:

/import file-name=routes.rsc

RouterOS procesa el archivo línea a línea y añade cada ruta al sistema.

Ejemplo del contenido de un .rsc generado:

/ip route add dst-address=104.21.32.0/24 gateway=wg-out
/ip route add dst-address=172.67.182.0/24 gateway=wg-out

Sustituye wg-out por el nombre real de tu interfaz VPN (visible en /interface print).

Por qué esto es cómodo: sin entrada manual de cientos de rutas — /import aplica todo en segundos. Puedes regenerar el archivo cuando cambien las IPs y reimportarlo.

Alternativa: Address Lists + reglas de enrutamiento

Si prefieres políticas de enrutamiento en vez de rutas estáticas directas, puedes adaptar el script para rellenar una address list y enrutar mediante reglas:

  1. Edita el .rsc y cambia las líneas /ip route add por:
    /ip firewall address-list add list=vpn-routes address=104.21.32.0/24
  2. Añade una regla que envíe el tráfico hacia una tabla de enrutamiento dedicada:
    /ip route rule add src-address-list=vpn-routes action=lookup table=vpn
  3. Asegúrate de tener una ruta por defecto en la tabla vpn que apunte a tu interfaz VPN

Alternativa para WireGuard: AllowedIPs

Si tu VPN es WireGuard, puedes omitir las rutas estáticas y configurar las subredes directamente en el peer:

  1. En NetRoute Pro selecciona la plataforma WireGuard
  2. Copia el valor de AllowedIPs
  3. En MikroTik aplica:
    /interface/wireguard/peers/set [find] allowed-address=104.21.32.0/24,172.67.182.0/24

DNS leak — lectura obligatoria

Las rutas estáticas en RouterOS reenvían tráfico por IP. No enrutan DNS. Un cliente LAN sigue preguntando al servicio DNS del router (que por defecto reenvía al ISP) por example.com — sólo el tráfico IP resultante pasa por la VPN. El ISP ve qué sitios se visitan aunque los datos estén cifrados.

Tres opciones, según el modelo de amenazas:

  1. Ocultar DNS del ISP totalmente (split-DNS). Fuerza al servicio DNS del router a usar el resolver interno de tu proveedor VPN:
    /ip dns set servers=10.0.0.1 allow-remote-requests=yes
    Para dominios concretos vía resolver de la VPN, usa reglas DNS estáticas:
    /ip dns static add type=FWD name=example.com forward-to=10.0.0.1
  2. Reducir visibilidad para el ISP (DoH). RouterOS 7+ soporta DoH nativamente:
    /ip dns set use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yes
    Sustituye por AdGuard (https://dns.adguard-dns.com/dns-query) o Quad9 (https://dns.quad9.net/dns-query) si lo prefieres. RouterOS 6 no tiene DoH nativo — o actualizas, o aceptas la fuga.
  3. Aceptar la fuga. Comportamiento por defecto — sólo se cifra el tráfico.

Verifica desde un cliente LAN en dnsleaktest.com. En el router, el estado de DNS se ve con /ip dns print, la caché con /ip dns cache print.

Fuga por IPv6 dual-stack

/ip route es sólo IPv4. RouterOS gestiona IPv6 vía /ipv6/route. Si un destino tiene registro AAAA (la mayoría de sitios modernos lo tienen), los clientes LAN prefieren IPv6 y la solicitud va por la ruta IPv6 por defecto del ISP — eludiendo la VPN.

Dos soluciones:

Verificar

Comprueba que las rutas están activas:

/ip route print where dst-address~"104.21"

Desde un cliente en la LAN verifica que el tráfico va por la VPN:

tracert example.com     # Windows
traceroute example.com  # Linux/macOS

Los primeros saltos deben salir por la IP de tu gateway VPN.

Problemas comunes

Error de sintaxis al importar

Verifica que el .rsc se descargó completo y no contiene HTML al inicio (a veces ocurre si el navegador abre el archivo en lugar de descargarlo). Abre el archivo en un editor de texto plano y comprueba que empieza con /ip route add.

Rutas añadidas pero el tráfico no va por VPN

Las IPs del sitio cambian constantemente

CDNs rotan IPs con frecuencia. Regenera el .rsc con optimización RIPE BGP activada — usa prefijos anunciados en BGP que cubren todo el rango del proveedor.

Demasiadas rutas

MikroTik maneja miles de rutas estáticas sin problemas. Si llegas a decenas de miles, considera el enfoque WireGuard AllowedIPs o reduce la lista con agregación BGP.

Para usuarios avanzados: BGP

A gran escala, en lugar de importar listas estáticas, puedes configurar BGP peering con un servidor de rutas y recibir prefijos dinámicamente. Queda fuera del alcance de esta guía, pero es el siguiente paso natural cuando las listas estáticas dejan de escalar.

Archivo de configuración de ejemplo

Plantilla lista para editar con comentarios. Reemplaza las rutas de ejemplo con la salida de NetRoute Pro para tus sitios.


# Example .rsc file for /import on MikroTik RouterOS.
# Generated by NetRoute Pro: https://alexander2k.github.io/netroute-site/
#
# Format: /ip route add dst-address=<CIDR> gateway=<INTERFACE_OR_IP> distance=<METRIC>
# Adjust gateway= to your VPN interface name (e.g. wg-out, ovpn-out, l2tp-out)
# or to the gateway IP if your VPN provides one.

/ip route
add dst-address=1.1.1.0/24 gateway=wg-out distance=1
add dst-address=8.8.8.0/24 gateway=wg-out distance=1
add dst-address=162.159.0.0/16 gateway=wg-out distance=1

# Import:
#   Upload this file to the router (Files menu), then run in terminal:
#   /import file=routes.rsc

Consejo: ¿Necesitas un config sin estas líneas de comentarios? En las opciones de NetRoute Pro desactiva «Incluir comentarios en archivos exportados» — la extensión exportará solo los comandos de rutas. Útil para routers que no toleran comentarios.

Ver todos los ejemplos en GitHub →

Documentación oficial

¿Listo para probar?

NetRoute Pro — extensión gratuita de Chrome para generar rutas desde cualquier sitio web.

Instalar extensión