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

В KeeneticOS их три вида, и различаются они тем, чем задаётся назначение: адресом, списком адресов из файла или доменным именем. Третий способ появился в версии 5.0 — до неё штатной маршрутизации по именам в прошивке не было, и многие инструкции в сети до сих пор описывают мир без неё.

Три способа в одной таблице

Все три живут на одной странице: «Сетевые правила» → «Маршрутизация».

Статический маршрут Список из файла Маршрут DNS
Назначение задаётся адресом узла или сети адресами и сетями в файле доменными именами и адресами
Вкладка «IPv4-маршруты» «IPv4-маршруты», кнопка «Загрузить» «Маршруты DNS»
Версия KeeneticOS любая любая 5.0 и новее
На кого действует на все устройства на все устройства на устройства в политике по умолчанию
Слабое место адреса сервисов меняются список стареет целиком зависит от того, кого устройство спрашивает об именах

Последние две строки важнее остальных: о них спотыкаются чаще всего, и ниже про каждую отдельно.

Статический маршрут: адрес и интерфейс

На вкладке «IPv4-маршруты» в блоке пользовательских маршрутов нажмите «Добавить». В окне параметров выбирается тип — маршрут до узла, до сети или по умолчанию, — вписывается адрес назначения с маской и указывается, куда такой трафик отправлять: адрес шлюза или интерфейс. Для туннеля в поле «Интерфейс» выбирается ваше подключение WireGuard.

Два флажка в этом окне меняют поведение сильнее, чем кажется.

«Добавлять автоматически» — маршрут применяется тогда, когда доступен указанный шлюз. Для туннеля это ровно то, что нужно: подключение поднялось — маршрут появился.

«Эксклюзивный маршрут» — трафик к этому назначению может идти только через выбранный интерфейс. Если интерфейс неактивен, такой трафик не маршрутизируется вовсе. По сути это kill switch для одного адреса: упал туннель — рабочая подсеть не начнёт открываться напрямую. Флажок доступен только вместе с предыдущим.

Теперь об ограничении. Назначение здесь — только адрес. Имя сайта в окно статического маршрута не вписать: для сайта документация Keenetic предлагает узнать адрес командой nslookup и завести маршрут до него, сразу оговаривая, что адрес домена может поменяться и проверку придётся повторять. Поэтому статический маршрут хорош для назначений с постоянными адресами — офисной сети, собственного сервера, устройства за другим туннелем — и плох для публичных сайтов.

Список из файла: формат и пределы

Когда адресов десятки и сотни, вписывать их по одному бессмысленно — список загружается файлом. Формат унаследован от Windows: расширение .bat, по одной команде в строке.

route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1
route ADD 198.51.100.0 MASK 255.255.255.0 157.55.80.1 :: rem рабочая сеть

Вторая строка — с комментарием: такая запись понимается начиная с KeeneticOS 5.0, строка должна заканчиваться параметром :: rem или & rem. Кнопка «Загрузить» открывает окно, где выбирается интерфейс, для которого маршруты будут применены, — для туннеля это снова подключение WireGuard.

Что стоит знать про пределы и удобства:

  • в одном файле — до 1024 строк, это официальное ограничение;
  • общий предел числа маршрутов производитель не публикует. На форуме Keenetic разработчик прошивки называл ориентиры: около сотни на младших моделях, порядка пятисот на средних и тысячи на самых мощных;
  • с версии 5.0 кнопка «Сохранить» выгружает маршруты выбранного интерфейса обратно в bat-файл — это и резервная копия, и способ перенести список на другой роутер.

Про готовые списки из сети. Скачанный файл маршрутов — это чей-то снимок адресов на какую-то дату. Адреса сервисов меняются, а файл нет, и устаревает он молча: часть трафика начинает идти мимо туннеля, и ошибки при этом не видно нигде. Если у сервиса есть официально опубликованные диапазоны, берите их у самого сервиса и обновляйте. А для сайтов, живущих за меняющимися адресами, с версии 5.0 есть инструмент точнее.

Маршруты DNS: назначение задаётся именем

Вкладка «Маршруты DNS» появилась в KeeneticOS 5.0; на основном канале обновлений эта ветка вышла в январе 2026 года. У ряда прежних моделей основной канал остановился на ветке 4.3 — на них вкладки нет, и для таких роутеров остаются способы из двух предыдущих разделов.

Настройка состоит из двух шагов: сначала список, потом правило.

  1. На вкладке «Маршруты DNS» в блоке «Списки доменных имен» нажмите «Добавить». Задайте имя списка и перечислите домены, по одному в строке.
  2. В блоке «Правила маршрутизации» нажмите «Добавить». В окне «Параметры DNS-маршрута» выберите список и интерфейс — туннель, через который должен идти трафик к этим доменам. Флажки «Добавлять автоматически» и «Эксклюзивный маршрут» означают то же, что и у статических маршрутов.
  3. Убедитесь, что созданное правило включено.

