← На главную

Маршруты для роутера Keenetic из BAT-файла

Keenetic умеет загружать BAT-файл в формате Windows route ADD и сам применять все маршруты к выбранному VPN-интерфейсу. NetRoute Pro генерирует именно такой файл — остаётся только скачать и загрузить через веб-интерфейс роутера.

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

Keenetic CLI (режим config):

(config)> ip route <CIDR> <VPN_IF>

Пример:

(config)> ip route 1.1.1.0/24 Wireguard0

Эквивалентная строка .bat (формат Windows route ADD — именно его генерирует NetRoute Pro и принимает Keenetic при загрузке через веб-интерфейс):

route ADD 1.1.1.0 MASK 255.255.255.0 0.0.0.0

При загрузке .bat маршруты автоматически привязываются к выбранному VPN-интерфейсу — значение gateway в каждой строке игнорируется. Для разовой работы из CLI используйте форму (config)> ip route.

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

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

  1. Откройте нужный сайт в Chrome (например, заблокированный ресурс)
  2. Нажмите на иконку NetRoute Pro в панели расширений
  3. Выберите платформу Windows — именно этот формат принимает Keenetic
  4. Шлюз можно оставить любой (например 0.0.0.0) — при импорте с привязкой к интерфейсу Keenetic его проигнорирует
  5. Задайте маску агрегации (рекомендуется /24)
  6. Нажмите Analyze Website
  7. Скачайте результат как .bat файл
Совет: включите 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. Откройте раздел Маршрутизация на Keenetic

  1. Откройте http://my.keenetic.net или IP роутера
  2. Войдите под учётной записью администратора
  3. Перейдите в Управление → Маршрутизация
  4. Выберите вкладку IPv4-маршруты

Шаг 3. Загрузите файл с привязкой к VPN-интерфейсу

  1. Нажмите кнопку Загрузить
  2. Выберите скачанный .bat файл
  3. В выпадающем списке Интерфейс выберите ваш VPN-туннель
    • Имя интерфейса зависит от вашей настройки и VPN-провайдера — у каждого оно своё
    • Если не знаете — посмотрите в разделе Интернет какой интерфейс используется для VPN
  4. Подтвердите загрузку

Готово — все маршруты из файла добавлены и привязаны к выбранному VPN-интерфейсу. Шлюзы из .bat файла Keenetic игнорирует, трафик идёт через указанный интерфейс.

Почему это удобно: не нужно вписывать маршруты вручную, не нужен SSH — загрузка файла работает даже на базовых прошивках Keenetic. 100+ маршрутов применяются за секунду.

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

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

  1. В NetRoute Pro выберите платформу WireGuard
  2. Скопируйте строку AllowedIPs
  3. В Keenetic: Интернет → WireGuard → настройки пира → вставьте список в поле Allowed IPs
  4. Сохраните

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

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

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

  1. Полностью спрятать DNS от ISP. В Интернет → Другие подключения → ваш VPN-интерфейс установите его как приоритетный для DNS, ИЛИ задайте статические DNS в Сетевые правила → Интернет-фильтры, указав внутренний резолвер вашего VPN-провайдера (например 10.0.0.1). Keenetic будет роутить DNS-запросы через туннель.
  2. Снизить видимость для ISP (публичный DoH/DoT). Keenetic нативно поддерживает DoH/DoT в Сетевые правила → Интернет-фильтры → DNS-over-HTTPS / DNS-over-TLS. Добавьте Cloudflare (1.1.1.1), AdGuard (94.140.14.140) или Quad9 (9.9.9.9) как системный резолвер.
  3. Принять leak. Поведение по умолчанию — шифруется только трафик, lookup'ы остаются у ISP.

Проверить с LAN-клиента: dnsleaktest.com — показанный резолвер должен принадлежать вашему VPN или выбранному DoH, не ISP. На самом Keenetic активные DNS-серверы видны в Системный монитор → DNS.

IPv6 dual-stack bypass

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

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

Проверка

После импорта проверьте, что маршруты применились: они появятся в списке Маршрутизация → IPv4-маршруты с привязкой к вашему VPN-интерфейсу. Но это подтверждает только что маршрут добавлен — не что трафик реально идёт через VPN. Три настоящих способа проверки с LAN-клиента:

  1. Проверить exit IP для routed-домена — IP должен принадлежать VPN-провайдеру, не ISP:
    curl -v https://example.com 2>&1 | grep "Connected to"
    # Должен показать IP из одного из ваших routed-CIDR.
  2. Проверить что интернет видит ваш IP для routed-сайта:
    curl -s https://api.ipify.org
    # Когда routed CIDR включает ipify или тест идёт через прокси на VPN exit,
    # результат отражает VPN exit IP. Сравните с реальным ISP IP.
  3. На самом роутере (через SSH/Telnet):
    show ip route                  # подтвердить CIDR'ы привязаны к VPN_IF
    show interface stat <VPN_IF>   # RX/TX байты должны расти когда LAN-клиент гуляет

tracert/traceroute ненадёжны для такой проверки: ICMP/UDP-пробы часто фильтруются, возвращают * * * на каждом хопе и не дают полезного сигнала.

Частые вопросы

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

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

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

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

Маршрут добавлен, но трафик не идёт через VPN

Для продвинутых: добавление через CLI

Если нужно автоматизировать или массово управлять маршрутами — подключайтесь по SSH/Telnet и используйте команды ip route в режиме конфигурации. Но для большинства сценариев загрузки .bat достаточно.

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

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


@echo off
REM Example .bat file for upload to Keenetic router.
REM Generated by NetRoute Pro: https://alexander2k.github.io/netroute-site/
REM
REM Format: route ADD <network> MASK <netmask> <gateway>
REM Gateway can be 0.0.0.0 — Keenetic ignores it when you bind to an interface on upload.
REM Replace these example routes with output from NetRoute Pro for your target sites.

route ADD 1.1.1.0 MASK 255.255.255.0 0.0.0.0
route ADD 8.8.8.0 MASK 255.255.255.0 0.0.0.0
route ADD 162.159.0.0 MASK 255.255.0.0 0.0.0.0

REM Upload via Keenetic web UI:
REM   System -> Routing -> Upload .bat -> select VPN interface -> confirm.

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

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

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

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

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

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