Туннель на роутере поднят, а отправить в него нужно не всю сеть и не устройство целиком, а отдельные назначения: рабочую подсеть, свой сервер, несколько сайтов. Приоритеты подключений этого не умеют — они отвечают на вопрос «какое устройство», а не «куда». На вопрос «куда» отвечают маршруты.
В 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 — на них вкладки нет, и для таких роутеров остаются способы из двух предыдущих разделов.
Настройка состоит из двух шагов: сначала список, потом правило.
- На вкладке «Маршруты DNS» в блоке «Списки доменных имен» нажмите «Добавить». Задайте имя списка и перечислите домены, по одному в строке.
- В блоке «Правила маршрутизации» нажмите «Добавить». В окне «Параметры DNS-маршрута» выберите список и интерфейс — туннель, через который должен идти трафик к этим доменам. Флажки «Добавлять автоматически» и «Эксклюзивный маршрут» означают то же, что и у статических маршрутов.
- Убедитесь, что созданное правило включено.
Про список полезно знать три вещи. Поддомены учитываются автоматически — звёздочку в именах ставить не нужно, и документация прямо просит этого не делать. В тот же список можно вносить не только имена, но и 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 — только для одной; держать это в голове дешевле, чем разбираться потом.