Про список полезно знать три вещи. Поддомены учитываются автоматически — звёздочку в именах ставить не нужно, и документация прямо просит этого не делать. В тот же список можно вносить не только имена, но и IP-адреса с подсетями. А начиная с ветки 5.1 у правил появились приоритеты и стало аккуратнее поведение в момент, когда основной канал недоступен.

Механика держится на DNS: роутер сам отвечает устройствам на запросы имён и по этим ответам узнаёт, какие адреса сейчас стоят за доменами из списка. Отсюда и удобство — адреса обновляются сами, — и главная хрупкость.

Почему маршрут DNS молча не срабатывает

Документация Keenetic называет три обязательных условия, и невыполнение любого даёт одинаковую картину: правило есть, включено, а сайт открывается с домашнего адреса.

Подключение из правила должно быть в статусе «Подключено». Если туннель не поднят, маршрутизировать некуда.

Устройство должно находиться в «Политике по умолчанию». Это неочевидное ограничение: стоит перенести телефон в собственную политику на странице приоритетов подключений — и маршруты DNS для него перестают действовать.

DNS-сервером на устройстве должен быть адрес роутера. Весь механизм строится на том, что роутер видит запросы к именам. Устройство, которое спрашивает кого-то другого, остаётся для него невидимым.

Третье условие нарушается чаще всего, причём без участия человека:

  • в браузере включён защищённый DNS (DNS через HTTPS) — запрос уходит по шифрованному каналу мимо роутера. Документация советует отключить эту возможность, если маршрутизация по именам не работает;
  • шифрованный DNS включён в настройках самого телефона или компьютера — результат тот же;
  • в настройках роутера вручную прописан сторонний DNS-сервер, и устройства получают его адрес вместо адреса роутера.

После любой правки сбросьте кеш DNS на устройстве — в Windows это команда ipconfig /flushdns. Иначе устройство ещё какое-то время не будет спрашивать имя заново, и роутеру не на что будет реагировать.

Ещё две особенности описаны не в документации, а сотрудниками Keenetic на форуме:

  • IPv6. Если провайдер выдаёт IPv6, сайт может уйти по шестой версии мимо туннеля, поднятого на четвёртой. Как временное решение там называли отключение IPv6; откуда берётся сам эффект, разобрано в статье об IPv6 в туннеле.
  • Совпадение по окончанию имени. Короткая запись способна захватить чужой домен, оканчивающийся так же. Для таких случаев советуют исключение из командной строки: object-group fqdn <имя списка> exclude <домен>.

И проверять результат нужно с устройства, а не с самого роутера: по сообщениям на том же форуме, собственные запросы роутера в эту маршрутизацию не попадают.

Маршруты и политики: кто на кого действует

Здесь два правила с противоположным знаком, и их легко перепутать.

Статический маршрут общий для роутера. Он не знает, из какой политики пришёл пакет: по умолчанию маршруты автоматически попадают в каждую политику доступа и действуют на все устройства. Отключается это только из командной строки — переводом политики в автономный режим командой ip policy <имя> standalone; в веб-интерфейсе основного канала такого переключателя нет. Именно об эту общность разбиваются схемы с несколькими туннелями — разбор отдельно.

Маршрут DNS действует только в политике по умолчанию. Устройства, перенесённые в собственные политики, его не замечают.

На практике это складывается в понятное разделение труда. Устройство, которому туннель нужен целиком, — в отдельную политику. Отдельные сайты для всей остальной сети, которая по умолчанию ходит напрямую, — маршрутом DNS. Одно другому не мешает, пока вы помните, что это два разных механизма.

Что выбрать под задачу

Задача Инструмент
Телевизор или ноутбук целиком через туннель политика в приоритетах подключений
Офисная сеть, свой сервер, адреса известны и постоянны статический маршрут
Десятки и сотни адресов разом список из bat-файла
Сайт, адреса которого меняются маршрут DNS
Нужен только Telegram прокси внутри приложения, маршруты не требуются

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

Проверка вместо догадок

Добавьте в список домен любого сервиса, показывающего ваш IP-адрес, — так делает и сама документация Keenetic. Откройте его с устройства домашней сети: адрес должен быть адресом туннеля. Тут же откройте другой такой сервис, которого в списке нет: адрес должен остаться домашним. Разные ответы на двух вкладках означают, что маршрут работает.

Если оба адреса домашние, идите по списку: статус подключения, политика устройства, DNS-сервер в сведениях о сети на самом устройстве, защищённый DNS в браузере, кеш. Для точной проверки есть tracert в Windows и traceroute в Linux и macOS: первый же узел на пути покажет, в какую сторону ушёл пакет.

Коротко

Маршрут по адресу — для назначений, которые не меняются; два флажка в его окне решают, появится ли он вместе с туннелем и что будет при обрыве. Список из bat-файла — тот же маршрут, размноженный до 1024 строк на файл, и стареет он целиком. Маршруты DNS с версии 5.0 позволяют задать назначение именем, но работают только для устройств в политике по умолчанию и только пока те спрашивают имена у роутера: шифрованный DNS в браузере или на телефоне выключает правило без единого сообщения об ошибке. Статические маршруты общие для всех политик, маршруты DNS — только для одной; держать это в голове дешевле, чем разбираться потом.