Импорт маршрутов на 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 7+: нативная поддержка WireGuard; policy routing через
/routing rule(старый/ip route ruleещё парсится, но устарел). - RouterOS 6.x: нативного WireGuard нет — используйте OpenVPN/IPsec или сторонний контейнер. Policy routing через
/ip route rule.
Что понадобится
- Роутер MikroTik с RouterOS 6.x или 7.x
- Настроенный VPN-туннель (WireGuard, OpenVPN, IKEv2, L2TP и т.д.)
- Расширение NetRoute Pro в Chrome
- Доступ через WinBox, WebFig или SSH
Шаг 1. Сгенерируйте .rsc в NetRoute Pro
- Откройте нужный сайт в Chrome
- Запустите расширение NetRoute Pro
- Выберите платформу MikroTik
- Укажите шлюз как имя 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. - Маска агрегации
/24(рекомендуется) - Нажмите Analyze Website
- Скачайте результат как .rsc файл
Шаг 2. Загрузите файл на MikroTik
Есть два удобных способа:
- WinBox / WebFig: откройте раздел Files и перетащите
.rscв окно - SCP: из терминала вашего компьютера выполните
scp routes.rsc admin@192.168.88.1:/
Шаг 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).
Альтернатива: Address Lists + правила маршрутизации
Для более гибкой маршрутизации — подход через address-list:
- Отредактируйте
.rsc, чтобы вместо/ip route addиспользовать/ip firewall address-list add list=vpn-routes address=X.X.X.X/24 - Импортируйте как обычно:
/import file-name=routes.rsc - Добавьте правило маршрутизации, которое отправит трафик через 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 пира:
- В NetRoute Pro выберите платформу WireGuard
- Скопируйте строку
AllowedIPs - В MikroTik выполните:
/interface/wireguard/peers/set [find] allowed-address=...
DNS leak — обязательно прочитать
Статические маршруты на RouterOS направляют трафик по IP. DNS они не направляют. LAN-клиент всё равно спрашивает DNS-сервис роутера (по умолчанию форвардит на ISP), какой IP у example.com — через VPN идёт только IP-трафик. ISP видит какие сайты посещаются, даже если данные зашифрованы.
Три варианта в зависимости от модели угроз:
- Полностью спрятать DNS от ISP (split-DNS). Заставьте DNS-сервис роутера использовать внутренний резолвер вашего VPN-провайдера:
Для конкретных доменов через VPN-резолвер используйте статические DNS-правила:/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 - Снизить видимость для ISP (DoH). RouterOS 7+ нативно поддерживает DoH:
Замените на AdGuard (/ip dns set use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yeshttps://dns.adguard-dns.com/dns-query) или Quad9 (https://dns.quad9.net/dns-query) при желании. RouterOS 6 не имеет нативного DoH — либо обновляйтесь, либо принимайте leak. - Принять 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.
Два варианта решения:
- Зеркалировать маршруты для v6 (если у вашего VPN есть IPv6-endpoint):
/ipv6/route add dst-address=2606:4700::/32 gateway=wg-out /ipv6/route add dst-address=2001:4860::/32 gateway=wg-out - Отключить IPv6-форвардинг если у VPN нет v6:
Или заблокировать через/ipv6/settings set forward=no/ipv6/firewall. Иначе IPv6-трафик к dual-stack destination'ам пройдёт мимо 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 ..., одна на строку.
Маршруты есть, но трафик не идёт
- Проверьте настройки NAT/masquerade на VPN-интерфейсе:
/ip firewall nat print - Убедитесь, что ваш VPN-интерфейс активен (
/interface print) - Проверьте, что шлюз в маршрутах указывает на рабочий VPN-туннель
IP ротируется — маршрут не работает
CDN вроде Cloudflare и Fastly периодически меняют IP. Пересоздайте .rsc в NetRoute Pro с включённой RIPE BGP оптимизацией — подставятся BGP-префиксы провайдера.
Слишком много маршрутов
MikroTik без проблем держит тысячи статических маршрутов. Если нужно покрыть действительно большие объёмы — используйте WireGuard с соответствующими AllowedIPs.
Для продвинутых: BGP
Для больших масштабов можно настроить BGP-пиринг и получать маршруты динамически от внешнего источника. Для большинства сценариев этого не требуется — импорт .rsc покрывает задачу целиком.
Пример конфигурационного файла
Готовый шаблон с комментариями. Замените примеры маршрутов выводом NetRoute Pro для ваших сайтов.
mikrotik-routes.rsc— RouterOS-скрипт/importс определениями маршрутов
# 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 →
Официальная документация
Похожие инструкции
- Keenetic — маршруты из BAT-файла
- WireGuard — split tunneling через
AllowedIPs - Linux —
ip routeчерез shell-скрипт - OpenVPN — директивы
routeв клиентском конфиге
Готовы попробовать?
NetRoute Pro — бесплатное расширение Chrome для генерации маршрутов из любого сайта.
Установить расширение