← На главную

Импорт маршрутов на MikroTik через .rsc скрипт

MikroTik умеет импортировать .rsc скрипты с командами маршрутизации. NetRoute Pro генерирует именно такой формат — достаточно скачать, загрузить и импортировать.

Синтаксис команды

Синтаксис:

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

Пример:

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

NetRoute Pro генерирует эти команды в .rsc-файл, который импортируется через /import file=routes.rsc в терминале роутера.

Замечания по версиям RouterOS: Примеры ниже рассчитаны на относительно свежую RouterOS — команды могут потребовать корректировки под вашу версию.

Что понадобится

Шаг 1. Сгенерируйте .rsc в NetRoute Pro

  1. Откройте нужный сайт в Chrome
  2. Запустите расширение NetRoute Pro
  3. Выберите платформу MikroTik
  4. Укажите шлюз как имя VPN-интерфейса (например wg-out, ovpn-out, l2tp-out1) — рекомендуемая форма. Имя интерфейса работает независимо от того как VPN-провайдер раздаёт peer IP. Указание IP-адреса (10.0.0.1) сработает только если этот IP «directly reachable»; для типичных коммерческих WireGuard-настроек (Mullvad, ProtonVPN, IVPN) peer назначается как /32 и форма с IP вернёт gateway not directly reachable.
  5. Маска агрегации /24 (рекомендуется)
  6. Нажмите Analyze Website
  7. Скачайте результат как .rsc файл
Совет: включите RIPE BGP оптимизацию в расширении — она заменит отдельные IP на реальные BGP-префиксы провайдера. Это даст стабильные маршруты, которые не ломаются при ротации IP у Cloudflare/Fastly. Важно: RIPE BGP возвращает все префиксы анонсируемые ASN — для multi-tenant CDN (Cloudflare AS13335, AWS AS16509, DigitalOcean AS14061) это десятки тысяч IP, покрывающих несвязанные сайты. BGP-оптимизация подходит для single-tenant ASN; для shared CDN оставьте обычную /24 CIDR-агрегацию.

Шаг 2. Загрузите файл на MikroTik

Есть два удобных способа:

Шаг 3. Импортируйте в терминале

Откройте терминал MikroTik (через WinBox → New Terminal или по SSH) и выполните:

/import file-name=routes.rsc

RouterOS выведет прогресс импорта. Все команды из файла будут применены — маршруты появятся в /ip route.

Пример содержимого .rsc:

/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

Замените wg-out на реальное имя вашего VPN-интерфейса (видно в выводе /interface print).

Почему это удобно: один файл — сотни маршрутов одним махом, без ручного ввода и без GUI. Повторный импорт обновит конфигурацию.

Альтернатива: Address Lists + правила маршрутизации

Для более гибкой маршрутизации — подход через address-list:

  1. Отредактируйте .rsc, чтобы вместо /ip route add использовать
    /ip firewall address-list add list=vpn-routes address=X.X.X.X/24
  2. Импортируйте как обычно: /import file-name=routes.rsc
  3. Добавьте правило маршрутизации, которое отправит трафик через VPN:
    /ip route rule add src-address-list=vpn-routes action=lookup table=vpn
    /ip route rule add dst-address-list=vpn-routes action=lookup table=vpn

Так список легко переиспользовать — например, в правилах firewall или mangle для маркировки пакетов.

Альтернатива: WireGuard AllowedIPs

Если используете WireGuard, можно обойтись без статических маршрутов и задать подсети прямо в параметре AllowedIPs пира:

  1. В NetRoute Pro выберите платформу WireGuard
  2. Скопируйте строку AllowedIPs
  3. В MikroTik выполните:
    /interface/wireguard/peers/set [find] allowed-address=...

DNS leak — обязательно прочитать

Статические маршруты на RouterOS направляют трафик по IP. DNS они не направляют. LAN-клиент всё равно спрашивает DNS-сервис роутера (по умолчанию форвардит на ISP), какой IP у example.com — через VPN идёт только IP-трафик. ISP видит какие сайты посещаются, даже если данные зашифрованы.

Три варианта в зависимости от модели угроз:

  1. Полностью спрятать DNS от ISP (split-DNS). Заставьте DNS-сервис роутера использовать внутренний резолвер вашего VPN-провайдера:
    /ip dns set servers=10.0.0.1 allow-remote-requests=yes
    Для конкретных доменов через VPN-резолвер используйте статические DNS-правила:
    /ip dns static add type=FWD name=example.com forward-to=10.0.0.1
  2. Снизить видимость для ISP (DoH). RouterOS 7+ нативно поддерживает DoH:
    /ip dns set use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yes
    Замените на AdGuard (https://dns.adguard-dns.com/dns-query) или Quad9 (https://dns.quad9.net/dns-query) при желании. RouterOS 6 не имеет нативного DoH — либо обновляйтесь, либо принимайте leak.
  3. Принять leak. Поведение по умолчанию — шифруется только трафик.

Проверить с LAN-клиента: dnsleaktest.com. На роутере состояние DNS видно через /ip dns print, кеш — /ip dns cache print.

IPv6 dual-stack bypass

/ip route — только для IPv4. RouterOS управляет IPv6 через /ipv6/route. Если у destination есть AAAA-запись (а у большинства современных сайтов есть), LAN-клиенты предпочитают IPv6 и запрос идёт через дефолтный IPv6-маршрут ISP, минуя VPN.

Два варианта решения:

Проверка

Убедитесь, что маршруты применились:

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

С клиента в LAN проверьте, что трафик идёт через VPN:

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

Первые хопы должны идти через ваш VPN-шлюз.

Частые проблемы

Ошибка синтаксиса при импорте

Проверьте, что .rsc скачался полностью и не содержит HTML. Откройте его в любом текстовом редакторе — должны быть команды /ip route add ..., одна на строку.

Маршруты есть, но трафик не идёт

IP ротируется — маршрут не работает

CDN вроде Cloudflare и Fastly периодически меняют IP. Пересоздайте .rsc в NetRoute Pro с включённой RIPE BGP оптимизацией — подставятся BGP-префиксы провайдера.

Слишком много маршрутов

MikroTik без проблем держит тысячи статических маршрутов. Если нужно покрыть действительно большие объёмы — используйте WireGuard с соответствующими AllowedIPs.

Для продвинутых: BGP

Для больших масштабов можно настроить BGP-пиринг и получать маршруты динамически от внешнего источника. Для большинства сценариев этого не требуется — импорт .rsc покрывает задачу целиком.

Пример конфигурационного файла

Готовый шаблон с комментариями. Замените примеры маршрутов выводом NetRoute Pro для ваших сайтов.


# 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

Подсказка: Нужен конфиг без строк-комментариев? В настройках NetRoute Pro снимите галочку «Включать комментарии в экспортируемые файлы» — расширение выгрузит только команды маршрутизации. Полезно для роутеров, которые не принимают комментарии.

Все примеры конфигов на GitHub →

Официальная документация

Готовы попробовать?

NetRoute Pro — бесплатное расширение Chrome для генерации маршрутов из любого сайта.

Установить расширение