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.
- RouterOS 7+: WireGuard nativo disponible; el ruteo por políticas usa
/routing rule(el/ip route rulede v6 sigue parseándose pero está deprecado). - RouterOS 6.x: sin WireGuard nativo — usa OpenVPN/IPsec o un contenedor de terceros. Ruteo por políticas con
/ip route rule.
Requisitos previos
- Router MikroTik con RouterOS 6.x o 7.x
- Túnel VPN configurado (WireGuard, OpenVPN, IKEv2, etc.)
- Extensión NetRoute Pro instalada en Chrome
- Acceso al router vía WinBox, WebFig o SSH
Paso 1. Genera .rsc en NetRoute Pro
- Abre el sitio objetivo en Chrome
- Lanza la extensión NetRoute Pro
- Selecciona la plataforma MikroTik
- 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/32y la forma con IP fallará congateway not directly reachable. - Elige máscara de agregación
/24(recomendado) - Haz clic en Analyze Website
- Descarga el archivo
.rscgenerado
Paso 2. Sube el archivo a MikroTik
Tienes dos formas principales:
- WinBox / WebFig: abre la sección Files y arrastra el archivo
.rscdirectamente a la lista de archivos - SCP desde tu máquina local:
scp routes.rsc admin@192.168.88.1:/
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).
/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:
- Edita el
.rscy cambia las líneas/ip route addpor:/ip firewall address-list add list=vpn-routes address=104.21.32.0/24 - 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 - Asegúrate de tener una ruta por defecto en la tabla
vpnque 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:
- En NetRoute Pro selecciona la plataforma WireGuard
- Copia el valor de
AllowedIPs - 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:
- Ocultar DNS del ISP totalmente (split-DNS). Fuerza al servicio DNS del router a usar el resolver interno de tu proveedor VPN:
Para dominios concretos vía resolver de la VPN, usa reglas DNS estáticas:/ip dns set servers=10.0.0.1 allow-remote-requests=yes/ip dns static add type=FWD name=example.com forward-to=10.0.0.1 - Reducir visibilidad para el ISP (DoH). RouterOS 7+ soporta DoH nativamente:
Sustituye por AdGuard (/ip dns set use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yeshttps://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. - 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:
- Replica las rutas para v6 (si tu VPN tiene endpoint IPv6):
/ipv6/route add dst-address=2606:4700::/32 gateway=wg-out /ipv6/route add dst-address=2001:4860::/32 gateway=wg-out - Deshabilita el forwarding IPv6 si tu VPN no tiene v6:
O bloquea v6 en/ipv6/settings set forward=no/ipv6/firewall. De lo contrario el tráfico IPv6 a destinos dual-stack salta la VPN.
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
- Comprueba que la interfaz VPN está activa
- Revisa que NAT/masquerade está configurado en la interfaz VPN
- Confirma que el
gatewaydel.rsccoincide con la IP real del extremo remoto del túnel
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.
mikrotik-routes.rsc— Script/importde RouterOS con definiciones de rutas
# 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
Guías relacionadas
- Keenetic — rutas desde archivo
.bat - WireGuard — split tunneling con
AllowedIPs - Linux —
ip routecon script shell - OpenVPN — directivas
routeen config cliente
¿Listo para probar?
NetRoute Pro — extensión gratuita de Chrome para generar rutas desde cualquier sitio web.
Instalar extensión